From ba19a8e1fdbd9818687a850e596bca824856d6e7 Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期三, 13 十一月 2024 11:29:31 +0800 Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0 --- WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Cancel.svg | 12 Service/HStation.Service.Equivalent.Core/05-service/00-core/01-dal/DALCreateHelper.cs | 23 WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/SizeMin32.png | 0 Service/HStation.Service.PBS.Core/00-core/DataType.cs | 24 BLL/HStation.BLL.Equivalent.Core/00-core/Mapper.cs | 27 BLL/HStation.BLL.PBS.Core/HStation.BLL.PBS.Core.csproj | 44 Service/HStation.Service.PBS.Core/03-settings/01-paras/01-database/Paras_PBS_DataBase_Factory.cs | 18 WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Square32.png | 0 Desktop/HStation.Desktop.PBS.Core/Properties/PublishProfiles/FolderProfile.pubxml | 13 BLL/HStation.BLL.PBS.Core/GlobalUsings.cs | 4 Desktop/HStation.Desktop.PBS.Core/DbFirstHelper.cs | 18 Service/HStation.Service.Equivalent.Core/00-core/DbType.cs | 18 Desktop/HStation.Desktop.PBS.Core/HStation.Desktop.PBS.Core.user | 17 Service/HStation.Service.Equivalent.Core/00-core/DataType.cs | 11 Dto/HStation.Dto.PBS.Core/Properties/PublishProfiles/FolderProfile.pubxml | 13 Service/HStation.Service.Equivalent.Core/03-settings/01-paras/01-database/Paras_Equivalent_DataBase_SQLite.cs | 13 WinFrmUI/HStation.WinFrmUI.PBS.Core/Properties/Resources.resx | 148 + Dto/HStation.Dto.Equivalent.Core/GlobalUsings.cs | 1 Service/HStation.Service.Equivalent.Core/03-settings/01-paras/02-cal/Paras_Equivalent_CAL.cs | 27 BLL/HStation.BLL.Equivalent.Core/01-interface/09-dbfirst/IXhsDbFirstHelper.cs | 15 Desktop/HStation.Desktop.PBS.Core/HStation.Desktop.PBS.Core.csproj | 42 WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Remove.svg | 12 BLL/HStation.BLL.Equivalent.Core/GlobalUsings.cs | 4 Dto/HStation.Dto.Equivalent.Core/Properties/PublishProfiles/FolderProfile.pubxml | 13 Service/HStation.Service.PBS.Core/HStation.Service.PBS.Core.csproj | 25 Desktop/HStation.Desktop.PBS.Core/Properties/Resources.Designer.cs | 83 Service/HStation.Service.PBS.Core/03-settings/01-paras/03-file/Paras_PBS_File.cs | 19 BLL/HStation.BLL.Equivalent.Core/04-bll/00-core/CALCreateHelper.cs | 22 Desktop/HStation.Desktop.PBS.Core/Resources/loginbg.png | 0 Service/HStation.Service.Equivalent.Core/05-service/00-core/02-cache/CacheHelper.cs | 36 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/04-scheme/01-add/AddXhsSchemeDlg.cs | 4 WinFrmUI/HStation.WinFrmUI.Equivalent.Core/Properties/Resources.resx | 120 + WinFrmUI/HStation.WinFrmUI.Equivalent.Core/Resources/Min32.png | 0 BLL/HStation.BLL.PBS.Core/04-bll/00-core/CALCreateHelper.cs | 22 Dto/HStation.Dto.PBS.Core/GlobalUsings.cs | 1 Desktop/HStation.Desktop.PBS.Core/MainForm.Designer.cs | 479 ++++ WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/SizeNormal32.png | 0 Service/HStation.Service.Equivalent.Core/00-core/ConfigHelper.cs | 93 WinFrmUI/HStation.WinFrmUI.PBS.Core/GlobalUsings.cs | 1 Vmo/HStation.Vmo.PBS.Core/GlobalUsings.cs | 1 Vmo/HStation.Vmo.PBS.Core/HStation.Vmo.PBS.Core.csproj | 14 Dto/HStation.Dto.PBS.Core/HStation.Dto.PBS.Core.csproj | 15 WinFrmUI/HStation.WinFrmUI.PBS.Core/HStation.WinFrmUI.PBS.Core.csproj | 64 Desktop/HStation.Desktop.PBS.Core/Login/LoginFrm.cs | 136 + Dto/HStation.Dto.Equivalent.Core/Properties/PublishProfiles/FolderProfile.pubxml.user | 10 Service/HStation.Service.Equivalent.Core/paras_equivalent_settings.json | 35 Desktop/HStation.Desktop.PBS.Core/Login/LoginFrm.Designer.cs | 502 ++++ Service/HStation.Service.PBS.Core/paras_pbs_settings.json | 35 BLL/HStation.BLL.PBS.Core/03-localclient/09-dbfirst/XhsDbFirstHelper.cs | 25 Desktop/HStation.Desktop.PBS.Core/Program.cs | 110 Dto/HStation.Dto.PBS.Core/Properties/PublishProfiles/FolderProfile.pubxml.user | 10 Service/HStation.Service.Equivalent.Core/03-settings/01-paras/00-core/EquivalentParas.cs | 13 Service/HStation.Service.PBS.Core/00-core/Flags.cs | 19 Service/HStation.Service.Equivalent.Core/03-settings/00-core/EquivalentFileHelper.cs | 64 Service/HStation.Service.PBS.Core/00-core/MemoryCacheKey.cs | 26 HStation.Xhs.Core.sln | 231 + Desktop/HStation.Desktop.PBS.Core/Properties/Resources.resx | 127 + Service/HStation.Service.Equivalent.Core/03-settings/01-paras/02-cal/Paras_Equivalent_CAL_HttpClient.cs | 13 BLL/HStation.BLL.PBS.Core/00-core/Mapper.cs | 27 Vmo/HStation.Vmo.Equivalent.Core/HStation.Vmo.Equivalent.Core.csproj | 15 Vmo/HStation.Vmo.Equivalent.Core/GlobalUsings.cs | 1 Service/HStation.Service.Equivalent.Core/03-settings/01-paras/00-core/Paras_Equivalent.cs | 31 Desktop/HStation.Desktop.PBS.Core/Login/LoginHelper.cs | 25 Service/HStation.Service.PBS.Core/03-settings/01-paras/00-core/Paras_PBS.cs | 31 WinFrmUI/HStation.WinFrmUI.Equivalent.Core/HStation.WinFrmUI.Equivalent.Core.csproj | 54 BLL/HStation.BLL.Equivalent.Core/04-bll/09-dbfirst/XhsDbFirstHelper.cs | 15 Service/HStation.Service.Equivalent.Core/HStation.Service.Equivalent.Core.csproj | 23 Desktop/HStation.Desktop.PBS.Core/Hstation.ico | 0 Dto/HStation.Dto.Equivalent.Core/00-core/Extensions.cs | 12 WinFrmUI/HStation.WinFrmUI.Equivalent.Core/Properties/Resources.Designer.cs | 63 Dto/HStation.Dto.PBS.Core/00-core/Extensions.cs | 12 WinFrmUI/HStation.WinFrmUI.PBS.Core/Properties/Resources.Designer.cs | 153 + Service/HStation.Service.PBS.Core/GlobalUsings.cs | 11 Service/HStation.Service.PBS.Core/03-settings/00-core/PBSFileHelper.cs | 64 Desktop/HStation.Desktop.PBS.Core/HStation.Desktop.PBS.Core.csproj.user | 12 WinFrmUI/HStation.WinFrmUI.Equivalent.Core/App.config | 3 BLL/HStation.BLL.Equivalent.Core/03-localclient/09-dbfirst/XhsDbFirstHelper.cs | 25 WinFrmUI/HStation.WinFrmUI.Equivalent.Core/HStation.WinFrmUI.Equivalent.Core.user | 254 ++ WinFrmUI/HStation.WinFrmUI.Equivalent.Core/Resources/Pump32.png | 0 Service/HStation.Service.Equivalent.Core/03-settings/00-core/EquivalentParasHelper.cs | 27 Service/HStation.Service.Equivalent.Core/GlobalUsings.cs | 5 Desktop/HStation.Desktop.PBS.Core/MainForm.cs | 1057 +++++++++ BLL/HStation.BLL.PBS.Core/02-httpclient/09-dbfirst/XhsDbFirstHelper.cs | 24 Service/HStation.Service.Equivalent.Core/03-settings/01-paras/01-database/Paras_Equivalent_DataBase_PostgreSql.cs | 13 Service/HStation.Service.PBS.Core/03-settings/01-paras/01-database/Paras_PBS_DataBase_PostgreSql.cs | 13 WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Close32.png | 0 Desktop/HStation.Desktop.PBS.Core/Login/eLoginStatus.cs | 18 Service/HStation.Service.PBS.Core/03-settings/01-paras/02-cal/Paras_PBS_CAL_HttpClient.cs | 13 WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/IncomingCall.svg | 12 Desktop/HStation.Desktop.PBS.Core/Properties/PublishProfiles/FolderProfile.pubxml.user | 10 Service/HStation.Service.PBS.Core/03-settings/01-paras/00-core/PBSParas.cs | 13 WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/SizeMax32.png | 0 WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/MapLayers.svg | 12 Service/HStation.Service.Equivalent.Core/03-settings/01-paras/01-database/Paras_Equivalent_DataBase.cs | 31 WinFrmUI/HStation.WinFrmUI.PBS.Core/HStation.WinFrmUI.PBS.Core.csproj.user | 5 Service/HStation.Service.PBS.Core/05-service/00-core/03-helper/DbFirstHelper.cs | 69 Desktop/HStation.Desktop.PBS.Core/app.manifest | 79 BLL/HStation.BLL.Equivalent.Core/00-core/ConfigHelper.cs | 13 Service/HStation.Service.PBS.Core/03-settings/01-paras/02-cal/Paras_PBS_CAL_LocalClient.cs | 10 Service/HStation.Service.Equivalent.Core/03-settings/01-paras/03-file/Paras_Equivalent_File.cs | 19 Service/HStation.Service.PBS.Core/03-settings/01-paras/02-cal/Paras_PBS_CAL.cs | 27 WinFrmUI/HStation.WinFrmUI.Equivalent.Core/GlobalUsings.cs | 1 Service/HStation.Service.PBS.Core/05-service/00-core/02-cache/CacheHelper.cs | 34 WinFrmUI/HStation.WinFrmUI.Equivalent.Core/Resources/SizeMax32.png | 0 WinFrmUI/HStation.WinFrmUI.PBS.Core/App.config | 3 Desktop/HStation.Desktop.PBS.Core/Login/LoginFrm.resx | 120 + BLL/HStation.BLL.PBS.Core/04-bll/09-dbfirst/XhsDbFirstHelper.cs | 15 Desktop/HStation.Desktop.PBS.Core/Login/UserLoginSettings.cs | 42 Desktop/HStation.Desktop.PBS.Core/App.config | 48 Service/HStation.Service.Equivalent.Core/05-service/00-core/03-helper/DbFirstHelper.cs | 69 WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Pump32.png | 0 WinFrmUI/HStation.WinFrmUI.PBS.Core/HStation.WinFrmUI.PBS.Core.user | 254 ++ Desktop/HStation.Desktop.PBS.Core/Resources/app.ico | 0 BLL/HStation.BLL.Equivalent.Core/02-httpclient/09-dbfirst/XhsDbFirstHelper.cs | 24 Service/HStation.Service.PBS.Core/03-settings/00-core/PBSParasHelper.cs | 27 WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Folder.svg | 12 WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Min32.png | 0 Service/HStation.Service.PBS.Core/00-core/DbType.cs | 18 Service/HStation.Service.PBS.Core/03-settings/01-paras/01-database/Paras_PBS_DataBase.cs | 31 Service/HStation.Service.Equivalent.Core/03-settings/01-paras/02-cal/Paras_Equivalent_CAL_LocalClient.cs | 10 BLL/HStation.BLL.Equivalent.Core/HStation.BLL.Equivalent.Core.csproj | 44 Dto/HStation.Dto.Equivalent.Core/HStation.Dto.Equivalent.Core.csproj | 15 BLL/HStation.BLL.PBS.Core/01-interface/09-dbfirst/IXhsDbFirstHelper.cs | 15 Desktop/HStation.Desktop.PBS.Core/MainForm.resx | 812 ++++++ BLL/HStation.BLL.PBS.Core/00-core/ConfigHelper.cs | 13 Service/HStation.Service.PBS.Core/03-settings/01-paras/01-database/Paras_PBS_DataBase_SQLite.cs | 13 Service/HStation.Service.Equivalent.Core/00-core/Flags.cs | 19 Service/HStation.Service.Equivalent.Core/00-core/MemoryCacheKey.cs | 26 Service/HStation.Service.Equivalent.Core/03-settings/01-paras/01-database/Paras_Equivalent_DataBase_Factory.cs | 18 Service/HStation.Service.PBS.Core/00-core/ConfigHelper.cs | 93 Service/HStation.Service.PBS.Core/05-service/00-core/01-dal/DALCreateHelper.cs | 23 131 files changed, 6,970 insertions(+), 2 deletions(-) diff --git a/BLL/HStation.BLL.Equivalent.Core/00-core/ConfigHelper.cs b/BLL/HStation.BLL.Equivalent.Core/00-core/ConfigHelper.cs new file mode 100644 index 0000000..fb0da8a --- /dev/null +++ b/BLL/HStation.BLL.Equivalent.Core/00-core/ConfigHelper.cs @@ -0,0 +1,13 @@ +锘縩amespace HStation.BLL.Equivalent +{ + internal class ConfigHelper + { + /// <summary> + /// + /// </summary> + public static string HttpUrl + { + get { return Settings.EquivalentParasHelper.Equivalent.CAL.HttpClient.HttpUrl; } + } + } +} diff --git a/BLL/HStation.BLL.Equivalent.Core/00-core/Mapper.cs b/BLL/HStation.BLL.Equivalent.Core/00-core/Mapper.cs new file mode 100644 index 0000000..a690036 --- /dev/null +++ b/BLL/HStation.BLL.Equivalent.Core/00-core/Mapper.cs @@ -0,0 +1,27 @@ +锘縩amespace HStation.BLL.Equivalent +{ + /// <summary> + /// + /// </summary> + public class Mapper : IRegister + { + /// <summary> + /// + /// </summary> + /// <param name="config"></param> + public void Register(TypeAdapterConfig config) + { + #region project + + //config.ForType<AddEquivalentProjectInput, Model.EquivalentProject>() + // .Map(dest => dest.Paras, src => src.Paras) + // .Map(dest => dest.Flags, src => src.Flags); + + + #endregion + + + + } + } +} \ No newline at end of file diff --git a/BLL/HStation.BLL.Equivalent.Core/01-interface/09-dbfirst/IXhsDbFirstHelper.cs b/BLL/HStation.BLL.Equivalent.Core/01-interface/09-dbfirst/IXhsDbFirstHelper.cs new file mode 100644 index 0000000..8a960c8 --- /dev/null +++ b/BLL/HStation.BLL.Equivalent.Core/01-interface/09-dbfirst/IXhsDbFirstHelper.cs @@ -0,0 +1,15 @@ +锘縰sing Yw.CAL; + +namespace HStation.CAL +{ + /// <summary> + /// + /// </summary> + public interface IEquivalentDbFirstHelper : IBaseCAL + { + /// <summary> + /// + /// </summary> + Task<bool> Initial(); + } +} diff --git a/BLL/HStation.BLL.Equivalent.Core/02-httpclient/09-dbfirst/XhsDbFirstHelper.cs b/BLL/HStation.BLL.Equivalent.Core/02-httpclient/09-dbfirst/XhsDbFirstHelper.cs new file mode 100644 index 0000000..9c87849 --- /dev/null +++ b/BLL/HStation.BLL.Equivalent.Core/02-httpclient/09-dbfirst/XhsDbFirstHelper.cs @@ -0,0 +1,24 @@ +锘� +using Yw.CAL.HttpClient; + +namespace HStation.CAL.HttpClient +{ + /// <summary> + /// + /// </summary> + public class EquivalentDbFirstHelper : BaseCAL, IEquivalentDbFirstHelper + { + protected override string Prefix + { + get { return $"{HStation.BLL.Equivalent.ConfigHelper.HttpUrl}/Equivalent/DbFirst"; } + } + + /// <summary> + /// + /// </summary> + public async Task<bool> Initial() + { + return await GetUrl("Initial@V1.0").Get<bool>(); + } + } +} diff --git a/BLL/HStation.BLL.Equivalent.Core/03-localclient/09-dbfirst/XhsDbFirstHelper.cs b/BLL/HStation.BLL.Equivalent.Core/03-localclient/09-dbfirst/XhsDbFirstHelper.cs new file mode 100644 index 0000000..a27c4e0 --- /dev/null +++ b/BLL/HStation.BLL.Equivalent.Core/03-localclient/09-dbfirst/XhsDbFirstHelper.cs @@ -0,0 +1,25 @@ +锘縩amespace HStation.CAL.LocalClient +{ + /// <summary> + /// + /// </summary> + public class EquivalentDbFirstHelper : IEquivalentDbFirstHelper + { + + /// <summary> + /// + /// </summary> + public async Task<bool> Initial() + { + return await Task.Run(() => + { + var bol = HStation.Service.Equivalent.DbFirstHelper.Initial(out string Msg); + if (!bol) + { + throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.L001, Msg); + } + return bol; + }); + } + } +} diff --git a/BLL/HStation.BLL.Equivalent.Core/04-bll/00-core/CALCreateHelper.cs b/BLL/HStation.BLL.Equivalent.Core/04-bll/00-core/CALCreateHelper.cs new file mode 100644 index 0000000..4bbf511 --- /dev/null +++ b/BLL/HStation.BLL.Equivalent.Core/04-bll/00-core/CALCreateHelper.cs @@ -0,0 +1,22 @@ +锘縩amespace HStation.BLL.Equivalent +{ + /// <summary> + /// CAL杈呭姪绫� + /// </summary> + internal class CALCreateHelper + { + /// <summary> + /// 鍒涘缓CAL + /// </summary> + /// <typeparam name="T"></typeparam> + /// <returns></returns> + public static T CreateCAL<T>() + { + var type = Settings.EquivalentParasHelper.Equivalent.CAL.CALType; + return Yw.CALFactory.CreateCAL<T>(type); + } + + + + } +} diff --git a/BLL/HStation.BLL.Equivalent.Core/04-bll/09-dbfirst/XhsDbFirstHelper.cs b/BLL/HStation.BLL.Equivalent.Core/04-bll/09-dbfirst/XhsDbFirstHelper.cs new file mode 100644 index 0000000..870df6c --- /dev/null +++ b/BLL/HStation.BLL.Equivalent.Core/04-bll/09-dbfirst/XhsDbFirstHelper.cs @@ -0,0 +1,15 @@ +锘縩amespace HStation.BLL +{ + /// <summary> + /// + /// </summary> + public class EquivalentDbFirstHelper : HStation.CAL.IEquivalentDbFirstHelper + { + private readonly HStation.CAL.IEquivalentDbFirstHelper _cal = CALCreateHelper.CreateCAL<HStation.CAL.IEquivalentDbFirstHelper>(); + + public Task<bool> Initial() + { + return _cal.Initial(); + } + } +} diff --git a/BLL/HStation.BLL.Equivalent.Core/GlobalUsings.cs b/BLL/HStation.BLL.Equivalent.Core/GlobalUsings.cs new file mode 100644 index 0000000..d5bb669 --- /dev/null +++ b/BLL/HStation.BLL.Equivalent.Core/GlobalUsings.cs @@ -0,0 +1,4 @@ +锘縢lobal using HStation.BLL.Equivalent; +global using Mapster; +global using Yw.Dto; + diff --git a/BLL/HStation.BLL.Equivalent.Core/HStation.BLL.Equivalent.Core.csproj b/BLL/HStation.BLL.Equivalent.Core/HStation.BLL.Equivalent.Core.csproj new file mode 100644 index 0000000..c31a6b9 --- /dev/null +++ b/BLL/HStation.BLL.Equivalent.Core/HStation.BLL.Equivalent.Core.csproj @@ -0,0 +1,44 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net6.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>disable</Nullable> + <Version>3.0.0</Version> + </PropertyGroup> + + <ItemGroup> + <Compile Remove="03-localclient\PumpProduct\**" /> + <Compile Remove="03-localclient\PumpProject\**" /> + <Compile Remove="03-localclient\Pump\**" /> + <Compile Remove="04-bll\01-ProjectItem\**" /> + <Compile Remove="04-bll\02-PumpProdcuct\**" /> + <EmbeddedResource Remove="03-localclient\PumpProduct\**" /> + <EmbeddedResource Remove="03-localclient\PumpProject\**" /> + <EmbeddedResource Remove="03-localclient\Pump\**" /> + <EmbeddedResource Remove="04-bll\01-ProjectItem\**" /> + <EmbeddedResource Remove="04-bll\02-PumpProdcuct\**" /> + <None Remove="03-localclient\PumpProduct\**" /> + <None Remove="03-localclient\PumpProject\**" /> + <None Remove="03-localclient\Pump\**" /> + <None Remove="04-bll\01-ProjectItem\**" /> + <None Remove="04-bll\02-PumpProdcuct\**" /> + </ItemGroup> + + <ItemGroup> + <Compile Remove="02-httpclient\EquivalentProject.cs" /> + <Compile Remove="02-httpclient\EquivalentProjectItem.cs" /> + <Compile Remove="02-httpclient\EquivalentProjectItemModel.cs" /> + <Compile Remove="02-httpclient\EquivalentProjectItemModelMap.cs" /> + <Compile Remove="03-localclient\EquivalentProject.cs" /> + <Compile Remove="03-localclient\EquivalentProjectItem.cs" /> + <Compile Remove="03-localclient\EquivalentProjectItemModel.cs" /> + <Compile Remove="03-localclient\EquivalentProjectItemModelMap.cs" /> + </ItemGroup> + + <ItemGroup> + <ProjectReference Include="..\..\Dto\HStation.Dto.Equivalent.Core\HStation.Dto.Equivalent.Core.csproj" /> + <ProjectReference Include="..\HStation.BLL.Core\HStation.BLL.Core.csproj" /> + </ItemGroup> + +</Project> diff --git a/BLL/HStation.BLL.PBS.Core/00-core/ConfigHelper.cs b/BLL/HStation.BLL.PBS.Core/00-core/ConfigHelper.cs new file mode 100644 index 0000000..8ac9a59 --- /dev/null +++ b/BLL/HStation.BLL.PBS.Core/00-core/ConfigHelper.cs @@ -0,0 +1,13 @@ +锘縩amespace HStation.BLL.PBS +{ + internal class ConfigHelper + { + /// <summary> + /// + /// </summary> + public static string HttpUrl + { + get { return Settings.PBSParasHelper.PBS.CAL.HttpClient.HttpUrl; } + } + } +} diff --git a/BLL/HStation.BLL.PBS.Core/00-core/Mapper.cs b/BLL/HStation.BLL.PBS.Core/00-core/Mapper.cs new file mode 100644 index 0000000..7710711 --- /dev/null +++ b/BLL/HStation.BLL.PBS.Core/00-core/Mapper.cs @@ -0,0 +1,27 @@ +锘縩amespace HStation.BLL.PBS +{ + /// <summary> + /// + /// </summary> + public class Mapper : IRegister + { + /// <summary> + /// + /// </summary> + /// <param name="config"></param> + public void Register(TypeAdapterConfig config) + { + #region project + + //config.ForType<AddPBSProjectInput, Model.PBSProject>() + // .Map(dest => dest.Paras, src => src.Paras) + // .Map(dest => dest.Flags, src => src.Flags); + + + #endregion + + + + } + } +} \ No newline at end of file diff --git a/BLL/HStation.BLL.PBS.Core/01-interface/09-dbfirst/IXhsDbFirstHelper.cs b/BLL/HStation.BLL.PBS.Core/01-interface/09-dbfirst/IXhsDbFirstHelper.cs new file mode 100644 index 0000000..0caaa5c --- /dev/null +++ b/BLL/HStation.BLL.PBS.Core/01-interface/09-dbfirst/IXhsDbFirstHelper.cs @@ -0,0 +1,15 @@ +锘縰sing Yw.CAL; + +namespace HStation.CAL +{ + /// <summary> + /// + /// </summary> + public interface IPBSDbFirstHelper : IBaseCAL + { + /// <summary> + /// + /// </summary> + Task<bool> Initial(); + } +} diff --git a/BLL/HStation.BLL.PBS.Core/02-httpclient/09-dbfirst/XhsDbFirstHelper.cs b/BLL/HStation.BLL.PBS.Core/02-httpclient/09-dbfirst/XhsDbFirstHelper.cs new file mode 100644 index 0000000..be7c38d --- /dev/null +++ b/BLL/HStation.BLL.PBS.Core/02-httpclient/09-dbfirst/XhsDbFirstHelper.cs @@ -0,0 +1,24 @@ +锘� +using Yw.CAL.HttpClient; + +namespace HStation.CAL.HttpClient +{ + /// <summary> + /// + /// </summary> + public class PBSDbFirstHelper : BaseCAL, IPBSDbFirstHelper + { + protected override string Prefix + { + get { return $"{HStation.BLL.PBS.ConfigHelper.HttpUrl}/PBS/DbFirst"; } + } + + /// <summary> + /// + /// </summary> + public async Task<bool> Initial() + { + return await GetUrl("Initial@V1.0").Get<bool>(); + } + } +} diff --git a/BLL/HStation.BLL.PBS.Core/03-localclient/09-dbfirst/XhsDbFirstHelper.cs b/BLL/HStation.BLL.PBS.Core/03-localclient/09-dbfirst/XhsDbFirstHelper.cs new file mode 100644 index 0000000..4dbc684 --- /dev/null +++ b/BLL/HStation.BLL.PBS.Core/03-localclient/09-dbfirst/XhsDbFirstHelper.cs @@ -0,0 +1,25 @@ +锘縩amespace HStation.CAL.LocalClient +{ + /// <summary> + /// + /// </summary> + public class PBSDbFirstHelper : IPBSDbFirstHelper + { + + /// <summary> + /// + /// </summary> + public async Task<bool> Initial() + { + return await Task.Run(() => + { + var bol = HStation.Service.PBS.DbFirstHelper.Initial(out string Msg); + if (!bol) + { + throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.L001, Msg); + } + return bol; + }); + } + } +} diff --git a/BLL/HStation.BLL.PBS.Core/04-bll/00-core/CALCreateHelper.cs b/BLL/HStation.BLL.PBS.Core/04-bll/00-core/CALCreateHelper.cs new file mode 100644 index 0000000..d2510d0 --- /dev/null +++ b/BLL/HStation.BLL.PBS.Core/04-bll/00-core/CALCreateHelper.cs @@ -0,0 +1,22 @@ +锘縩amespace HStation.BLL.PBS +{ + /// <summary> + /// CAL杈呭姪绫� + /// </summary> + internal class CALCreateHelper + { + /// <summary> + /// 鍒涘缓CAL + /// </summary> + /// <typeparam name="T"></typeparam> + /// <returns></returns> + public static T CreateCAL<T>() + { + var type = Settings.PBSParasHelper.PBS.CAL.CALType; + return Yw.CALFactory.CreateCAL<T>(type); + } + + + + } +} diff --git a/BLL/HStation.BLL.PBS.Core/04-bll/09-dbfirst/XhsDbFirstHelper.cs b/BLL/HStation.BLL.PBS.Core/04-bll/09-dbfirst/XhsDbFirstHelper.cs new file mode 100644 index 0000000..cd00a33 --- /dev/null +++ b/BLL/HStation.BLL.PBS.Core/04-bll/09-dbfirst/XhsDbFirstHelper.cs @@ -0,0 +1,15 @@ +锘縩amespace HStation.BLL +{ + /// <summary> + /// + /// </summary> + public class PBSDbFirstHelper : HStation.CAL.IPBSDbFirstHelper + { + private readonly HStation.CAL.IPBSDbFirstHelper _cal = CALCreateHelper.CreateCAL<HStation.CAL.IPBSDbFirstHelper>(); + + public Task<bool> Initial() + { + return _cal.Initial(); + } + } +} diff --git a/BLL/HStation.BLL.PBS.Core/GlobalUsings.cs b/BLL/HStation.BLL.PBS.Core/GlobalUsings.cs new file mode 100644 index 0000000..5559937 --- /dev/null +++ b/BLL/HStation.BLL.PBS.Core/GlobalUsings.cs @@ -0,0 +1,4 @@ +锘縢lobal using HStation.BLL.PBS; +global using Mapster; +global using Yw.Dto; + diff --git a/BLL/HStation.BLL.PBS.Core/HStation.BLL.PBS.Core.csproj b/BLL/HStation.BLL.PBS.Core/HStation.BLL.PBS.Core.csproj new file mode 100644 index 0000000..9a7e49a --- /dev/null +++ b/BLL/HStation.BLL.PBS.Core/HStation.BLL.PBS.Core.csproj @@ -0,0 +1,44 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net6.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>disable</Nullable> + <Version>3.0.0</Version> + </PropertyGroup> + + <ItemGroup> + <Compile Remove="03-localclient\PumpProduct\**" /> + <Compile Remove="03-localclient\PumpProject\**" /> + <Compile Remove="03-localclient\Pump\**" /> + <Compile Remove="04-bll\01-ProjectItem\**" /> + <Compile Remove="04-bll\02-PumpProdcuct\**" /> + <EmbeddedResource Remove="03-localclient\PumpProduct\**" /> + <EmbeddedResource Remove="03-localclient\PumpProject\**" /> + <EmbeddedResource Remove="03-localclient\Pump\**" /> + <EmbeddedResource Remove="04-bll\01-ProjectItem\**" /> + <EmbeddedResource Remove="04-bll\02-PumpProdcuct\**" /> + <None Remove="03-localclient\PumpProduct\**" /> + <None Remove="03-localclient\PumpProject\**" /> + <None Remove="03-localclient\Pump\**" /> + <None Remove="04-bll\01-ProjectItem\**" /> + <None Remove="04-bll\02-PumpProdcuct\**" /> + </ItemGroup> + + <ItemGroup> + <Compile Remove="02-httpclient\PBSProject.cs" /> + <Compile Remove="02-httpclient\PBSProjectItem.cs" /> + <Compile Remove="02-httpclient\PBSProjectItemModel.cs" /> + <Compile Remove="02-httpclient\PBSProjectItemModelMap.cs" /> + <Compile Remove="03-localclient\PBSProject.cs" /> + <Compile Remove="03-localclient\PBSProjectItem.cs" /> + <Compile Remove="03-localclient\PBSProjectItemModel.cs" /> + <Compile Remove="03-localclient\PBSProjectItemModelMap.cs" /> + </ItemGroup> + + <ItemGroup> + <ProjectReference Include="..\..\Dto\HStation.Dto.PBS.Core\HStation.Dto.PBS.Core.csproj" /> + <ProjectReference Include="..\HStation.BLL.Core\HStation.BLL.Core.csproj" /> + </ItemGroup> + +</Project> diff --git a/Desktop/HStation.Desktop.PBS.Core/App.config b/Desktop/HStation.Desktop.PBS.Core/App.config new file mode 100644 index 0000000..040da78 --- /dev/null +++ b/Desktop/HStation.Desktop.PBS.Core/App.config @@ -0,0 +1,48 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<configuration> + <configSections> + <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System"> + <section name="DevExpress.LookAndFeel.Design.AppSettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> + </sectionGroup> + </configSections> + <applicationSettings> + <DevExpress.LookAndFeel.Design.AppSettings> + <setting name="DefaultAppSkin" serializeAs="String"> + <value>CompactSkin/WXI</value> + </setting> + <setting name="DefaultPalette" serializeAs="String"> + <value></value> + </setting> + <setting name="TouchUI" serializeAs="String"> + <value></value> + </setting> + <setting name="CompactUI" serializeAs="String"> + <value></value> + </setting> + <setting name="TouchScaleFactor" serializeAs="String"> + <value></value> + </setting> + <setting name="DirectX" serializeAs="String"> + <value>True</value> + </setting> + <setting name="RegisterUserSkins" serializeAs="String"> + <value></value> + </setting> + <setting name="RegisterBonusSkins" serializeAs="String"> + <value>True</value> + </setting> + <setting name="FontBehavior" serializeAs="String"> + <value></value> + </setting> + <setting name="DefaultAppFont" serializeAs="String"> + <value></value> + </setting> + <setting name="DPIAwarenessMode" serializeAs="String"> + <value></value> + </setting> + <setting name="CustomPaletteCollection" serializeAs="Xml"> + <value /> + </setting> + </DevExpress.LookAndFeel.Design.AppSettings> + </applicationSettings> +</configuration> \ No newline at end of file diff --git a/Desktop/HStation.Desktop.PBS.Core/DbFirstHelper.cs b/Desktop/HStation.Desktop.PBS.Core/DbFirstHelper.cs new file mode 100644 index 0000000..72cef90 --- /dev/null +++ b/Desktop/HStation.Desktop.PBS.Core/DbFirstHelper.cs @@ -0,0 +1,18 @@ +锘縩amespace HStation.Desktop +{ + /// <summary> + /// dbfirst + /// </summary> + public class DbFirstHelper + { + /// <summary> + /// 鍒濆鍖� + /// </summary> + public static void Initial() + { + + + + } + } +} \ No newline at end of file diff --git a/Desktop/HStation.Desktop.PBS.Core/HStation.Desktop.PBS.Core.csproj b/Desktop/HStation.Desktop.PBS.Core/HStation.Desktop.PBS.Core.csproj new file mode 100644 index 0000000..49acc56 --- /dev/null +++ b/Desktop/HStation.Desktop.PBS.Core/HStation.Desktop.PBS.Core.csproj @@ -0,0 +1,42 @@ +锘�<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>WinExe</OutputType> + <TargetFramework>net6.0-windows</TargetFramework> + <Nullable>disable</Nullable> + <UseWindowsForms>true</UseWindowsForms> + <ImplicitUsings>enable</ImplicitUsings> + <ApplicationManifest>app.manifest</ApplicationManifest> + <ApplicationIcon>Hstation.ico</ApplicationIcon> + </PropertyGroup> + + <ItemGroup> + <Content Include="Hstation.ico" /> + </ItemGroup> + + <ItemGroup> + <PackageReference Include="DevExpress.Win.Design" Version="23.2.4" /> + <PackageReference Include="Yw.BLL.Auth.Core" Version="3.1.8" /> + </ItemGroup> + + <ItemGroup> + <ProjectReference Include="..\..\WinFrmUI\Yw.WinFrmUI.Core\Yw.WinFrmUI.Core.csproj" /> + </ItemGroup> + + <ItemGroup> + <Compile Update="Login\LoginFrm.cs" /> + <Compile Update="Properties\Resources.Designer.cs"> + <DesignTime>True</DesignTime> + <AutoGen>True</AutoGen> + <DependentUpon>Resources.resx</DependentUpon> + </Compile> + </ItemGroup> + + <ItemGroup> + <EmbeddedResource Update="Properties\Resources.resx"> + <Generator>ResXFileCodeGenerator</Generator> + <LastGenOutput>Resources.Designer.cs</LastGenOutput> + </EmbeddedResource> + </ItemGroup> + +</Project> \ No newline at end of file diff --git a/Desktop/HStation.Desktop.PBS.Core/HStation.Desktop.PBS.Core.csproj.user b/Desktop/HStation.Desktop.PBS.Core/HStation.Desktop.PBS.Core.csproj.user new file mode 100644 index 0000000..90b0d22 --- /dev/null +++ b/Desktop/HStation.Desktop.PBS.Core/HStation.Desktop.PBS.Core.csproj.user @@ -0,0 +1,12 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup /> + <ItemGroup> + <Compile Update="Login\LoginFrm.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="MainForm.cs"> + <SubType>Form</SubType> + </Compile> + </ItemGroup> +</Project> \ No newline at end of file diff --git a/Desktop/HStation.Desktop.PBS.Core/HStation.Desktop.PBS.Core.user b/Desktop/HStation.Desktop.PBS.Core/HStation.Desktop.PBS.Core.user new file mode 100644 index 0000000..bbe5c2f --- /dev/null +++ b/Desktop/HStation.Desktop.PBS.Core/HStation.Desktop.PBS.Core.user @@ -0,0 +1,17 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <_LastSelectedProfileId>D:\WorkData\git\HStation\XHS\Desktop\HStation.Desktop.Xhs.Core\Properties\PublishProfiles\FolderProfile.pubxml</_LastSelectedProfileId> + </PropertyGroup> + <ItemGroup> + <Compile Update="Login\LoginFrm.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="MainForm.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="TestForm.cs"> + <SubType>Form</SubType> + </Compile> + </ItemGroup> +</Project> \ No newline at end of file diff --git a/Desktop/HStation.Desktop.PBS.Core/Hstation.ico b/Desktop/HStation.Desktop.PBS.Core/Hstation.ico new file mode 100644 index 0000000..fd64892 --- /dev/null +++ b/Desktop/HStation.Desktop.PBS.Core/Hstation.ico Binary files differ diff --git a/Desktop/HStation.Desktop.PBS.Core/Login/LoginFrm.Designer.cs b/Desktop/HStation.Desktop.PBS.Core/Login/LoginFrm.Designer.cs new file mode 100644 index 0000000..25c8efd --- /dev/null +++ b/Desktop/HStation.Desktop.PBS.Core/Login/LoginFrm.Designer.cs @@ -0,0 +1,502 @@ +锘縩amespace HStation.Desktop +{ + partial class LoginFrm + { + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + DevExpress.XtraLayout.ColumnDefinition columnDefinition1 = new DevExpress.XtraLayout.ColumnDefinition(); + DevExpress.XtraLayout.ColumnDefinition columnDefinition2 = new DevExpress.XtraLayout.ColumnDefinition(); + DevExpress.XtraLayout.RowDefinition rowDefinition1 = new DevExpress.XtraLayout.RowDefinition(); + DevExpress.XtraLayout.RowDefinition rowDefinition2 = new DevExpress.XtraLayout.RowDefinition(); + DevExpress.XtraLayout.RowDefinition rowDefinition3 = new DevExpress.XtraLayout.RowDefinition(); + DevExpress.XtraLayout.RowDefinition rowDefinition4 = new DevExpress.XtraLayout.RowDefinition(); + DevExpress.XtraLayout.RowDefinition rowDefinition5 = new DevExpress.XtraLayout.RowDefinition(); + DevExpress.XtraLayout.ColumnDefinition columnDefinition3 = new DevExpress.XtraLayout.ColumnDefinition(); + DevExpress.XtraLayout.ColumnDefinition columnDefinition4 = new DevExpress.XtraLayout.ColumnDefinition(); + DevExpress.XtraLayout.ColumnDefinition columnDefinition5 = new DevExpress.XtraLayout.ColumnDefinition(); + DevExpress.XtraLayout.RowDefinition rowDefinition6 = new DevExpress.XtraLayout.RowDefinition(); + DevExpress.XtraLayout.RowDefinition rowDefinition7 = new DevExpress.XtraLayout.RowDefinition(); + DevExpress.XtraLayout.RowDefinition rowDefinition8 = new DevExpress.XtraLayout.RowDefinition(); + DevExpress.XtraLayout.RowDefinition rowDefinition9 = new DevExpress.XtraLayout.RowDefinition(); + DevExpress.XtraLayout.RowDefinition rowDefinition10 = new DevExpress.XtraLayout.RowDefinition(); + layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + marqueeProgressBarControl1 = new DevExpress.XtraEditors.MarqueeProgressBarControl(); + layoutControl2 = new DevExpress.XtraLayout.LayoutControl(); + labelControl1 = new DevExpress.XtraEditors.LabelControl(); + btnCancel = new DevExpress.XtraEditors.SimpleButton(); + btnLogin = new DevExpress.XtraEditors.SimpleButton(); + ckRemember = new DevExpress.XtraEditors.CheckEdit(); + txtPwd = new DevExpress.XtraEditors.TextEdit(); + txtLoginName = new DevExpress.XtraEditors.TextEdit(); + labTitle = new DevExpress.XtraEditors.LabelControl(); + layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem(); + layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); + layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem(); + layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); + layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem(); + layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem(); + Root = new DevExpress.XtraLayout.LayoutControlGroup(); + labSysTitle = new DevExpress.XtraLayout.SimpleLabelItem(); + layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + itemForProgress = new DevExpress.XtraLayout.LayoutControlItem(); + ((System.ComponentModel.ISupportInitialize)layoutControl1).BeginInit(); + layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)marqueeProgressBarControl1.Properties).BeginInit(); + ((System.ComponentModel.ISupportInitialize)layoutControl2).BeginInit(); + layoutControl2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)ckRemember.Properties).BeginInit(); + ((System.ComponentModel.ISupportInitialize)txtPwd.Properties).BeginInit(); + ((System.ComponentModel.ISupportInitialize)txtLoginName.Properties).BeginInit(); + ((System.ComponentModel.ISupportInitialize)layoutControlItem9).BeginInit(); + ((System.ComponentModel.ISupportInitialize)layoutControlGroup1).BeginInit(); + ((System.ComponentModel.ISupportInitialize)layoutControlItem3).BeginInit(); + ((System.ComponentModel.ISupportInitialize)layoutControlItem4).BeginInit(); + ((System.ComponentModel.ISupportInitialize)layoutControlItem5).BeginInit(); + ((System.ComponentModel.ISupportInitialize)layoutControlItem6).BeginInit(); + ((System.ComponentModel.ISupportInitialize)layoutControlItem7).BeginInit(); + ((System.ComponentModel.ISupportInitialize)layoutControlItem8).BeginInit(); + ((System.ComponentModel.ISupportInitialize)Root).BeginInit(); + ((System.ComponentModel.ISupportInitialize)labSysTitle).BeginInit(); + ((System.ComponentModel.ISupportInitialize)layoutControlItem2).BeginInit(); + ((System.ComponentModel.ISupportInitialize)itemForProgress).BeginInit(); + SuspendLayout(); + // + // layoutControl1 + // + layoutControl1.BackColor = Color.Transparent; + layoutControl1.Controls.Add(marqueeProgressBarControl1); + layoutControl1.Controls.Add(layoutControl2); + layoutControl1.Dock = DockStyle.Fill; + layoutControl1.Location = new Point(0, 0); + layoutControl1.Margin = new Padding(3, 2, 3, 2); + layoutControl1.Name = "layoutControl1"; + layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(994, 279, 650, 400); + layoutControl1.Root = Root; + layoutControl1.Size = new Size(1097, 565); + layoutControl1.TabIndex = 0; + layoutControl1.Text = "layoutControl1"; + // + // marqueeProgressBarControl1 + // + marqueeProgressBarControl1.EditValue = 0; + marqueeProgressBarControl1.Location = new Point(0, 550); + marqueeProgressBarControl1.Margin = new Padding(3, 2, 3, 2); + marqueeProgressBarControl1.Name = "marqueeProgressBarControl1"; + marqueeProgressBarControl1.Properties.MarqueeAnimationSpeed = 20; + marqueeProgressBarControl1.Properties.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid; + marqueeProgressBarControl1.Size = new Size(1097, 15); + marqueeProgressBarControl1.StyleController = layoutControl1; + marqueeProgressBarControl1.TabIndex = 6; + // + // layoutControl2 + // + layoutControl2.Controls.Add(labelControl1); + layoutControl2.Controls.Add(btnCancel); + layoutControl2.Controls.Add(btnLogin); + layoutControl2.Controls.Add(ckRemember); + layoutControl2.Controls.Add(txtPwd); + layoutControl2.Controls.Add(txtLoginName); + layoutControl2.Controls.Add(labTitle); + layoutControl2.HiddenItems.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem9 }); + layoutControl2.Location = new Point(693, 172); + layoutControl2.Margin = new Padding(3, 2, 3, 2); + layoutControl2.Name = "layoutControl2"; + layoutControl2.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(943, 480, 650, 400); + layoutControl2.Root = layoutControlGroup1; + layoutControl2.Size = new Size(302, 302); + layoutControl2.TabIndex = 5; + layoutControl2.Text = "layoutControl2"; + // + // labelControl1 + // + labelControl1.Appearance.Options.UseTextOptions = true; + labelControl1.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + labelControl1.AppearanceHovered.ForeColor = Color.FromArgb(255, 128, 0); + labelControl1.AppearanceHovered.Options.UseForeColor = true; + labelControl1.AppearancePressed.ForeColor = Color.FromArgb(255, 128, 0); + labelControl1.AppearancePressed.Options.UseForeColor = true; + labelControl1.Location = new Point(155, 167); + labelControl1.Margin = new Padding(3, 2, 3, 2); + labelControl1.Name = "labelControl1"; + labelControl1.Size = new Size(136, 19); + labelControl1.StyleController = layoutControl2; + labelControl1.TabIndex = 10; + labelControl1.Text = "蹇樿瀵嗙爜"; + labelControl1.Visible = false; + // + // btnCancel + // + btnCancel.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Warning; + btnCancel.Appearance.Options.UseBackColor = true; + btnCancel.DialogResult = DialogResult.Cancel; + btnCancel.Location = new Point(14, 210); + btnCancel.Margin = new Padding(3, 2, 3, 2); + btnCancel.Name = "btnCancel"; + btnCancel.Size = new Size(133, 28); + btnCancel.StyleController = layoutControl2; + btnCancel.TabIndex = 9; + btnCancel.Text = "鍙栨秷"; + btnCancel.Click += btnCancel_Click; + // + // btnLogin + // + btnLogin.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Primary; + btnLogin.Appearance.Options.UseBackColor = true; + btnLogin.Location = new Point(155, 210); + btnLogin.Margin = new Padding(3, 2, 3, 2); + btnLogin.Name = "btnLogin"; + btnLogin.Size = new Size(133, 28); + btnLogin.StyleController = layoutControl2; + btnLogin.TabIndex = 8; + btnLogin.Text = "鐧诲綍"; + btnLogin.Click += btnLogin_Click; + // + // ckRemember + // + ckRemember.Location = new Point(14, 170); + ckRemember.Margin = new Padding(3, 2, 3, 2); + ckRemember.Name = "ckRemember"; + ckRemember.Properties.AllowFocused = false; + ckRemember.Properties.AutoHeight = false; + ckRemember.Properties.AutoWidth = true; + ckRemember.Properties.Caption = "璁颁綇瀵嗙爜"; + ckRemember.Size = new Size(71, 18); + ckRemember.StyleController = layoutControl2; + ckRemember.TabIndex = 7; + // + // txtPwd + // + txtPwd.EditValue = ""; + txtPwd.Location = new Point(14, 122); + txtPwd.Margin = new Padding(3, 2, 3, 2); + txtPwd.Name = "txtPwd"; + txtPwd.Properties.AutoHeight = false; + txtPwd.Properties.NullValuePrompt = "璇疯緭鍏ュ瘑鐮�"; + txtPwd.Properties.PasswordChar = '*'; + txtPwd.Size = new Size(274, 26); + txtPwd.StyleController = layoutControl2; + txtPwd.TabIndex = 6; + txtPwd.KeyPress += txtPwd_KeyPress; + // + // txtLoginName + // + txtLoginName.Location = new Point(14, 78); + txtLoginName.Margin = new Padding(3, 2, 3, 2); + txtLoginName.Name = "txtLoginName"; + txtLoginName.Properties.AutoHeight = false; + txtLoginName.Properties.NullValuePrompt = "璇疯緭鍏ョ敤鎴峰悕"; + txtLoginName.Size = new Size(274, 26); + txtLoginName.StyleController = layoutControl2; + txtLoginName.TabIndex = 5; + txtLoginName.KeyPress += txtLoginName_KeyPress; + // + // labTitle + // + labTitle.Appearance.FontSizeDelta = 10; + labTitle.Appearance.ForeColor = Color.White; + labTitle.Appearance.Options.UseFont = true; + labTitle.Appearance.Options.UseForeColor = true; + labTitle.Location = new Point(14, 13); + labTitle.Margin = new Padding(3, 2, 3, 2); + labTitle.Name = "labTitle"; + labTitle.Size = new Size(274, 53); + labTitle.StyleController = layoutControl2; + labTitle.TabIndex = 4; + labTitle.Text = "鐢ㄦ埛鐧诲綍"; + // + // layoutControlItem9 + // + layoutControlItem9.Control = labelControl1; + layoutControlItem9.Location = new Point(163, 200); + layoutControlItem9.MinSize = new Size(75, 17); + layoutControlItem9.Name = "layoutControlItem9"; + layoutControlItem9.OptionsTableLayoutItem.ColumnIndex = 1; + layoutControlItem9.OptionsTableLayoutItem.RowIndex = 3; + layoutControlItem9.Size = new Size(163, 60); + layoutControlItem9.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + layoutControlItem9.Spacing = new DevExpress.XtraLayout.Utils.Padding(2, 2, 11, 11); + layoutControlItem9.TextSize = new Size(0, 0); + layoutControlItem9.TextVisible = false; + // + // layoutControlGroup1 + // + layoutControlGroup1.AppearanceGroup.BackColor = Color.FromArgb(80, 170, 220); + layoutControlGroup1.AppearanceGroup.Options.UseBackColor = true; + layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + layoutControlGroup1.GroupBordersVisible = false; + layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem3, layoutControlItem4, layoutControlItem5, layoutControlItem6, layoutControlItem7, layoutControlItem8 }); + layoutControlGroup1.LayoutMode = DevExpress.XtraLayout.Utils.LayoutMode.Table; + layoutControlGroup1.Name = "Root"; + columnDefinition1.SizeType = SizeType.Percent; + columnDefinition1.Width = 50D; + columnDefinition2.SizeType = SizeType.Percent; + columnDefinition2.Width = 50D; + layoutControlGroup1.OptionsTableLayoutGroup.ColumnDefinitions.AddRange(new DevExpress.XtraLayout.ColumnDefinition[] { columnDefinition1, columnDefinition2 }); + rowDefinition1.Height = 59D; + rowDefinition1.SizeType = SizeType.Absolute; + rowDefinition2.Height = 44D; + rowDefinition2.SizeType = SizeType.Absolute; + rowDefinition3.Height = 44D; + rowDefinition3.SizeType = SizeType.Absolute; + rowDefinition4.Height = 44D; + rowDefinition4.SizeType = SizeType.Absolute; + rowDefinition5.Height = 44D; + rowDefinition5.SizeType = SizeType.Absolute; + layoutControlGroup1.OptionsTableLayoutGroup.RowDefinitions.AddRange(new DevExpress.XtraLayout.RowDefinition[] { rowDefinition1, rowDefinition2, rowDefinition3, rowDefinition4, rowDefinition5 }); + layoutControlGroup1.Size = new Size(302, 302); + layoutControlGroup1.TextVisible = false; + // + // layoutControlItem3 + // + layoutControlItem3.Control = labTitle; + layoutControlItem3.Location = new Point(0, 0); + layoutControlItem3.MinSize = new Size(75, 17); + layoutControlItem3.Name = "layoutControlItem3"; + layoutControlItem3.OptionsTableLayoutItem.ColumnSpan = 2; + layoutControlItem3.Size = new Size(282, 59); + layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + layoutControlItem3.Spacing = new DevExpress.XtraLayout.Utils.Padding(2, 2, 1, 1); + layoutControlItem3.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize; + layoutControlItem3.TextSize = new Size(0, 0); + layoutControlItem3.TextToControlDistance = 0; + layoutControlItem3.TextVisible = false; + // + // layoutControlItem4 + // + layoutControlItem4.Control = txtLoginName; + layoutControlItem4.Location = new Point(0, 59); + layoutControlItem4.MinSize = new Size(163, 22); + layoutControlItem4.Name = "layoutControlItem4"; + layoutControlItem4.OptionsTableLayoutItem.ColumnSpan = 2; + layoutControlItem4.OptionsTableLayoutItem.RowIndex = 1; + layoutControlItem4.Size = new Size(282, 44); + layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + layoutControlItem4.Spacing = new DevExpress.XtraLayout.Utils.Padding(2, 2, 7, 7); + layoutControlItem4.Text = "鐢ㄦ埛鍚�"; + layoutControlItem4.TextSize = new Size(0, 0); + layoutControlItem4.TextVisible = false; + // + // layoutControlItem5 + // + layoutControlItem5.Control = txtPwd; + layoutControlItem5.Location = new Point(0, 103); + layoutControlItem5.MinSize = new Size(163, 22); + layoutControlItem5.Name = "layoutControlItem5"; + layoutControlItem5.OptionsTableLayoutItem.ColumnSpan = 2; + layoutControlItem5.OptionsTableLayoutItem.RowIndex = 2; + layoutControlItem5.Size = new Size(282, 44); + layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + layoutControlItem5.Spacing = new DevExpress.XtraLayout.Utils.Padding(2, 2, 7, 7); + layoutControlItem5.Text = "瀵嗙爜"; + layoutControlItem5.TextSize = new Size(0, 0); + layoutControlItem5.TextVisible = false; + // + // layoutControlItem6 + // + layoutControlItem6.Control = ckRemember; + layoutControlItem6.Location = new Point(0, 147); + layoutControlItem6.MinSize = new Size(80, 20); + layoutControlItem6.Name = "layoutControlItem6"; + layoutControlItem6.OptionsTableLayoutItem.RowIndex = 3; + layoutControlItem6.Size = new Size(141, 44); + layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + layoutControlItem6.Spacing = new DevExpress.XtraLayout.Utils.Padding(2, 2, 11, 11); + layoutControlItem6.Text = "璁颁綇瀵嗙爜"; + layoutControlItem6.TextLocation = DevExpress.Utils.Locations.Left; + layoutControlItem6.TextSize = new Size(0, 0); + layoutControlItem6.TextVisible = false; + // + // layoutControlItem7 + // + layoutControlItem7.Control = btnLogin; + layoutControlItem7.Location = new Point(141, 191); + layoutControlItem7.MaxSize = new Size(0, 46); + layoutControlItem7.MinSize = new Size(87, 46); + layoutControlItem7.Name = "layoutControlItem7"; + layoutControlItem7.OptionsTableLayoutItem.ColumnIndex = 1; + layoutControlItem7.OptionsTableLayoutItem.RowIndex = 4; + layoutControlItem7.Size = new Size(141, 91); + layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + layoutControlItem7.Spacing = new DevExpress.XtraLayout.Utils.Padding(2, 2, 7, 7); + layoutControlItem7.TextSize = new Size(0, 0); + layoutControlItem7.TextVisible = false; + // + // layoutControlItem8 + // + layoutControlItem8.Control = btnCancel; + layoutControlItem8.Location = new Point(0, 191); + layoutControlItem8.MaxSize = new Size(0, 46); + layoutControlItem8.MinSize = new Size(87, 46); + layoutControlItem8.Name = "layoutControlItem8"; + layoutControlItem8.OptionsTableLayoutItem.RowIndex = 4; + layoutControlItem8.Size = new Size(141, 91); + layoutControlItem8.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + layoutControlItem8.Spacing = new DevExpress.XtraLayout.Utils.Padding(2, 2, 7, 7); + layoutControlItem8.TextSize = new Size(0, 0); + layoutControlItem8.TextVisible = false; + // + // Root + // + Root.BackgroundImageOptions.Layout = ImageLayout.Zoom; + Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + Root.GroupBordersVisible = false; + Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { labSysTitle, layoutControlItem2, itemForProgress }); + Root.LayoutMode = DevExpress.XtraLayout.Utils.LayoutMode.Table; + Root.Name = "Root"; + columnDefinition3.SizeType = SizeType.Percent; + columnDefinition3.Width = 100D; + columnDefinition4.SizeType = SizeType.Absolute; + columnDefinition4.Width = 306D; + columnDefinition5.SizeType = SizeType.Absolute; + columnDefinition5.Width = 100D; + Root.OptionsTableLayoutGroup.ColumnDefinitions.AddRange(new DevExpress.XtraLayout.ColumnDefinition[] { columnDefinition3, columnDefinition4, columnDefinition5 }); + rowDefinition6.Height = 59D; + rowDefinition6.SizeType = SizeType.Absolute; + rowDefinition7.Height = 111D; + rowDefinition7.SizeType = SizeType.Absolute; + rowDefinition8.Height = 100D; + rowDefinition8.SizeType = SizeType.Percent; + rowDefinition9.Height = 74D; + rowDefinition9.SizeType = SizeType.Absolute; + rowDefinition10.Height = 15D; + rowDefinition10.SizeType = SizeType.Absolute; + Root.OptionsTableLayoutGroup.RowDefinitions.AddRange(new DevExpress.XtraLayout.RowDefinition[] { rowDefinition6, rowDefinition7, rowDefinition8, rowDefinition9, rowDefinition10 }); + Root.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0); + Root.Size = new Size(1097, 565); + Root.TextVisible = false; + // + // labSysTitle + // + labSysTitle.AllowHotTrack = false; + labSysTitle.AppearanceItemCaption.FontSizeDelta = 15; + labSysTitle.AppearanceItemCaption.ForeColor = Color.White; + labSysTitle.AppearanceItemCaption.Options.UseFont = true; + labSysTitle.AppearanceItemCaption.Options.UseForeColor = true; + labSysTitle.CustomizationFormText = "寰幆姘村垎鏋愮郴缁�"; + labSysTitle.Location = new Point(0, 0); + labSysTitle.Name = "labSysTitle"; + labSysTitle.OptionsTableLayoutItem.ColumnSpan = 3; + labSysTitle.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0); + labSysTitle.Size = new Size(1097, 59); + labSysTitle.Text = " 寰幆姘村垎鏋愮郴缁�"; + labSysTitle.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize; + labSysTitle.TextSize = new Size(234, 39); + labSysTitle.MouseDown += labSysTitle_MouseDown; + // + // layoutControlItem2 + // + layoutControlItem2.Control = layoutControl2; + layoutControlItem2.Location = new Point(691, 170); + layoutControlItem2.Name = "layoutControlItem2"; + layoutControlItem2.OptionsTableLayoutItem.ColumnIndex = 1; + layoutControlItem2.OptionsTableLayoutItem.RowIndex = 2; + layoutControlItem2.Size = new Size(306, 306); + layoutControlItem2.TextSize = new Size(0, 0); + layoutControlItem2.TextVisible = false; + // + // itemForProgress + // + itemForProgress.Control = marqueeProgressBarControl1; + itemForProgress.Location = new Point(0, 550); + itemForProgress.MinSize = new Size(44, 7); + itemForProgress.Name = "itemForProgress"; + itemForProgress.OptionsTableLayoutItem.ColumnSpan = 3; + itemForProgress.OptionsTableLayoutItem.RowIndex = 4; + itemForProgress.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0); + itemForProgress.Size = new Size(1097, 15); + itemForProgress.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + itemForProgress.TextSize = new Size(0, 0); + itemForProgress.TextVisible = false; + itemForProgress.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; + // + // LoginFrm + // + Appearance.BackColor = Color.FromArgb(76, 132, 191); + Appearance.Options.UseBackColor = true; + AutoScaleDimensions = new SizeF(7F, 14F); + AutoScaleMode = AutoScaleMode.Font; + BackgroundImageLayoutStore = ImageLayout.Stretch; + BackgroundImageStore = Xhs.Core.Properties.Resources.loginbg; + ClientSize = new Size(1097, 565); + Controls.Add(layoutControl1); + DoubleBuffered = true; + FormBorderStyle = FormBorderStyle.None; + Margin = new Padding(3, 2, 3, 2); + Name = "LoginFrm"; + StartPosition = FormStartPosition.CenterScreen; + Text = "LoginBigFrm"; + ((System.ComponentModel.ISupportInitialize)layoutControl1).EndInit(); + layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)marqueeProgressBarControl1.Properties).EndInit(); + ((System.ComponentModel.ISupportInitialize)layoutControl2).EndInit(); + layoutControl2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)ckRemember.Properties).EndInit(); + ((System.ComponentModel.ISupportInitialize)txtPwd.Properties).EndInit(); + ((System.ComponentModel.ISupportInitialize)txtLoginName.Properties).EndInit(); + ((System.ComponentModel.ISupportInitialize)layoutControlItem9).EndInit(); + ((System.ComponentModel.ISupportInitialize)layoutControlGroup1).EndInit(); + ((System.ComponentModel.ISupportInitialize)layoutControlItem3).EndInit(); + ((System.ComponentModel.ISupportInitialize)layoutControlItem4).EndInit(); + ((System.ComponentModel.ISupportInitialize)layoutControlItem5).EndInit(); + ((System.ComponentModel.ISupportInitialize)layoutControlItem6).EndInit(); + ((System.ComponentModel.ISupportInitialize)layoutControlItem7).EndInit(); + ((System.ComponentModel.ISupportInitialize)layoutControlItem8).EndInit(); + ((System.ComponentModel.ISupportInitialize)Root).EndInit(); + ((System.ComponentModel.ISupportInitialize)labSysTitle).EndInit(); + ((System.ComponentModel.ISupportInitialize)layoutControlItem2).EndInit(); + ((System.ComponentModel.ISupportInitialize)itemForProgress).EndInit(); + ResumeLayout(false); + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup Root; + private DevExpress.XtraLayout.SimpleLabelItem labSysTitle; + private DevExpress.XtraLayout.LayoutControl layoutControl2; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraEditors.SimpleButton btnCancel; + private DevExpress.XtraEditors.SimpleButton btnLogin; + private DevExpress.XtraEditors.CheckEdit ckRemember; + private DevExpress.XtraEditors.TextEdit txtPwd; + private DevExpress.XtraEditors.TextEdit txtLoginName; + private DevExpress.XtraEditors.LabelControl labTitle; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8; + private DevExpress.XtraEditors.LabelControl labelControl1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9; + private DevExpress.XtraEditors.MarqueeProgressBarControl marqueeProgressBarControl1; + private DevExpress.XtraLayout.LayoutControlItem itemForProgress; + } +} \ No newline at end of file diff --git a/Desktop/HStation.Desktop.PBS.Core/Login/LoginFrm.cs b/Desktop/HStation.Desktop.PBS.Core/Login/LoginFrm.cs new file mode 100644 index 0000000..65631f7 --- /dev/null +++ b/Desktop/HStation.Desktop.PBS.Core/Login/LoginFrm.cs @@ -0,0 +1,136 @@ +锘縰sing DevExpress.XtraEditors; +using Yw.WinFrmUI; + +namespace HStation.Desktop +{ + public partial class LoginFrm : DevExpress.XtraEditors.XtraForm + { + public LoginFrm() + { + InitializeComponent(); + this.layoutControl1.SetupLayoutControl(); + this.layoutControl2.SetupLayoutControl(); + this.Load += LoginBigFrm_Load; + } + + private void LoginBigFrm_Load(object sender, EventArgs e) + { + try + { + var settings = new UserLoginSettings(); + this.txtLoginName.EditValue = settings.LoginName; + if (settings.ExpireTime != null && settings.ExpireTime.Value > DateTime.Now) + { + this.txtPwd.EditValue = settings.Password; + this.ckRemember.Checked = true; + } + } + catch + { + } + } + + private void labSysTitle_MouseDown(object sender, MouseEventArgs e) + { + //this.DragMove(); + } + + private void btnLogin_Click(object sender, EventArgs e) + { + Login(); + } + + /// <summary> + /// 鏂板缁樺埗杈规 + /// </summary> + protected override void OnPaint(PaintEventArgs e) + { + base.OnPaint(e); + //using (var pen = new Pen(Color.FromArgb(0, 122, 204), 1f)) + //{ + // e.Graphics.DrawRectangle(pen, 0.5f, 0.5f, this.Width - 1, this.Height - 1); + //} + } + + //楠岃瘉 + private bool Valid() + { + this.itemForProgress.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always; + if (string.IsNullOrEmpty(this.txtLoginName.Text.Trim())) + { + XtraMessageBox.Show("璇疯緭鍏ョ敤鎴峰悕锛�"); + this.itemForProgress.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; + return default; + } + if (string.IsNullOrEmpty(this.txtPwd.Text.Trim())) + { + XtraMessageBox.Show("璇疯緭鍏ュ瘑鐮侊紒"); + this.itemForProgress.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; + return default; + } + return true; + } + + //鍙栨秷 + private void btnCancel_Click(object sender, EventArgs e) + { + this.DialogResult = DialogResult.Cancel; + this.Close(); + } + + //鐢ㄦ埛鍚岴nter + private void txtLoginName_KeyPress(object sender, KeyPressEventArgs e) + { + if (e.KeyChar == 13) + { + this.txtPwd.Focus(); + } + } + + //瀵嗙爜 Enter + private void txtPwd_KeyPress(object sender, KeyPressEventArgs e) + { + if (e.KeyChar == 13) + { + Login(); + } + } + + //鐧诲綍 + private async void Login() + { + if (!Valid()) + return; + + // 鐢ㄦ埛鐧诲綍 + var loginModel = new Yw.Dto.UserLoginSoftwareBySystemAccountStandardInput(); + loginModel.Software = "HStation_XHS_DESKTOP"; + loginModel.LoginName = this.txtLoginName.Text.Trim(); + loginModel.LoginPwd = this.txtPwd.Text.Trim(); + var bll = new Yw.BLL.UserLogin(); + var result = await bll.LoginSoftwareStandardBySystemAccount(loginModel); + if (result.Status != Yw.Auth.eLoginStatus.Success) + { + XtraMessageBox.Show($"鐧诲綍澶辫触,淇℃伅锛歿(int)result.Status}"); + this.itemForProgress.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; + return; + } + + Yw.JwtToken2Helper.Set(result.AccessToken, result.RefreshToken); + var settings = new UserLoginSettings(); + settings.LoginName = this.txtLoginName.Text.Trim(); + settings.Password = null; + settings.ExpireTime = DateTime.Now; + if (this.ckRemember.Checked) + { + settings.Password = this.txtPwd.Text.Trim(); + settings.ExpireTime = DateTime.Now.AddMonths(1); + } + settings.Save(); + + // var login = new LoginUser(result); + this.DialogResult = DialogResult.OK; + this.Close(); + } + } +} \ No newline at end of file diff --git a/Desktop/HStation.Desktop.PBS.Core/Login/LoginFrm.resx b/Desktop/HStation.Desktop.PBS.Core/Login/LoginFrm.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/Desktop/HStation.Desktop.PBS.Core/Login/LoginFrm.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> \ No newline at end of file diff --git a/Desktop/HStation.Desktop.PBS.Core/Login/LoginHelper.cs b/Desktop/HStation.Desktop.PBS.Core/Login/LoginHelper.cs new file mode 100644 index 0000000..ff76e9e --- /dev/null +++ b/Desktop/HStation.Desktop.PBS.Core/Login/LoginHelper.cs @@ -0,0 +1,25 @@ +锘縩amespace HStation.Desktop +{ + /// <summary> + /// 鐧诲綍杈呭姪绫� + /// </summary> + public class LoginHelper + { + /// <summary> + /// 鐧诲綍 + /// </summary> + public static bool Login() + { + var dlg = new LoginFrm(); + if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) + { + return true; + } + return false; + } + + + + + } +} diff --git a/Desktop/HStation.Desktop.PBS.Core/Login/UserLoginSettings.cs b/Desktop/HStation.Desktop.PBS.Core/Login/UserLoginSettings.cs new file mode 100644 index 0000000..1899989 --- /dev/null +++ b/Desktop/HStation.Desktop.PBS.Core/Login/UserLoginSettings.cs @@ -0,0 +1,42 @@ +锘縰sing System.Configuration; +using Yw.Untity; + +namespace HStation.Desktop +{ + /// <summary> + /// 鐢ㄦ埛璁剧疆 + /// </summary> + internal sealed class UserLoginSettings : ApplicationSettingsBase + { + /// <summary> + /// 鐧诲綍鍚嶇О + /// </summary> + [UserScopedSetting] + public string LoginName + { + get { return (string)this[nameof(LoginName)]; } + set { this[nameof(LoginName)] = value; } + } + + /// <summary> + /// 鐧诲綍瀵嗙爜 + /// </summary> + [UserScopedSetting] + public string Password + { + get { return ((string)this[nameof(Password)])?.DecryptByBase64(); } + set { this[nameof(Password)] = value?.EncryptByBase64(); } + } + + /// <summary> + /// 杩囨湡鏃堕棿 + /// </summary> + [UserScopedSetting] + public DateTime? ExpireTime + { + get { return (DateTime?)(this[nameof(ExpireTime)]); } + set { this[nameof(ExpireTime)] = value; } + } + + } +} diff --git a/Desktop/HStation.Desktop.PBS.Core/Login/eLoginStatus.cs b/Desktop/HStation.Desktop.PBS.Core/Login/eLoginStatus.cs new file mode 100644 index 0000000..1cf4f9b --- /dev/null +++ b/Desktop/HStation.Desktop.PBS.Core/Login/eLoginStatus.cs @@ -0,0 +1,18 @@ +锘縩amespace HStation.Desktop +{ + /// <summary> + /// 鐧诲綍鐘舵�� + /// </summary> + public enum eLoginStatus + { + /// <summary> + /// 鍙栨秷 + /// </summary> + Cancel = 0, + + /// <summary> + /// 纭畾 + /// </summary> + OK = 1, + } +} \ No newline at end of file diff --git a/Desktop/HStation.Desktop.PBS.Core/MainForm.Designer.cs b/Desktop/HStation.Desktop.PBS.Core/MainForm.Designer.cs new file mode 100644 index 0000000..079de94 --- /dev/null +++ b/Desktop/HStation.Desktop.PBS.Core/MainForm.Designer.cs @@ -0,0 +1,479 @@ +锘縩amespace HStation.Desktop +{ + partial class MainForm + { + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + DevExpress.Utils.SuperToolTip superToolTip4 = new DevExpress.Utils.SuperToolTip(); + DevExpress.Utils.ToolTipItem toolTipItem4 = new DevExpress.Utils.ToolTipItem(); + DevExpress.Utils.SuperToolTip superToolTip5 = new DevExpress.Utils.SuperToolTip(); + DevExpress.Utils.ToolTipItem toolTipItem5 = new DevExpress.Utils.ToolTipItem(); + DevExpress.Utils.SuperToolTip superToolTip6 = new DevExpress.Utils.SuperToolTip(); + DevExpress.Utils.ToolTipItem toolTipItem6 = new DevExpress.Utils.ToolTipItem(); + tileNavPane = new DevExpress.XtraBars.Navigation.TileNavPane(); + nbTitle = new DevExpress.XtraBars.Navigation.NavButton(); + navBtnPrevious = new DevExpress.XtraBars.Navigation.NavButton(); + navBtnCurrent = new DevExpress.XtraBars.Navigation.NavButton(); + navBtnNext = new DevExpress.XtraBars.Navigation.NavButton(); + navBtnPattern = new DevExpress.XtraBars.Navigation.NavButton(); + nbProjectMgr = new DevExpress.XtraBars.Navigation.NavButton(); + nbModelMgr = new DevExpress.XtraBars.Navigation.NavButton(); + nbProductManage = new DevExpress.XtraBars.Navigation.NavButton(); + navButton2 = new DevExpress.XtraBars.Navigation.NavButton(); + nbSystemConfig = new DevExpress.XtraBars.Navigation.NavButton(); + nbAuthConfig = new DevExpress.XtraBars.Navigation.NavButton(); + nbMin = new DevExpress.XtraBars.Navigation.NavButton(); + nbNormal = new DevExpress.XtraBars.Navigation.NavButton(); + nbClose = new DevExpress.XtraBars.Navigation.NavButton(); + documentManager1 = new DevExpress.XtraBars.Docking2010.DocumentManager(components); + barManager1 = new DevExpress.XtraBars.BarManager(components); + bar3 = new DevExpress.XtraBars.Bar(); + barStaticOwner = new DevExpress.XtraBars.BarStaticItem(); + barStaticVersion = new DevExpress.XtraBars.BarStaticItem(); + barDockControlTop = new DevExpress.XtraBars.BarDockControl(); + barDockControlBottom = new DevExpress.XtraBars.BarDockControl(); + barDockControlLeft = new DevExpress.XtraBars.BarDockControl(); + barDockControlRight = new DevExpress.XtraBars.BarDockControl(); + dockManager1 = new DevExpress.XtraBars.Docking.DockManager(components); + barDockingMenuItem1 = new DevExpress.XtraBars.BarDockingMenuItem(); + tabbedView1 = new DevExpress.XtraBars.Docking2010.Views.Tabbed.TabbedView(components); + flyoutPanel1 = new DevExpress.Utils.FlyoutPanel(); + flyoutPanelControl1 = new DevExpress.Utils.FlyoutPanelControl(); + svgImg32Model = new DevExpress.Utils.SvgImageCollection(components); + ((System.ComponentModel.ISupportInitialize)tileNavPane).BeginInit(); + ((System.ComponentModel.ISupportInitialize)documentManager1).BeginInit(); + ((System.ComponentModel.ISupportInitialize)barManager1).BeginInit(); + ((System.ComponentModel.ISupportInitialize)dockManager1).BeginInit(); + ((System.ComponentModel.ISupportInitialize)tabbedView1).BeginInit(); + ((System.ComponentModel.ISupportInitialize)flyoutPanel1).BeginInit(); + flyoutPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)flyoutPanelControl1).BeginInit(); + ((System.ComponentModel.ISupportInitialize)svgImg32Model).BeginInit(); + SuspendLayout(); + // + // tileNavPane + // + tileNavPane.AllowGlyphSkinning = true; + tileNavPane.Buttons.Add(nbTitle); + tileNavPane.Buttons.Add(navBtnPrevious); + tileNavPane.Buttons.Add(navBtnCurrent); + tileNavPane.Buttons.Add(navBtnNext); + tileNavPane.Buttons.Add(navBtnPattern); + tileNavPane.Buttons.Add(nbProjectMgr); + tileNavPane.Buttons.Add(nbModelMgr); + tileNavPane.Buttons.Add(nbProductManage); + tileNavPane.Buttons.Add(navButton2); + tileNavPane.Buttons.Add(nbSystemConfig); + tileNavPane.Buttons.Add(nbAuthConfig); + tileNavPane.Buttons.Add(nbMin); + tileNavPane.Buttons.Add(nbNormal); + tileNavPane.Buttons.Add(nbClose); + // + // tileNavCategory1 + // + tileNavPane.DefaultCategory.Name = "tileNavCategory1"; + // + // + // + tileNavPane.DefaultCategory.Tile.DropDownOptions.BeakColor = Color.Empty; + tileNavPane.Dock = DockStyle.Top; + tileNavPane.Location = new Point(0, 0); + tileNavPane.Margin = new Padding(4, 5, 4, 5); + tileNavPane.Name = "tileNavPane"; + tileNavPane.Size = new Size(2087, 83); + tileNavPane.TabIndex = 0; + tileNavPane.Text = "tileNavPane1"; + tileNavPane.ElementClick += tileNavPane_ElementClick; + tileNavPane.MouseDown += tileNavPane_MouseDown; + // + // nbTitle + // + nbTitle.Caption = "浜屼緵鎴愬绯荤粺"; + nbTitle.ImageOptions.AllowGlyphSkinning = DevExpress.Utils.DefaultBoolean.True; + nbTitle.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("nbTitle.ImageOptions.SvgImage"); + nbTitle.Name = "nbTitle"; + nbTitle.ElementClick += nbTitle_ElementClick; + // + // navBtnPrevious + // + navBtnPrevious.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Left; + navBtnPrevious.Caption = null; + navBtnPrevious.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("navBtnPrevious.ImageOptions.SvgImage"); + navBtnPrevious.Name = "navBtnPrevious"; + toolTipItem4.Text = "鍚庨��"; + superToolTip4.Items.Add(toolTipItem4); + navBtnPrevious.SuperTip = superToolTip4; + navBtnPrevious.Visible = false; + navBtnPrevious.ElementClick += navBtnPrevious_ElementClick; + // + // navBtnCurrent + // + navBtnCurrent.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Left; + navBtnCurrent.Appearance.BackColor = Color.FromArgb(255, 128, 0); + navBtnCurrent.Appearance.ForeColor = Color.White; + navBtnCurrent.Appearance.Options.UseBackColor = true; + navBtnCurrent.Appearance.Options.UseForeColor = true; + navBtnCurrent.AppearanceDisabled.BackColor = Color.FromArgb(255, 128, 0); + navBtnCurrent.AppearanceDisabled.ForeColor = Color.White; + navBtnCurrent.AppearanceDisabled.Options.UseBackColor = true; + navBtnCurrent.AppearanceDisabled.Options.UseForeColor = true; + navBtnCurrent.AppearanceHovered.BackColor = Color.FromArgb(255, 128, 0); + navBtnCurrent.AppearanceHovered.ForeColor = Color.White; + navBtnCurrent.AppearanceHovered.Options.UseBackColor = true; + navBtnCurrent.AppearanceHovered.Options.UseForeColor = true; + navBtnCurrent.AppearanceSelected.BackColor = Color.FromArgb(255, 128, 0); + navBtnCurrent.AppearanceSelected.ForeColor = Color.White; + navBtnCurrent.AppearanceSelected.Options.UseBackColor = true; + navBtnCurrent.AppearanceSelected.Options.UseForeColor = true; + navBtnCurrent.Caption = "棣栭〉"; + navBtnCurrent.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("navBtnCurrent.ImageOptions.SvgImage"); + navBtnCurrent.Name = "navBtnCurrent"; + // + // navBtnNext + // + navBtnNext.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Left; + navBtnNext.Caption = null; + navBtnNext.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("navBtnNext.ImageOptions.SvgImage"); + navBtnNext.Name = "navBtnNext"; + toolTipItem5.Text = "鍓嶈繘"; + superToolTip5.Items.Add(toolTipItem5); + navBtnNext.SuperTip = superToolTip5; + navBtnNext.Visible = false; + navBtnNext.ElementClick += navBtnNext_ElementClick; + // + // navBtnPattern + // + navBtnPattern.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Left; + navBtnPattern.Caption = null; + navBtnPattern.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("navBtnPattern.ImageOptions.SvgImage"); + navBtnPattern.Name = "navBtnPattern"; + toolTipItem6.Text = "妯″紡鍒囨崲"; + superToolTip6.Items.Add(toolTipItem6); + navBtnPattern.SuperTip = superToolTip6; + navBtnPattern.ElementClick += navBtnPattern_ElementClick; + // + // nbProjectMgr + // + nbProjectMgr.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right; + nbProjectMgr.Caption = "椤圭洰绠$悊"; + nbProjectMgr.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("nbProjectMgr.ImageOptions.SvgImage"); + nbProjectMgr.ImageOptions.SvgImageSize = new Size(24, 24); + nbProjectMgr.Name = "nbProjectMgr"; + nbProjectMgr.ElementClick += nbProjectMgr_ElementClick; + // + // nbModelMgr + // + nbModelMgr.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right; + nbModelMgr.Caption = "妯″瀷绠$悊"; + nbModelMgr.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("nbModelMgr.ImageOptions.SvgImage"); + nbModelMgr.ImageOptions.SvgImageSize = new Size(24, 24); + nbModelMgr.Name = "nbModelMgr"; + nbModelMgr.ElementClick += nbModelMgr_ElementClick; + // + // nbProductManage + // + nbProductManage.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right; + nbProductManage.Caption = "浜у搧绠$悊"; + nbProductManage.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("nbProductManage.ImageOptions.SvgImage"); + nbProductManage.Name = "nbProductManage"; + nbProductManage.ElementClick += nbProductManage_ElementClick; + // + // navButton2 + // + navButton2.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right; + navButton2.Caption = "鍨嬪彿绠$悊"; + navButton2.Name = "navButton2"; + navButton2.Visible = false; + // + // nbSystemConfig + // + nbSystemConfig.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right; + nbSystemConfig.Caption = "绯荤粺閰嶇疆"; + nbSystemConfig.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("nbSystemConfig.ImageOptions.SvgImage"); + nbSystemConfig.Name = "nbSystemConfig"; + nbSystemConfig.ElementClick += nbSystemConfig_ElementClick; + // + // nbAuthConfig + // + nbAuthConfig.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right; + nbAuthConfig.Caption = "鏉冮檺閰嶇疆"; + nbAuthConfig.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("nbAuthConfig.ImageOptions.SvgImage"); + nbAuthConfig.Name = "nbAuthConfig"; + nbAuthConfig.ElementClick += nbAuthConfig_ElementClick; + // + // nbMin + // + nbMin.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right; + nbMin.Caption = null; + nbMin.ImageOptions.AllowGlyphSkinning = DevExpress.Utils.DefaultBoolean.True; + nbMin.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("nbMin.ImageOptions.SvgImage"); + nbMin.ImageOptions.SvgImageSize = new Size(24, 24); + nbMin.Name = "nbMin"; + nbMin.ElementClick += nbMin_ElementClick; + // + // nbNormal + // + nbNormal.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right; + nbNormal.Caption = null; + nbNormal.ImageOptions.AllowGlyphSkinning = DevExpress.Utils.DefaultBoolean.True; + nbNormal.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("nbNormal.ImageOptions.SvgImage"); + nbNormal.ImageOptions.SvgImageSize = new Size(20, 20); + nbNormal.Name = "nbNormal"; + nbNormal.ElementClick += nbNormal_ElementClick; + // + // nbClose + // + nbClose.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right; + nbClose.Caption = null; + nbClose.ImageOptions.AllowGlyphSkinning = DevExpress.Utils.DefaultBoolean.True; + nbClose.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("nbClose.ImageOptions.SvgImage"); + nbClose.ImageOptions.SvgImageSize = new Size(24, 24); + nbClose.Name = "nbClose"; + nbClose.ElementClick += nabClose_ElementClick; + // + // documentManager1 + // + documentManager1.ContainerControl = this; + documentManager1.MenuManager = barManager1; + documentManager1.View = tabbedView1; + documentManager1.ViewCollection.AddRange(new DevExpress.XtraBars.Docking2010.Views.BaseView[] { tabbedView1 }); + // + // barManager1 + // + barManager1.Bars.AddRange(new DevExpress.XtraBars.Bar[] { bar3 }); + barManager1.DockControls.Add(barDockControlTop); + barManager1.DockControls.Add(barDockControlBottom); + barManager1.DockControls.Add(barDockControlLeft); + barManager1.DockControls.Add(barDockControlRight); + barManager1.DockManager = dockManager1; + barManager1.Form = this; + barManager1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { barStaticOwner, barStaticVersion, barDockingMenuItem1 }); + barManager1.MaxItemId = 4; + barManager1.StatusBar = bar3; + // + // bar3 + // + bar3.BarName = "Status bar"; + bar3.CanDockStyle = DevExpress.XtraBars.BarCanDockStyle.Bottom; + bar3.DockCol = 0; + bar3.DockRow = 0; + bar3.DockStyle = DevExpress.XtraBars.BarDockStyle.Bottom; + bar3.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { new DevExpress.XtraBars.LinkPersistInfo(barStaticOwner), new DevExpress.XtraBars.LinkPersistInfo(barStaticVersion) }); + bar3.OptionsBar.AllowQuickCustomization = false; + bar3.OptionsBar.DrawDragBorder = false; + bar3.OptionsBar.UseWholeRow = true; + bar3.Text = "Status bar"; + // + // barStaticOwner + // + barStaticOwner.Caption = "涓婃捣涔夌淮娴佷綋绉戞妧鏈夐檺鍏徃"; + barStaticOwner.Id = 1; + barStaticOwner.Name = "barStaticOwner"; + // + // barStaticVersion + // + barStaticVersion.Alignment = DevExpress.XtraBars.BarItemLinkAlignment.Right; + barStaticVersion.Caption = "鐗堟湰锛�1.0.0.0"; + barStaticVersion.Id = 2; + barStaticVersion.Name = "barStaticVersion"; + // + // barDockControlTop + // + barDockControlTop.CausesValidation = false; + barDockControlTop.Dock = DockStyle.Top; + barDockControlTop.Location = new Point(0, 0); + barDockControlTop.Manager = barManager1; + barDockControlTop.Margin = new Padding(4, 5, 4, 5); + barDockControlTop.Size = new Size(2087, 0); + // + // barDockControlBottom + // + barDockControlBottom.CausesValidation = false; + barDockControlBottom.Dock = DockStyle.Bottom; + barDockControlBottom.Location = new Point(0, 1085); + barDockControlBottom.Manager = barManager1; + barDockControlBottom.Margin = new Padding(4, 5, 4, 5); + barDockControlBottom.Size = new Size(2087, 46); + // + // barDockControlLeft + // + barDockControlLeft.CausesValidation = false; + barDockControlLeft.Dock = DockStyle.Left; + barDockControlLeft.Location = new Point(0, 0); + barDockControlLeft.Manager = barManager1; + barDockControlLeft.Margin = new Padding(4, 5, 4, 5); + barDockControlLeft.Size = new Size(0, 1085); + // + // barDockControlRight + // + barDockControlRight.CausesValidation = false; + barDockControlRight.Dock = DockStyle.Right; + barDockControlRight.Location = new Point(2087, 0); + barDockControlRight.Manager = barManager1; + barDockControlRight.Margin = new Padding(4, 5, 4, 5); + barDockControlRight.Size = new Size(0, 1085); + // + // dockManager1 + // + dockManager1.Form = this; + dockManager1.MenuManager = barManager1; + dockManager1.TopZIndexControls.AddRange(new string[] { "DevExpress.XtraBars.BarDockControl", "DevExpress.XtraBars.StandaloneBarDockControl", "System.Windows.Forms.MenuStrip", "System.Windows.Forms.StatusStrip", "System.Windows.Forms.StatusBar", "DevExpress.XtraBars.Ribbon.RibbonStatusBar", "DevExpress.XtraBars.Ribbon.RibbonControl", "DevExpress.XtraBars.Navigation.OfficeNavigationBar", "DevExpress.XtraBars.Navigation.TileNavPane", "DevExpress.XtraBars.TabFormControl", "DevExpress.XtraBars.FluentDesignSystem.FluentDesignFormControl", "DevExpress.XtraBars.ToolbarForm.ToolbarFormControl" }); + // + // barDockingMenuItem1 + // + barDockingMenuItem1.Caption = "Window"; + barDockingMenuItem1.Id = 3; + barDockingMenuItem1.Name = "barDockingMenuItem1"; + // + // tabbedView1 + // + tabbedView1.DocumentGroupProperties.ShowTabHeader = false; + tabbedView1.DocumentProperties.AllowPin = true; + tabbedView1.Style = DevExpress.XtraBars.Docking2010.Views.DockingViewStyle.Light; + tabbedView1.DocumentSelected += tabbedView1_DocumentSelected; + tabbedView1.DocumentAdded += tabbedView1_DocumentAdded; + tabbedView1.DocumentActivated += tabbedView1_DocumentActivated; + tabbedView1.DocumentClosed += tabbedView1_DocumentClosed; + // + // flyoutPanel1 + // + flyoutPanel1.AnimationRate = 100; + flyoutPanel1.Controls.Add(flyoutPanelControl1); + flyoutPanel1.Location = new Point(706, 209); + flyoutPanel1.Margin = new Padding(4, 5, 4, 5); + flyoutPanel1.Name = "flyoutPanel1"; + flyoutPanel1.Options.CloseOnOuterClick = true; + flyoutPanel1.OptionsBeakPanel.BeakLocation = DevExpress.Utils.BeakPanelBeakLocation.Top; + flyoutPanel1.OptionsButtonPanel.ButtonPanelHeight = 47; + flyoutPanel1.ParentForm = this; + flyoutPanel1.Size = new Size(286, 157); + flyoutPanel1.TabIndex = 5; + // + // flyoutPanelControl1 + // + flyoutPanelControl1.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder; + flyoutPanelControl1.Dock = DockStyle.Fill; + flyoutPanelControl1.FlyoutPanel = flyoutPanel1; + flyoutPanelControl1.Location = new Point(0, 0); + flyoutPanelControl1.Margin = new Padding(4, 5, 4, 5); + flyoutPanelControl1.Name = "flyoutPanelControl1"; + flyoutPanelControl1.Size = new Size(286, 157); + flyoutPanelControl1.TabIndex = 0; + // + // svgImg32Model + // + svgImg32Model.ImageSize = new Size(32, 32); + svgImg32Model.Add("actions_book", "image://svgimages/icon builder/actions_book.svg"); + svgImg32Model.Add("charttype_stepline", "image://svgimages/chart/charttype_stepline.svg"); + svgImg32Model.Add("bletter", "image://svgimages/outlook inspired/bletter.svg"); + svgImg32Model.Add("propertiespanel", "image://svgimages/diagramicons/propertiespanel.svg"); + svgImg32Model.Add("columntotalsposition", "image://svgimages/dashboards/columntotalsposition.svg"); + svgImg32Model.Add("bo_category", "image://svgimages/business objects/bo_category.svg"); + svgImg32Model.Add("documentproperties", "image://svgimages/richedit/documentproperties.svg"); + svgImg32Model.Add("showallvalue", "image://svgimages/dashboards/showallvalue.svg"); + svgImg32Model.Add("gaugestylelinearhorizontal", "image://svgimages/dashboards/gaugestylelinearhorizontal.svg"); + svgImg32Model.Add("createlinechartnomarkers", "image://svgimages/spreadsheet/createlinechartnomarkers.svg"); + svgImg32Model.Add("Threelink", (DevExpress.Utils.Svg.SvgImage)resources.GetObject("svgImg32Model.Threelink")); + svgImg32Model.Add("Line", (DevExpress.Utils.Svg.SvgImage)resources.GetObject("svgImg32Model.Line")); + svgImg32Model.Add("compressor", (DevExpress.Utils.Svg.SvgImage)resources.GetObject("svgImg32Model.compressor")); + svgImg32Model.Add("Exchanger", (DevExpress.Utils.Svg.SvgImage)resources.GetObject("svgImg32Model.Exchanger")); + svgImg32Model.Add("Fourlink", (DevExpress.Utils.Svg.SvgImage)resources.GetObject("svgImg32Model.Fourlink")); + svgImg32Model.Add("Elbow", (DevExpress.Utils.Svg.SvgImage)resources.GetObject("svgImg32Model.Elbow")); + svgImg32Model.Add("Manufacturer", (DevExpress.Utils.Svg.SvgImage)resources.GetObject("svgImg32Model.Manufacturer")); + svgImg32Model.Add("Valve", (DevExpress.Utils.Svg.SvgImage)resources.GetObject("svgImg32Model.Valve")); + svgImg32Model.Add("Pump", (DevExpress.Utils.Svg.SvgImage)resources.GetObject("svgImg32Model.Pump")); + svgImg32Model.Add("Nozzle", (DevExpress.Utils.Svg.SvgImage)resources.GetObject("svgImg32Model.Nozzle")); + // + // MainForm + // + AutoScaleDimensions = new SizeF(10F, 22F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(2087, 1131); + Controls.Add(flyoutPanel1); + Controls.Add(tileNavPane); + Controls.Add(barDockControlLeft); + Controls.Add(barDockControlRight); + Controls.Add(barDockControlBottom); + Controls.Add(barDockControlTop); + Margin = new Padding(4, 3, 4, 3); + Name = "MainForm"; + Text = "Form1"; + WindowState = FormWindowState.Maximized; + FormClosing += MainForm_FormClosing; + FormClosed += MainForm_FormClosed; + Load += MainForm_Load; + Shown += MainForm_Shown; + Resize += MainForm_Resize; + ((System.ComponentModel.ISupportInitialize)tileNavPane).EndInit(); + ((System.ComponentModel.ISupportInitialize)documentManager1).EndInit(); + ((System.ComponentModel.ISupportInitialize)barManager1).EndInit(); + ((System.ComponentModel.ISupportInitialize)dockManager1).EndInit(); + ((System.ComponentModel.ISupportInitialize)tabbedView1).EndInit(); + ((System.ComponentModel.ISupportInitialize)flyoutPanel1).EndInit(); + flyoutPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)flyoutPanelControl1).EndInit(); + ((System.ComponentModel.ISupportInitialize)svgImg32Model).EndInit(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private DevExpress.XtraBars.Navigation.TileNavPane tileNavPane; + private DevExpress.XtraBars.Navigation.NavButton nbTitle; + private DevExpress.XtraBars.Docking2010.DocumentManager documentManager1; + private DevExpress.XtraBars.BarDockControl barDockControlLeft; + private DevExpress.XtraBars.BarManager barManager1; + private DevExpress.XtraBars.Bar bar3; + private DevExpress.XtraBars.BarDockControl barDockControlTop; + private DevExpress.XtraBars.BarDockControl barDockControlBottom; + private DevExpress.XtraBars.BarDockControl barDockControlRight; + private DevExpress.XtraBars.Docking2010.Views.Tabbed.TabbedView tabbedView1; + private DevExpress.XtraBars.BarStaticItem barStaticOwner; + private DevExpress.XtraBars.BarStaticItem barStaticVersion; + private DevExpress.XtraBars.BarDockingMenuItem barDockingMenuItem1; + private DevExpress.XtraBars.Navigation.NavButton nbMin; + private DevExpress.XtraBars.Navigation.NavButton nbNormal; + private DevExpress.XtraBars.Navigation.NavButton nbClose; + private DevExpress.XtraBars.Docking.DockManager dockManager1; + private DevExpress.XtraBars.Navigation.NavButton nbProjectMgr; + private DevExpress.XtraBars.Navigation.NavButton nbModelMgr; + private DevExpress.Utils.FlyoutPanel flyoutPanel1; + private DevExpress.Utils.FlyoutPanelControl flyoutPanelControl1; + private DevExpress.Utils.SvgImageCollection svgImg32Model; + private DevExpress.XtraBars.Navigation.NavButton nbProductManage; + private DevExpress.XtraBars.Navigation.NavButton nbSystemConfig; + private DevExpress.XtraBars.Navigation.NavButton navButton2; + private DevExpress.XtraBars.Navigation.NavButton navBtnCurrent; + private DevExpress.XtraBars.Navigation.NavButton navBtnPrevious; + private DevExpress.XtraBars.Navigation.NavButton navBtnNext; + private DevExpress.XtraBars.Navigation.NavButton nbAuthConfig; + private DevExpress.XtraBars.Navigation.NavButton navBtnPattern; + } +} diff --git a/Desktop/HStation.Desktop.PBS.Core/MainForm.cs b/Desktop/HStation.Desktop.PBS.Core/MainForm.cs new file mode 100644 index 0000000..e896851 --- /dev/null +++ b/Desktop/HStation.Desktop.PBS.Core/MainForm.cs @@ -0,0 +1,1057 @@ +using DevExpress.XtraBars.Docking; +using DevExpress.XtraBars.Docking2010.Views; +using DevExpress.XtraBars.Navigation; +using DevExpress.XtraBars.Ribbon; +using DevExpress.XtraEditors; +using System.IO; +using Yw.WinFrmUI; +using Yw.WinFrmUI.Page; + +namespace HStation.Desktop +{ + public partial class MainForm : RibbonForm + { + public MainForm() + { + InitializeComponent(); + } + + #region TileNavPane 相关处理 + + //最大化最小化窗体 + private void nbNormal_ElementClick(object sender, NavElementEventArgs e) + { + if (this.WindowState == FormWindowState.Maximized) + { + this.WindowState = FormWindowState.Normal; + } + else + { + this.WindowState = FormWindowState.Maximized; + } + } + + //最小化窗体 + private void nbMin_ElementClick(object sender, NavElementEventArgs e) + { + this.WindowState = FormWindowState.Minimized; + } + + //关闭窗体 + private void nabClose_ElementClick(object sender, NavElementEventArgs e) + { + this.Close(); + } + + //移动窗体 + private void tileNavPane_MouseDown(object sender, MouseEventArgs e) + { + if (e.Clicks >= 2) + { + if (this.WindowState == FormWindowState.Maximized) + { + this.WindowState = FormWindowState.Normal; + } + else + { + this.WindowState = FormWindowState.Maximized; + } + } + else + { + var hitInfo = this.tileNavPane.CalcHitInfo(e.Location); + if (hitInfo.InButton) + { + return; + } + this.DragMove(); + } + } + + //功能点击事件 + private void tileNavPane_ElementClick(object sender, NavElementEventArgs e) + { + var item = e.Element as NavButton; + if (item.Tag != null) + { + if (item.Tag is string) + { + } + } + } + + //首页 + private void nbTitle_ElementClick(object sender, NavElementEventArgs e) + { + var guid = new PageGuid() + { + Modular = "Xhs", + MoudingType = eMoudingType.Tab, + Function = "Home" + }; + if (!IsExistPage(guid, true)) + { + //var page = new HomeXhsProjectPage(); + //CreatePage(page, guid); + } + } + + //项目管理 + private void nbProjectMgr_ElementClick(object sender, NavElementEventArgs e) + { + var guid = new PageGuid() + { + Modular = "Xhs", + MoudingType = eMoudingType.Tab, + Function = "ProjectMgr", + }; + if (!IsExistPage(guid, true)) + { + //var page = new XhsProjectMgrPage(); + //CreatePage(page, guid); + } + } + + //模型管理 + private void nbModelMgr_ElementClick(object sender, NavElementEventArgs e) + { + var pt = this.tileNavPane.PointToClient(MousePosition); + var hitInfo = this.tileNavPane.CalcHitInfo(pt); + if (hitInfo.ButtonInfo != null) + { + if (_bimfaceMgrBeakCtrl == null) + { + var peakItemList = new List<Yw.WinFrmUI.TilePeekItem>() + { + new TilePeekItem() + { + Caption="水力场景", + SvgImage=svgImg32Model[0], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Hydro", + MoudingType=eMoudingType.Tab, + Function="SceneMgr", + }; + if(!IsExistPage(guid,true)) + { + //var page=new Yw.WinFrmUI.HydroSceneMgrPage(); + //CreatePage(page,guid); + } + } + }, + new TilePeekItem(){ + Caption="水力模型", + SvgImage=svgImg32Model[1], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Hydro", + MoudingType=eMoudingType.Tab, + Function="ModelMgr", + }; + if(!IsExistPage(guid,true)) + { + /* var page=new HStation.WinFrmUI.HydroModelMgrPage(); + CreatePage(page,guid);*/ + } + } + }, + new TilePeekItem(){ + Caption="三维模型", + SvgImage=svgImg32Model[2], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Bimface", + MoudingType=eMoudingType.Tab, + Function="FileMgr", + }; + if(!IsExistPage(guid,true)) + { + /*var page=new Yw.WinFrmUI.BimfaceFileMgrPage(); + CreatePage(page,guid);*/ + } + } + }, + }; + _bimfaceMgrBeakCtrl = peakItemList.CreatePeekCtrl(); + } + this.flyoutPanel1.Size = _bimfaceMgrBeakCtrl.Size; + this.flyoutPanelControl1.Controls.Clear(); + this.flyoutPanelControl1.Controls.Add(_bimfaceMgrBeakCtrl); + var rectangle = this.RectangleToScreen(hitInfo.ButtonInfo.Bounds); + this.flyoutPanel1.ShowBeakForm(rectangle); + } + } + + private Control _bimfaceMgrBeakCtrl = null;//bimface管理弹出界面 + private Control _SystemProductManageCtrl = null;//产品管理弹出界面 + + private Control _SystemConfigCtrl = null;//系统配置弹出界面 + + private Control _AuthConfigCtrl = null;//权限配置弹出界面 + + //产品管理 + private void nbProductManage_ElementClick(object sender, NavElementEventArgs e) + { + var pt = this.tileNavPane.PointToClient(MousePosition); + var hitInfo = this.tileNavPane.CalcHitInfo(pt); + if (hitInfo.ButtonInfo != null) + { + if (_SystemProductManageCtrl == null) + { + var peakItemList = new List<Yw.WinFrmUI.TilePeekItem>() + { + new TilePeekItem(){ + Caption="水泵管理", + SvgImage=svgImg32Model[18], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Asstes", + MoudingType=eMoudingType.Tab, + Function="pumpMgr", + }; + if(!IsExistPage(guid,true)) + { + /* var page=new PumpProductMainPage(); + CreatePage(page,guid);*/ + } + } + }, + new TilePeekItem(){ + Caption="阀门管理", + SvgImage=svgImg32Model[17], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Asstes", + MoudingType=eMoudingType.Tab, + Function="ValveMgr", + }; + if(!IsExistPage(guid,true)) + { + /* var page=new ValveManageMainPage(); + CreatePage(page,guid);*/ + } + } + }, + /*new TilePeekItem(){ + Caption="管道附件", + SvgImage=svgImg32Model[8], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Asstes", + MoudingType=eMoudingType.Tab, + Function="AdaptingMgr", + }; + if(!IsExistPage(guid,true)) + { + var page=new AdaptingManageMainPanel(); + CreatePage(page,guid); + } + } + }, */ new TilePeekItem(){ + Caption="弯头管理", + SvgImage=svgImg32Model[15], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Asstes", + MoudingType=eMoudingType.Tab, + Function="Elbow", + }; + if(!IsExistPage(guid,true)) + { + /*var page=new ElbowManageMainPage(); + CreatePage(page,guid);*/ + } + } + }, + new TilePeekItem(){ + Caption="三通管理", + SvgImage=svgImg32Model[10], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Asstes", + MoudingType=eMoudingType.Tab, + Function="ThreeLink", + }; + if(!IsExistPage(guid,true)) + { + /* var page=new ThreeLinkManageMainPage(); + CreatePage(page,guid);*/ + } + } + }, + new TilePeekItem(){ + Caption="喷头管理", + SvgImage=svgImg32Model[19], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Asstes", + MoudingType=eMoudingType.Tab, + Function="Sprinkler", + }; + if(!IsExistPage(guid,true)) + { + /* var page=new SprinklerManageMainPage(); + CreatePage(page,guid);*/ + } + } + }, + new TilePeekItem(){ + Caption="四通管理", + SvgImage=svgImg32Model[14], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Asstes", + MoudingType=eMoudingType.Tab, + Function="FourLink", + }; + if(!IsExistPage(guid,true)) + { + /*var page=new FourLinkManageMainPage(); + CreatePage(page,guid);*/ + } + } + }, + new TilePeekItem(){ + Caption="厂商管理", + SvgImage=svgImg32Model[16], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Asstes", + MoudingType=eMoudingType.Tab, + Function="AssetsManufacturerMainPanel", + }; + if(!IsExistPage(guid,true)) + { + /* var page=new AssetsManufacturerMainPage(); + CreatePage(page,guid);*/ + } + } + }, + new TilePeekItem(){ + Caption="管道管理", + SvgImage=svgImg32Model[11], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Asstes", + MoudingType=eMoudingType.Tab, + Function="PipeLineMgr", + }; + if(!IsExistPage(guid,true)) + { + /*var page=new PipeManageMainPage(); + CreatePage(page,guid);*/ + } + } + }, new TilePeekItem(){ + Caption="换热器管理", + SvgImage=svgImg32Model[13], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Asstes", + MoudingType=eMoudingType.Tab, + Function="ExchangerMgr", + }; + if(!IsExistPage(guid,true)) + { + /*var page=new ExchangerManageMainPage(); + CreatePage(page,guid);*/ + } + } + },new TilePeekItem(){ + Caption="空压机管理", + SvgImage=svgImg32Model[12], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Asstes", + MoudingType=eMoudingType.Tab, + Function="CompressorMgr", + }; + if(!IsExistPage(guid,true)) + { + /* var page=new CompressorManageMainPage(); + CreatePage(page,guid);*/ + } + } + } + }; + _SystemProductManageCtrl = peakItemList.CreatePeekCtrl(); + } + this.flyoutPanel1.Size = _SystemProductManageCtrl.Size; + this.flyoutPanelControl1.Controls.Clear(); + this.flyoutPanelControl1.Controls.Add(_SystemProductManageCtrl); + var rectangle = this.RectangleToScreen(hitInfo.ButtonInfo.Bounds); + this.flyoutPanel1.ShowBeakForm(rectangle); + } + } + + //系统配置 + private void nbSystemConfig_ElementClick(object sender, NavElementEventArgs e) + { + var pt = this.tileNavPane.PointToClient(MousePosition); + var hitInfo = this.tileNavPane.CalcHitInfo(pt); + if (hitInfo.ButtonInfo != null) + { + if (_SystemConfigCtrl == null) + { + var peakItemList = new List<Yw.WinFrmUI.TilePeekItem>() + { + /* new TilePeekItem(){ + Caption="角色管理", + SvgImage=svgImg32Model[3], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Auth", + MoudingType=eMoudingType.Tab, + Function="UserManageMgr", + }; + if(!IsExistPage(guid,true)) + { + var page=new UserMgrMainPanel(); + CreatePage(page,guid); + } + } + }, + new TilePeekItem(){ + Caption="用户管理", + SvgImage=svgImg32Model[7], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Auth", + MoudingType=eMoudingType.Tab, + Function="ValveMgr", + }; + if(!IsExistPage(guid,true)) + { + var page=new ValveManageMainPage(); + CreatePage(page,guid); + } + } + }, + new TilePeekItem(){ + Caption="菜单管理", + SvgImage=svgImg32Model[2], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Auth", + MoudingType=eMoudingType.Tab, + Function="TypeMgr", + }; + if(!IsExistPage(guid,true)) + { + var page=new SysTypeManageMainPanel(); + CreatePage(page,guid); + } + } + },*/ + new TilePeekItem(){ + Caption="类型管理", + SvgImage=svgImg32Model[4], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Basic", + MoudingType=eMoudingType.Tab, + Function="TypeMgr", + }; + if(!IsExistPage(guid,true)) + {/* + var page=new SysTypeManageMainPanel(); + CreatePage(page,guid);*/ + } + } + }, + new TilePeekItem(){ + Caption="分类管理", + SvgImage=svgImg32Model[5], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Basic", + MoudingType=eMoudingType.Tab, + Function="CataLogMgr", + }; + if(!IsExistPage(guid,true)) + { + /* var page=new SysCatalogManageMainPanel(); + CreatePage(page,guid);*/ + } + } + }, new TilePeekItem(){ + Caption="属性管理", + SvgImage=svgImg32Model[6], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Basic", + MoudingType=eMoudingType.Tab, + Function="PropMgr", + }; + if(!IsExistPage(guid,true)) + { + /*var page=new SysPropManageMainPanel(); + CreatePage(page,guid);*/ + } + } + }, + new TilePeekItem(){ + Caption="字典类型", + SvgImage=svgImg32Model[1], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Dict", + MoudingType=eMoudingType.Tab, + Function="DictMgr", + }; + if(!IsExistPage(guid,true)) + { + /* var page=new HStation.WinFrmUI.Dict.DictManageMainPanel(); + CreatePage(page,guid);*/ + } + } + }, + }; + _SystemConfigCtrl = peakItemList.CreatePeekCtrl(); + } + this.flyoutPanel1.Size = _SystemConfigCtrl.Size; + this.flyoutPanelControl1.Controls.Clear(); + this.flyoutPanelControl1.Controls.Add(_SystemConfigCtrl); + var rectangle = this.RectangleToScreen(hitInfo.ButtonInfo.Bounds); + this.flyoutPanel1.ShowBeakForm(rectangle); + } + } + + /// <summary> + /// 权限配置 + /// </summary> + /// <param name="sender"></param> + /// <param name="e"></param> + private void nbAuthConfig_ElementClick(object sender, NavElementEventArgs e) + { + var pt = this.tileNavPane.PointToClient(MousePosition); + var hitInfo = this.tileNavPane.CalcHitInfo(pt); + if (hitInfo.ButtonInfo != null) + { + if (_AuthConfigCtrl == null) + { + var peakItemList = new List<Yw.WinFrmUI.TilePeekItem>() + { + new TilePeekItem(){ + Caption="角色管理", + SvgImage=svgImg32Model[3], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Auth", + MoudingType=eMoudingType.Tab, + Function="UserManageMgr", + }; + if(!IsExistPage(guid,true)) + { + /*var page=new UserMgrMainPanel(); + CreatePage(page,guid);*/ + } + } + }, + new TilePeekItem(){ + Caption="用户管理", + SvgImage=svgImg32Model[7], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Auth", + MoudingType=eMoudingType.Tab, + Function="ValveMgr", + }; + if(!IsExistPage(guid,true)) + { + /*var page=new ValveManageMainPage(); + CreatePage(page,guid);*/ + } + } + }, + new TilePeekItem(){ + Caption="菜单管理", + SvgImage=svgImg32Model[2], + SvgImageSize=new Size(24,24), + Click=()=>{ + this.flyoutPanel1.HideBeakForm(); + var guid=new PageGuid(){ + Modular="Auth", + MoudingType=eMoudingType.Tab, + Function="TypeMgr", + }; + if(!IsExistPage(guid,true)) + { + /*var page=new SysTypeManageMainPanel(); + CreatePage(page,guid);*/ + } + } + }, + }; + _AuthConfigCtrl = peakItemList.CreatePeekCtrl(); + } + this.flyoutPanel1.Size = _AuthConfigCtrl.Size; + this.flyoutPanelControl1.Controls.Clear(); + this.flyoutPanelControl1.Controls.Add(_AuthConfigCtrl); + var rectangle = this.RectangleToScreen(hitInfo.ButtonInfo.Bounds); + this.flyoutPanel1.ShowBeakForm(rectangle); + } + } + + #endregion TileNavPane 相关处理 + + #region 窗体事件 + + //界面记载事件 + private void MainForm_Load(object sender, EventArgs e) + { + } + + //界面显示事件 + private void MainForm_Shown(object sender, EventArgs e) + { + var guid = new PageGuid() + { + Modular = "Xhs", + MoudingType = eMoudingType.Tab, + Function = "Home" + }; + if (!IsExistPage(guid, true)) + { + /* var page = new HomeXhsProjectPage(); + //var page = new HomeXhsProjectPage(); + CreatePage(page, guid);*/ + } + } + + //界面正在退出时确认 + private void MainForm_FormClosing(object sender, FormClosingEventArgs e) + { + if (e.CloseReason == CloseReason.UserClosing) + { + if (XtraMessageBox.Show("是否关闭程序?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) != DialogResult.Yes) + { + e.Cancel = true; + return; + } + } + } + + //界面退出 + private void MainForm_FormClosed(object sender, FormClosedEventArgs e) + { + } + + //窗体尺寸改变 + private void MainForm_Resize(object sender, EventArgs e) + { + if (this.WindowState == FormWindowState.Maximized) + { + } + else + { + } + } + + #endregion 窗体事件 + + #region TabbedView 相关事件处理程序 + + //选中 + private void tabbedView1_DocumentSelected(object sender, DocumentEventArgs e) + { + if (e.Document == null) + return; + var surfaceGuid = e.Document.Tag as PageGuid; + if (surfaceGuid == null) + return; + SelectModular(surfaceGuid.Modular, surfaceGuid); + } + + //添加 + private void tabbedView1_DocumentAdded(object sender, DocumentEventArgs e) + { + if (this.tabbedView1.Documents.Count > 1) + { + if (!this.tabbedView1.DocumentGroupProperties.ShowTabHeader) + { + this.navBtnPrevious.Visible = true; + this.navBtnNext.Visible = true; + } + } + } + + //激活 + private void tabbedView1_DocumentActivated(object sender, DocumentEventArgs e) + { + var page = e.Document.Control as DocumentPage; + if (page == null) + { + return; + } + this.navBtnCurrent.ImageOptions.SvgImage = page.PageTitle.HeaderSvgImage; + this.navBtnCurrent.Caption = page.PageTitle.Caption; + } + + //关闭 此时控件已经为空 + private void tabbedView1_DocumentClosed(object sender, DocumentEventArgs e) + { + } + + #endregion TabbedView 相关事件处理程序 + + #region Page + + //是否存在Page + private bool IsExistPage(PageGuid pguid, bool isActivePage) + { + if (pguid == null) + { + return false; + } + if (this.dockManager1.Panels != null && this.dockManager1.Panels.Count > 0) + { + foreach (DockPanel panel in this.dockManager1.Panels) + { + if (panel.Tag != null) + { + if (panel.Tag is PageGuid) + { + if ((panel.Tag as PageGuid).ToString() == pguid.ToString()) + { + if (isActivePage) + { + panel.Show(); + } + return true; + } + } + } + } + } + + if (this.tabbedView1.Documents != null && this.tabbedView1.Documents.Count > 0) + { + foreach (BaseDocument doc in this.tabbedView1.Documents) + { + if (doc.Tag != null) + { + if (doc.Tag is PageGuid) + { + if ((doc.Tag as PageGuid).ToString() == pguid.ToString()) + { + if (isActivePage) + { + this.tabbedView1.Controller.Activate(doc); + } + return true; + } + } + } + } + } + + return false; + } + + //更新数据 + private void RefreshPageData(PageGuid pguid) + { + if (pguid == null) + { + return; + } + if (this.dockManager1.Panels != null && this.dockManager1.Panels.Count > 0) + { + var panel = this.dockManager1.Panels.ToList().Find(x => x.Tag != null && x.Tag is PageGuid && (x.Tag as PageGuid).ToString() == pguid.ToString()); + if (panel != null) + { + if (panel.ControlContainer.Controls.Count > 0) + { + var page = panel.ControlContainer.Controls[0] as DocumentPage; + if (page != null) + { + page.RefreshData(); + } + } + return; + } + } + + if (this.tabbedView1.Documents != null && this.tabbedView1.Documents.Count > 0) + { + var doc = this.tabbedView1.Documents.ToList().Find(x => x.Tag != null && x.Tag is PageGuid && (x.Tag as PageGuid).ToString() == pguid.ToString()); + if (doc != null) + { + var page = doc.Control as DocumentPage; + if (page != null) + { + page.RefreshData(); + } + return; + } + } + } + + //更新PageTitle + private void UpdatePageTitle(PageGuid pguid, PageTitle title) + { + if (pguid == null || title == null) + return; + + if (this.dockManager1.Panels != null && this.dockManager1.Panels.Count > 0) + { + var panel = this.dockManager1.Panels.ToList().Find(x => x.Tag != null && x.Tag is PageGuid && (x.Tag as PageGuid).ToString() == pguid.ToString()); + if (panel != null) + { + panel.Text = title.Caption; + panel.ImageOptions.Image = title.HeaderImage; + panel.ImageOptions.SvgImage = title.HeaderSvgImage; + panel.ImageOptions.SvgImageSize = title.SvgImageSize; + if (panel.ControlContainer.Controls.Count > 0) + { + var page = panel.ControlContainer.Controls[0] as DocumentPage; + if (page != null) + { + page.PageTitle = title; + } + } + return; + } + } + + if (this.tabbedView1.Documents != null && this.tabbedView1.Documents.Count > 0) + { + var doc = this.tabbedView1.Documents.ToList().Find(x => x.Tag != null && x.Tag is PageGuid && (x.Tag as PageGuid).ToString() == pguid.ToString()); + if (doc != null) + { + doc.Caption = title.Caption; + doc.ImageOptions.Image = title.HeaderImage; + doc.ImageOptions.SvgImage = title.HeaderSvgImage; + doc.ImageOptions.SvgImageSize = title.SvgImageSize; + var page = doc.Control as DocumentPage; + if (page != null) + { + page.PageTitle = title; + } + return; + } + } + } + + //创建Page + private bool CreatePage(DocumentPage page, PageGuid pguid) + { + if (page == null || pguid == null) + { + return false; + } + page.PageGuid = pguid; + page.Dock = DockStyle.Fill; + page.IsExistPageEvent += IsExistPage; + page.CreatePageEvent += CreatePage; + page.RefreshPageDataEvent += RefreshPageData; + page.UpdatePageTitleEvent += UpdatePageTitle; + page.ClosePageEvent += ClosePage; + page.RegistEvents(); + switch (pguid.MoudingType) + { + case eMoudingType.Dock: + { + this.dockManager1.BeginUpdate(); + DockPanel docPnl = null; + if (pguid.DockType == eDockType.Left) + { + docPnl = this.dockManager1.AddPanel(DockingStyle.Left); + } + else if (pguid.DockType == eDockType.Right) + { + docPnl = this.dockManager1.AddPanel(DockingStyle.Right); + } + + docPnl.Footer = Directory.GetCurrentDirectory(); + if (page.PageTitle != null) + { + docPnl.Text = page.PageTitle.Caption; + docPnl.ImageOptions.Image = page.PageTitle.HeaderImage; + docPnl.ImageOptions.SvgImage = page.PageTitle.HeaderSvgImage; + docPnl.ImageOptions.SvgImageSize = page.PageTitle.SvgImageSize; + docPnl.Options.ShowCloseButton = page.PageTitle.AllowClose; + } + docPnl.ControlContainer.Controls.Add(page); + docPnl.Tag = pguid; + this.dockManager1.EndUpdate(); + docPnl.Show(); + } + break; + + case eMoudingType.Tab: + { + this.tabbedView1.BeginUpdate(); + var doc = this.tabbedView1.AddDocument(page); + doc.Footer = Directory.GetCurrentDirectory(); + if (page.PageTitle != null) + { + doc.Caption = page.PageTitle.Caption; + doc.ImageOptions.Image = page.PageTitle.HeaderImage; + doc.ImageOptions.SvgImage = page.PageTitle.HeaderSvgImage; + doc.ImageOptions.SvgImageSize = page.PageTitle.SvgImageSize; + doc.Properties.AllowClose = page.PageTitle.AllowClose ? DevExpress.Utils.DefaultBoolean.True : DevExpress.Utils.DefaultBoolean.False; + } + doc.Tag = pguid; + this.tabbedView1.EndUpdate(); + this.tabbedView1.Controller.Activate(doc); + } + break; + + default: break; + } + page.InitialDataSource(); + return true; + } + + //关闭Page + private void ClosePage(PageGuid pguid) + { + switch (pguid.MoudingType) + { + case eMoudingType.Dock: + { + if (this.dockManager1.Panels != null && this.dockManager1.Panels.Count > 0) + { + var panel = this.dockManager1.Panels.ToList().Find(x => x.Tag != null && x.Tag is PageGuid && (x.Tag as PageGuid).ToString() == pguid.ToString()); + if (panel != null) + { + if (panel.Visibility != DockVisibility.Hidden) + panel.Close();//会触发正在关闭和关闭事件 + //this.dockManager1.RemovePanel(panel);//不会触发正在关闭和关闭事件 + } + } + } + break; + + case eMoudingType.Tab: + { + if (this.tabbedView1.Documents != null && this.tabbedView1.Documents.Count > 0) + { + var doc = this.tabbedView1.Documents.ToList().Find(x => x.Tag != null && x.Tag is PageGuid && (x.Tag as PageGuid).ToString() == pguid.ToString()); + if (doc != null) + { + this.tabbedView1.Controller.Close(doc);//会触发正在关闭和关闭事件 + } + } + } + break; + + default: break; + } + } + + #endregion Page + + #region Modular + + //选择模块 + private void SelectModular(string modular, PageGuid pageGuid = null) + { + //foreach (NavButton item in this.tileNavPane.Buttons) + //{ + // if (item.Tag == null) + // continue; + // if (item.Tag is int) + // { + // if (((int)item.Tag) == (int)modular) + // { + // item.Appearance.BackColor = Color.FromArgb(255, 128, 0); + // } + // else + // { + // item.Appearance.BackColor = Color.Transparent; + // } + // } + //} + //this.docPnlFuncList.Text = modular.ToString(); + //this.funcTreeListCtrl1.SetMatching(modular, surfaceGuid); + //if (surfaceGuid == null) + //{ + // var func = this.funcTreeListCtrl1.SetDefault(); + // if (func != null) + // CreateFuncPage(func); + //} + } + + #endregion Modular + + //上一页 + private void navBtnPrevious_ElementClick(object sender, NavElementEventArgs e) + { + this.tabbedView1.Controller.SelectNextTab(false); + } + + //下一页 + private void navBtnNext_ElementClick(object sender, NavElementEventArgs e) + { + this.tabbedView1.Controller.SelectNextTab(true); + } + + //模式切换 + private void navBtnPattern_ElementClick(object sender, NavElementEventArgs e) + { + if (this.tabbedView1.DocumentGroupProperties.ShowTabHeader) + { + this.navBtnPrevious.Visible = true; + this.navBtnCurrent.Visible = true; + this.navBtnNext.Visible = true; + } + else + { + this.navBtnPrevious.Visible = false; + this.navBtnCurrent.Visible = false; + this.navBtnNext.Visible = false; + } + this.tabbedView1.DocumentGroupProperties.ShowTabHeader = !this.tabbedView1.DocumentGroupProperties.ShowTabHeader; + } + } +} \ No newline at end of file diff --git a/Desktop/HStation.Desktop.PBS.Core/MainForm.resx b/Desktop/HStation.Desktop.PBS.Core/MainForm.resx new file mode 100644 index 0000000..6edd6e9 --- /dev/null +++ b/Desktop/HStation.Desktop.PBS.Core/MainForm.resx @@ -0,0 +1,812 @@ +锘�<?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> + <assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> + <data name="nbTitle.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAEgEAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z + ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5HcmVlbntmaWxsOiMwMzlD + MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh + Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntkaXNwbGF5Om5vbmU7fQoJLnN0M3tk + aXNwbGF5OmlubGluZTtmaWxsOiNGRkIxMTU7fQoJLnN0NHtkaXNwbGF5OmlubGluZTt9Cgkuc3Q1e2Rp + c3BsYXk6aW5saW5lO29wYWNpdHk6MC43NTt9Cgkuc3Q2e2Rpc3BsYXk6aW5saW5lO29wYWNpdHk6MC41 + O30KCS5zdDd7ZGlzcGxheTppbmxpbmU7ZmlsbDojMDM5QzIzO30KCS5zdDh7ZGlzcGxheTppbmxpbmU7 + ZmlsbDojRDExQzFDO30KCS5zdDl7ZGlzcGxheTppbmxpbmU7ZmlsbDojMTE3N0Q3O30KCS5zdDEwe2Rp + c3BsYXk6aW5saW5lO2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+DQogIDxnIGlkPSJEYXNoYm9hcmQiPg0K + ICAgIDxwYXRoIGQ9Ik0yNi4zLDUuMUwxNi40LDE1bDkuOSw5LjljMi4zLTIuNiwzLjctNi4xLDMuNy05 + LjlTMjguNiw3LjgsMjYuMyw1LjF6IiBjbGFzcz0iQmx1ZSIgLz4NCiAgICA8cGF0aCBkPSJNMTQsMTZ2 + LTF2LTAuNEwyNC45LDMuN0MyMi4yLDEuNCwxOC44LDAsMTUsMEM2LjcsMCwwLDYuNywwLDE1YzAsNy45 + LDYuMiwxNC40LDE0LDE0LjlWMTZ6IiBjbGFzcz0iUmVkIiAvPg0KICAgIDxwYXRoIGQ9Ik0xNiwyOS45 + YzMuNC0wLjIsNi41LTEuNiw4LjktMy43TDE2LDE3LjRWMjkuOXoiIGNsYXNzPSJZZWxsb3ciIC8+DQog + IDwvZz4NCjwvc3ZnPgs= +</value> + </data> + <data name="navBtnPrevious.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIkCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ + LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3 + RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh + Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm + aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iVW5kb18xXyI+DQogICAgPHBh + dGggZD0iTTE0LDEyVjkuNlY2TDQsMTZsMTAsMTB2LTZjNy43LDAsMTQsMi43LDE0LDZDMjgsMTguMywy + MS43LDEyLDE0LDEyeiIgY2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCjwvc3ZnPgs= +</value> + </data> + <data name="navBtnCurrent.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIIDAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z + ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5HcmVlbntmaWxsOiMwMzlD + MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh + Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntkaXNwbGF5Om5vbmU7fQoJLnN0M3tk + aXNwbGF5OmlubGluZTtmaWxsOiNGRkIxMTU7fQoJLnN0NHtkaXNwbGF5OmlubGluZTt9Cgkuc3Q1e2Rp + c3BsYXk6aW5saW5lO29wYWNpdHk6MC43NTt9Cgkuc3Q2e2Rpc3BsYXk6aW5saW5lO29wYWNpdHk6MC41 + O30KCS5zdDd7ZGlzcGxheTppbmxpbmU7ZmlsbDojMDM5QzIzO30KCS5zdDh7ZGlzcGxheTppbmxpbmU7 + ZmlsbDojRDExQzFDO30KCS5zdDl7ZGlzcGxheTppbmxpbmU7ZmlsbDojMTE3N0Q3O30KCS5zdDEwe2Rp + c3BsYXk6aW5saW5lO2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+DQogIDxnIGlkPSJBZGRyZXNzIj4NCiAg + ICA8cG9seWdvbiBwb2ludHM9IjgsMjggOCwxOCAyLDE4IDE2LDQgMzAsMTggMjQsMTggMjQsMjggMTgs + MjggMTgsMTggMTQsMTggMTQsMjggICIgY2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCjwvc3ZnPgs= +</value> + </data> + <data name="navBtnNext.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIYCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ + LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3 + RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh + Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm + aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iUmVkb18xXyI+DQogICAgPHBh + dGggZD0iTTI4LDE2TDE4LDZ2My42VjEyYy03LjcsMC0xNCw2LjMtMTQsMTRjMC0zLjMsNi4zLTYsMTQt + NnY2TDI4LDE2eiIgY2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCjwvc3ZnPgs= +</value> + </data> + <data name="navBtnPattern.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJYCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMzU3NUJCO30KCS5C + bGFja3tmaWxsOiM3MzczNzQ7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuWWVsbG93e2ZpbGw6I0ZD + QjAxQjt9CgkuUmVke2ZpbGw6I0QwMjAyNzt9CgkuR3JlZW57ZmlsbDojMTI5QzQ5O30KCS5zdDB7b3Bh + Y2l0eTowLjU7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNMzEsMkgxMWMtMC41LDAtMSwwLjUtMSwxdjlo + MlY0aDE4djI0SDEydi04aC0ydjljMCwwLjUsMC41LDEsMSwxaDIwYzAuNSwwLDEtMC41LDEtMVYzQzMy + LDIuNSwzMS41LDIsMzEsMnogICIgY2xhc3M9IkJsYWNrIiAvPg0KICA8cG9seWdvbiBwb2ludHM9IjE4 + LDE0IDgsMTQgOCw4IDAsMTYgOCwyNCA4LDE4IDE4LDE4ICIgY2xhc3M9IkJsdWUiIC8+DQo8L3N2Zz4L +</value> + </data> + <data name="nbProjectMgr.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAFMEAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku + WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLlJlZHtmaWxsOiNEMTFD + MUM7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7Zmls + bDojNzI3MjcyO30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuNzU7fQo8L3N0eWxl + Pg0KICA8ZyBpZD0iUHJvZHVjdFF1aWNrU2hpcHBtZW50cyI+DQogICAgPHBhdGggZD0iTTMsMThIMHYx + NGgzYzAuNiwwLDEtMC40LDEtMVYxOUM0LDE4LjQsMy42LDE4LDMsMTh6IiBjbGFzcz0iQmxhY2siIC8+ + DQogICAgPHBhdGggZD0iTTEyLDZWM2MwLTAuNSwwLjUtMSwxLTFoMTZjMC41LDAsMSwwLjUsMSwxdjNI + MTJ6IE0xNCwxNGMxLjcsMCw2LjEsMSw5LjYsMS44YzEuNCwwLjMsMi40LDEuNiwyLjQsMyAgIGMwLDAu + MiwwLDAuNS0wLjEsMC43QzI2LjUsMTkuMywzMCwxOCwzMCwxOFY4SDEydjYuNEMxMi42LDE0LjIsMTMu + MywxNCwxNCwxNHoiIGNsYXNzPSJCbHVlIiAvPg0KICAgIDxwYXRoIGQ9Ik02LDIwYzIsMCw0LTIsNC0y + czItMiw0LTJjMS42LDAsNywxLjMsOS4xLDEuOGMwLjUsMC4xLDAuOSwwLjYsMC45LDEuMXYwYzAsMC42 + LTAuNSwxLjEtMS4xLDEuMSAgIGMwLDAtMi45LDAtNC45LDBjMCwyLDQsMiw2LDJzNS4xLTEuNyw2LjQt + MmMwLjQtMC4xLDEuMiwwLDEuNSwwLjVsMCwwYzAuMywwLjYsMC4xLDEuMi0wLjUsMS41QzI5LjQsMjMu + MiwyNSwyNiwyMCwyNiAgIGMtNCwwLTYtMi04LTJzLTYsNC02LDRTNiwyMyw2LDIweiIgY2xhc3M9Illl + bGxvdyIgLz4NCiAgPC9nPg0KPC9zdmc+Cw== +</value> + </data> + <data name="nbModelMgr.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAGcEAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z + ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5HcmVlbntmaWxsOiMwMzlD + MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh + Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntkaXNwbGF5Om5vbmU7fQoJLnN0M3tk + aXNwbGF5OmlubGluZTtmaWxsOiNGRkIxMTU7fQoJLnN0NHtkaXNwbGF5OmlubGluZTt9Cgkuc3Q1e2Rp + c3BsYXk6aW5saW5lO29wYWNpdHk6MC43NTt9Cgkuc3Q2e2Rpc3BsYXk6aW5saW5lO29wYWNpdHk6MC41 + O30KCS5zdDd7ZGlzcGxheTppbmxpbmU7ZmlsbDojMDM5QzIzO30KCS5zdDh7ZGlzcGxheTppbmxpbmU7 + ZmlsbDojRDExQzFDO30KCS5zdDl7ZGlzcGxheTppbmxpbmU7ZmlsbDojMTE3N0Q3O30KCS5zdDEwe2Rp + c3BsYXk6aW5saW5lO2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+DQogIDxnIGlkPSJQcm9kdWN0X3g1Rl9H + cm91cCI+DQogICAgPHBhdGggZD0iTTE2LDcuNGw0LTRWMTBoLTRWNy40eiBNMjYsMTcuNFYzMGw0LTRW + MTMuNEwyNiwxNy40eiIgY2xhc3M9IlllbGxvdyIgLz4NCiAgICA8ZyBjbGFzcz0ic3QwIj4NCiAgICAg + IDxwYXRoIGQ9Ik0xNC42LDZIMmw0LTRoMTIuNkwxNC42LDZ6IE0xNiwxMmwtNCw0aDEyLjZsNC00SDE2 + eiIgY2xhc3M9IlllbGxvdyIgLz4NCiAgICA8L2c+DQogICAgPGcgY2xhc3M9InN0MSI+DQogICAgICA8 + cGF0aCBkPSJNMTQsMTEuMmwtNCw0VjE4djJIMlY4aDEyVjExLjJ6IE0xMiwzMGgxMlYxOEgxMlYzMHoi + IGNsYXNzPSJZZWxsb3ciIC8+DQogICAgPC9nPg0KICA8L2c+DQo8L3N2Zz4L +</value> + </data> + <data name="nbProductManage.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOsDAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJs + YWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMy + Mzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh + Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQo8L3N0eWxl + Pg0KICA8ZyBpZD0iU2V0dGluZyI+DQogICAgPHBhdGggZD0iTTMwLDE4di00bC00LjQtMC43Yy0wLjIt + MC44LTAuNS0xLjUtMC45LTIuMWwyLjYtMy42bC0yLjgtMi44bC0zLjYsMi42Yy0wLjctMC40LTEuNC0w + LjctMi4xLTAuOUwxOCwyaC00ICAgbC0wLjcsNC40Yy0wLjgsMC4yLTEuNSwwLjUtMi4xLDAuOUw3LjUs + NC43TDQuNyw3LjVsMi42LDMuNmMtMC40LDAuNy0wLjcsMS40LTAuOSwyLjFMMiwxNHY0bDQuNCwwLjdj + MC4yLDAuOCwwLjUsMS41LDAuOSwyLjEgICBsLTIuNiwzLjZsMi44LDIuOGwzLjYtMi42YzAuNywwLjQs + MS40LDAuNywyLjEsMC45TDE0LDMwaDRsMC43LTQuNGMwLjgtMC4yLDEuNS0wLjUsMi4xLTAuOWwzLjYs + Mi42bDIuOC0yLjhsLTIuNi0zLjYgICBjMC40LTAuNywwLjctMS40LDAuOS0yLjFMMzAsMTh6IE0xNiwy + MGMtMi4yLDAtNC0xLjgtNC00YzAtMi4yLDEuOC00LDQtNHM0LDEuOCw0LDRDMjAsMTguMiwxOC4yLDIw + LDE2LDIweiIgY2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCjwvc3ZnPgs= +</value> + </data> + <data name="nbSystemConfig.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAALoDAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJs + YWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMy + Mzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh + Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQo8L3N0eWxl + Pg0KICA8ZyBpZD0iUGFnZVNldHVwIj4NCiAgICA8cGF0aCBkPSJNMTkuMiwyNkg4VjZoMTB2NWMwLDAu + NiwwLjQsMSwxLDFoNXY5LjJsMiwyVjExbC03LTdIN0M2LjQsNCw2LDQuNCw2LDV2MjJjMCwwLjYsMC40 + LDEsMSwxaDE0LjJMMTkuMiwyNnoiIGNsYXNzPSJCbGFjayIgLz4NCiAgICA8cGF0aCBkPSJNMjcuNiwy + Ny42bC02LjItNi4yYzAuNC0wLjcsMC42LTEuNSwwLjYtMi40YzAtMi44LTIuMi01LTUtNWMtMC44LDAt + MS41LDAuMi0yLjEsMC41bDIuNywyLjcgICBjMC42LDAuNiwwLjYsMS43LDAsMi40cy0xLjcsMC42LTIu + NCwwbC0yLjctMi43QzEyLjIsMTcuNSwxMiwxOC4yLDEyLDE5YzAsMi44LDIuMiw1LDUsNWMwLjksMCwx + LjctMC4yLDIuNC0wLjZsNi4yLDYuMiAgIGMwLjYsMC42LDEuNCwwLjYsMiwwbDAsMEMyOC4xLDI5LDI4 + LjEsMjguMSwyNy42LDI3LjZ6IiBjbGFzcz0iQmx1ZSIgLz4NCiAgPC9nPg0KPC9zdmc+Cw== +</value> + </data> + <data name="nbAuthConfig.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMgFAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z + ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5HcmVlbntmaWxsOiMwMzlD + MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh + Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntkaXNwbGF5Om5vbmU7fQoJLnN0M3tk + aXNwbGF5OmlubGluZTtmaWxsOiNGRkIxMTU7fQoJLnN0NHtkaXNwbGF5OmlubGluZTt9Cgkuc3Q1e2Rp + c3BsYXk6aW5saW5lO29wYWNpdHk6MC43NTt9Cgkuc3Q2e2Rpc3BsYXk6aW5saW5lO29wYWNpdHk6MC41 + O30KCS5zdDd7ZGlzcGxheTppbmxpbmU7ZmlsbDojMDM5QzIzO30KCS5zdDh7ZGlzcGxheTppbmxpbmU7 + ZmlsbDojRDExQzFDO30KCS5zdDl7ZGlzcGxheTppbmxpbmU7ZmlsbDojMTE3N0Q3O30KCS5zdDEwe2Rp + c3BsYXk6aW5saW5lO2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+DQogIDxnIGlkPSJVc2VyIj4NCiAgICA8 + cGF0aCBkPSJNMTYuMiwyNkgydi0xLjVjMC03LjUsNS43LTUsOC04LjVjMC44LDEuNSwyLjEsNCw0LDRz + My4yLTIuNSw0LTRjMC43LDEsMS43LDEuNSwyLjcsMS45bDAsMCAgIGMtMC41LDAuOS0wLjcsMi0wLjcs + My4xYzAsMC40LDAsMC43LDAuMSwxLjFMMTYuMiwyNkwxNi4yLDI2eiBNOS4zLDEwLjljMCwwLDAsMC4x + LDAsMC4yYzAuNiwyLjMsMiw0LjksNC43LDQuOXM0LjItMi42LDQuNy00LjkgICBWMTFjMSwwLjEsMC42 + LTEuMSwwLjktMS42QzE5LjgsOC45LDIwLDguNSwxOS45LDhjLTAuMS0wLjQtMC40LTAuNC0wLjUtMC4z + QzIxLjIsMi44LDE4LjMsMywxOC4zLDNTMTgsMCwxMi44LDBDOCwwLDcuNCw0LDguNSw3LjYgICBDOC40 + LDcuNiw4LjEsNy43LDgsNy45QzcuOSw4LjQsOC4yLDguOCw4LjQsOS4zQzguNiw5LjgsOC4zLDExLDku + MywxMC45eiIgY2xhc3M9IkJsYWNrIiAvPg0KICAgIDxwYXRoIGQ9Ik0yNywxNmMtMi44LDAtNSwyLjIt + NSw1YzAsMC42LDAuMSwxLjIsMC4zLDEuN0wxNiwyOXYzaDR2LTJoMnYtMmgybDIuMS0yLjFDMjYuNCwy + NiwyNi43LDI2LDI3LDI2ICAgYzIuOCwwLDUtMi4yLDUtNVMyOS44LDE2LDI3LDE2eiBNMjcsMjJjLTAu + NiwwLTEtMC40LTEtMWMwLTAuNiwwLjQtMSwxLTFzMSwwLjQsMSwxQzI4LDIxLjYsMjcuNiwyMiwyNywy + MnoiIGNsYXNzPSJZZWxsb3ciIC8+DQogIDwvZz4NCjwvc3ZnPgs= +</value> + </data> + <data name="nbMin.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAFICAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z + ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz + OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp + dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IlJlbW92ZSI+DQogICAgPHBhdGggZD0iTTI3LDE4SDVj + LTAuNiwwLTEtMC41LTEtMXYtMmMwLTAuNiwwLjQtMSwxLTFoMjJjMC41LDAsMSwwLjQsMSwxdjJDMjgs + MTcuNSwyNy41LDE4LDI3LDE4eiIgY2xhc3M9IlJlZCIgLz4NCiAgPC9nPg0KPC9zdmc+Cw== +</value> + </data> + <data name="nbNormal.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIkCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z + ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz + OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp + dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IldpbmRvdyI+DQogICAgPHBhdGggZD0iTTMwLDEwVjVj + MC0wLjUtMC41LTEtMS0xSDNDMi41LDQsMiw0LjUsMiw1djVIMzB6IiBjbGFzcz0iQmx1ZSIgLz4NCiAg + ICA8cGF0aCBkPSJNMjgsMTB2MTZINFYxMEgydjE3YzAsMC41LDAuNSwxLDEsMWgyNmMwLjUsMCwxLTAu + NSwxLTFWMTBIMjh6IiBjbGFzcz0iQmxhY2siIC8+DQogIDwvZz4NCjwvc3ZnPgs= +</value> + </data> + <data name="nbClose.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAD0DAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJs + YWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMy + Mzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh + Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRGVsZXRlIj4N + CiAgICA8Zz4NCiAgICAgIDxwYXRoIGQ9Ik0xOC44LDE2bDYuOS02LjljMC40LTAuNCwwLjQtMSwwLTEu + NGwtMS40LTEuNGMtMC40LTAuNC0xLTAuNC0xLjQsMEwxNiwxMy4yTDkuMSw2LjNjLTAuNC0wLjQtMS0w + LjQtMS40LDAgICAgTDYuMyw3LjdjLTAuNCwwLjQtMC40LDEsMCwxLjRsNi45LDYuOWwtNi45LDYuOWMt + MC40LDAuNC0wLjQsMSwwLDEuNGwxLjQsMS40YzAuNCwwLjQsMSwwLjQsMS40LDBsNi45LTYuOWw2Ljks + Ni45ICAgIGMwLjQsMC40LDEsMC40LDEuNCwwbDEuNC0xLjRjMC40LTAuNCwwLjQtMSwwLTEuNEwxOC44 + LDE2eiIgY2xhc3M9IlJlZCIgLz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPgs= +</value> + </data> + <metadata name="documentManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>17, 17</value> + </metadata> + <metadata name="barManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>259, 17</value> + </metadata> + <metadata name="dockManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>442, 17</value> + </metadata> + <metadata name="svgImg32Model.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>638, 17</value> + </metadata> + <data name="svgImg32Model.Threelink" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIcGAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgd2lkdGg9IjQ4cHgiIGhl + aWdodD0iNDhweCIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0 + cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5 + L3hsaW5rIiBjbGFzcz0iaWNvbiI+DQogIDxwYXRoIGQ9Ik0xODEuOTYgMTU5LjQ0aDMzNi43NnY3MDUu + MTZIMTgxLjk2eiIgZmlsbD0iIzcwODk5RCIgLz4NCiAgPHBhdGggZD0iTTUwNi44OCAxNTkuODhoNDYu + NTJ2NzI1LjE2aC00Ni41MnoiIGZpbGw9IiM0NDVFNzgiIC8+DQogIDxwYXRoIGQ9Ik01MTguNzIgNjUy + Ljc2aDM0MS4zMnY0MS40aC0zNDEuMzJ6IiBmaWxsPSIjNDQ1RTc4IiAvPg0KICA8cGF0aCBkPSJNMjIy + LjcyIDE4OC43NmgxNDB2Njk2LjMyaC0xNDB6IiBmaWxsPSIjOTZBREJDIiAvPg0KICA8cGF0aCBkPSJN + NDczLjM2IDM5Ny40aDM2NS4zMnYyNTUuMzZoLTM2NS4zMnoiIGZpbGw9IiM3MDg5OUQiIC8+DQogIDxw + YXRoIGQ9Ik0zMzIuOCA0MzEuOTZoNDkyLjUydjExOS40NEgzMzIuOHoiIGZpbGw9IiM5NkFEQkMiIC8+ + DQogIDxwYXRoIGQ9Ik05MjAuNiA3NjYuMkE0NC43MiA0NC43MiAwIDAgMSA4NzYgODEwLjhoLTIzLjJh + NDQuNzIgNDQuNzIgMCAwIDEtNDQuNi00NC42VjMzNi43MkE0NC43MiA0NC43MiAwIDAgMSA4NTIuODQg + MjkySDg3NmE0NC43MiA0NC43MiAwIDAgMSA0NC42IDQ0LjZ6IiBmaWxsPSIjMjkzODQ4IiAvPg0KICA8 + cGF0aCBkPSJNOTIwLjYgNzY2LjJBNDQuNzIgNDQuNzIgMCAwIDEgODc2IDgxMC44aC0yMy4yYTQ0Ljcy + IDQ0LjcyIDAgMCAxLTQ0LjYtNDQuNlYzMzYuNzJBNDQuNzIgNDQuNzIgMCAwIDEgODUyLjg0IDI5Mkg4 + NzZhNDQuNzIgNDQuNzIgMCAwIDEgNDQuNiA0NC42eiIgZmlsbD0iIzQ0NUU3OCIgLz4NCiAgPHBhdGgg + ZD0iTTU5MiAxMDMuMjRjMTYuNTIgMCAzMC4wNCAyMCAzMC4wNCA0NC42djIzLjJjMCAyNC41Mi0xMy41 + MiA0NC42LTMwLjA0IDQ0LjZIMTMzLjQ0Yy0xNi41MiAwLTMwLjA0LTIwLTMwLjA0LTQ0LjZWMTQ4YzAt + MjQuNTIgMTMuNTItNDQuNiAzMC4wNC00NC42eiIgZmlsbD0iIzI5Mzg0OCIgLz4NCiAgPHBhdGggZD0i + TTU5MiAxMDMuMjRjMTYuNTIgMCAzMC4wNCAyMCAzMC4wNCA0NC42djIzLjJjMCAyNC41Mi0xMy41MiA0 + NC42LTMwLjA0IDQ0LjZIMTMzLjQ0Yy0xNi41MiAwLTMwLjA0LTIwLTMwLjA0LTQ0LjZWMTQ4YzAtMjQu + NTIgMTMuNTItNDQuNiAzMC4wNC00NC42eiIgZmlsbD0iIzQ0NUU3OCIgLz4NCiAgPHBhdGggZD0iTTU5 + MiA4MDguMzZjMTYuNTIgMCAzMC4wNCAyMCAzMC4wNCA0NC42Vjg3NmMwIDI0LjUyLTEzLjUyIDQ0LjYt + MzAuMDQgNDQuNkgxMzMuNDRjLTE2LjUyIDAtMzAuMDQtMjAtMzAuMDQtNDQuNnYtMjMuMmMwLTI0LjUy + IDEzLjUyLTQ0LjYgMzAuMDQtNDQuNnoiIGZpbGw9IiMyOTM4NDgiIC8+DQogIDxwYXRoIGQ9Ik01OTIg + ODA4LjM2YzE2LjUyIDAgMzAuMDQgMjAgMzAuMDQgNDQuNlY4NzZjMCAyNC41Mi0xMy41MiA0NC42LTMw + LjA0IDQ0LjZIMTMzLjQ0Yy0xNi41MiAwLTMwLjA0LTIwLTMwLjA0LTQ0LjZ2LTIzLjJjMC0yNC41MiAx + My41Mi00NC42IDMwLjA0LTQ0LjZ6IiBmaWxsPSIjNDQ1RTc4IiAvPg0KPC9zdmc+Cw== +</value> + </data> + <data name="svgImg32Model.Line" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIEEAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgd2lkdGg9IjQ4cHgiIGhl + aWdodD0iNDhweCIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0 + cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5 + L3hsaW5rIiBjbGFzcz0iaWNvbiI+DQogIDxwYXRoIGQ9Ik00NjIgMjQxLjA5SDExNS45MWMtMTYuNjIg + MC0zMC4wOS0xMy40Ny0zMC4wOS0zMC4wOVY5My45NmMwLTE2LjYyIDEzLjQ3LTMwLjA5IDMwLjA5LTMw + LjA5SDQ2MmMxNi42MiAwIDMwLjA5IDEzLjQ3IDMwLjA5IDMwLjA5djExNy4wM2MwLjAxIDE2LjYzLTEz + LjQ2IDMwLjEtMzAuMDkgMzAuMXpNMTQ2LjAxIDE4MC45aDI4NS45di01Ni44NGgtMjg1Ljl2NTYuODR6 + TTkxMC4wOSA5NTkuNzNINzkzLjA0Yy0xNi42MSAwLTMwLjA5LTEzLjQ4LTMwLjA5LTMwLjA5di0zNDYu + MWMwLTE2LjYxIDEzLjQ4LTMwLjA5IDMwLjA5LTMwLjA5aDExNy4wNWMxNi42MSAwIDMwLjA5IDEzLjQ4 + IDMwLjA5IDMwLjA5djM0Ni4wOWMwIDE2LjYyLTEzLjQ4IDMwLjEtMzAuMDkgMzAuMXogbS04Ni45Ni02 + MC4xOWg1Ni44NnYtMjg1LjloLTU2Ljg2djI4NS45eiIgLz4NCiAgPHBhdGggZD0iTTc5My43OCA4ODgu + MTRINTE4Ljg1Yy0yMDMuNzUgMC0zNjkuNS0xNjUuNzYtMzY5LjUtMzY5LjV2LTI5NWg2MC4xOXYyOTVj + MCAxNzAuNTYgMTM4Ljc2IDMwOS4zMSAzMDkuMzEgMzA5LjMxaDI3NC45M3Y2MC4xOXoiIC8+DQogIDxw + YXRoIGQ9Ik03OTMuMTIgNjg3LjU2SDU0NS42Yy03NC43MSAwLTEzNS41LTYwLjc4LTEzNS41LTEzNS40 + OVYyMTEuMDZoNjAuMTl2MzQxLjAyYzAgNDEuNTIgMzMuNzggNzUuMyA3NS4zMSA3NS4zaDI0Ny41MnY2 + MC4xOHoiIC8+DQogIDxwYXRoIGQ9Ik00NTIuNzQgNzcwLjEzYy03NC43MSAwLTEzNS40OS02MC43OC0x + MzUuNDktMTM1LjQ5IDAtMTYuNjEgMTMuNDctMzAuMDkgMzAuMDktMzAuMDlzMzAuMDkgMTMuNDggMzAu + MDkgMzAuMDljMCA0MS41MiAzMy43OCA3NS4zIDc1LjMgNzUuMyAxNi42MiAwIDMwLjA5IDEzLjQ4IDMw + LjA5IDMwLjA5IDAuMDEgMTYuNjItMTMuNDYgMzAuMS0zMC4wOCAzMC4xeiIgZmlsbD0iI0U2MjMzMCIg + Lz4NCjwvc3ZnPgs= +</value> + </data> + <data name="svgImg32Model.compressor" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMwFAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgd2lkdGg9IjU0Ljg0Mzc1 + cHgiIGhlaWdodD0iNDhweCIgdmlld0JveD0iMCAwIDExNzAgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxu + cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9y + Zy8xOTk5L3hsaW5rIiBjbGFzcz0iaWNvbiI+DQogIDxwYXRoIGQ9Ik0xMDI0IDEwMjRIMTQ2LjI4NTcx + NGE3My4xNDI4NTcgNzMuMTQyODU3IDAgMCAxLTczLjE0Mjg1Ny03My4xNDI4NTdWNzMuMTQyODU3YTcz + LjE0Mjg1NyA3My4xNDI4NTcgMCAwIDEgNzMuMTQyODU3LTczLjE0Mjg1N2g4NzcuNzE0Mjg2YTczLjE0 + Mjg1NyA3My4xNDI4NTcgMCAwIDEgNzMuMTQyODU3IDczLjE0Mjg1N3Y4NzcuNzE0Mjg2YTczLjE0Mjg1 + NyA3My4xNDI4NTcgMCAwIDEtNzMuMTQyODU3IDczLjE0Mjg1N3pNNTg1LjE0Mjg1NyAxMDkuNzE0Mjg2 + YTQwMi4yODU3MTQgNDAyLjI4NTcxNCAwIDEgMCA0MDIuMjg1NzE0IDQwMi4yODU3MTRBNDAyLjI4NTcx + NCA0MDIuMjg1NzE0IDAgMCAwIDU4NS4xNDI4NTcgMTA5LjcxNDI4NnogbTY1LjgyODU3MiAzODkuNTU4 + ODU3YzMxOC42NDY4NTctMTIwLjY4NTcxNCAyOTkuNTIgNTguMDM4ODU3IDI5OS41MiA1OC4wMzg4NTds + LTI5OS41Mi0xMS41OTMxNDN2LTQ2LjQ0NTcxNHogbS0yOC4zNDI4NTgtNDIuOTM0ODU3YzEzOS45OTU0 + MjktMzEwLjg1NzE0MyAyNTIuODE4Mjg2LTE3MC44MjUxNDMgMjUyLjgxODI4Ni0xNzAuODI1MTQzbC0y + MjAuMDEzNzE0IDIwMy42Mjk3MTR6IG0tNTAuMzk1NDI4LTEwLjMxMzE0M2MtMTIwLjY4NTcxNC0zMTgu + NzIgNTguMDM4ODU3LTI5OS41OTMxNDMgNTguMDM4ODU3LTI5OS41OTMxNDNMNjE4Ljc4ODU3MSA0NDYu + MTcxNDI5aC00Ni40MDkxNDJ6IG0tNDIuODk4Mjg2IDI4LjM0Mjg1N0MyMTguNjk3MTQzIDMzNC4zMzYg + MzU4LjU4Mjg1NyAyMjEuNDc2NTcxIDM1OC41ODI4NTcgMjIxLjQ3NjU3MWwyMDMuNTU2NTcyIDIyMC4w + NTAyODZ6TTUxOS4zMTQyODYgNTI0LjhjLTMxOC42MTAyODYgMTIwLjY4NTcxNC0yOTkuNTItNTguMDM4 + ODU3LTI5OS41Mi01OC4wMzg4NTdsMjk5LjUyIDExLjU5MzE0M3Y0Ni40NDU3MTR6IG0yOC4zNDI4NTcg + NDIuOTM0ODU3Yy0xMzkuOTk1NDI5IDMxMC44NTcxNDMtMjUyLjgxODI4NiAxNzAuODI1MTQzLTI1Mi44 + MTgyODYgMTcwLjgyNTE0M2wyMjAuMDEzNzE0LTIwMy42Mjk3MTR6IG01MC4zOTU0MjggMTAuMzEzMTQz + YzEyMC42ODU3MTQgMzE4LjcyLTU4LjAzODg1NyAyOTkuNTkzMTQzLTU4LjAzODg1NyAyOTkuNTkzMTQz + bDExLjYyOTcxNS0yOTkuNTkzMTQzaDQ2LjQwOTE0MnogbTQyLjg5ODI4Ni0yOC4zNDI4NTdjMzEwLjYz + NzcxNCAxNDAuMDMyIDE3MC43NTIgMjUyLjg5MTQyOSAxNzAuNzUyIDI1Mi44OTE0MjhsLTIwMy41NTY1 + NzEtMjIwLjA1MDI4NXoiIGZpbGw9IiMxMDEwMTAiIC8+DQo8L3N2Zz4L +</value> + </data> + <data name="svgImg32Model.Exchanger" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAIVAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgd2lkdGg9IjQ4cHgiIGhl + aWdodD0iNDhweCIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0 + cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5 + L3hsaW5rIiBjbGFzcz0iaWNvbiI+DQogIDxwYXRoIGQ9Ik03OTYuNDQ0NDQ0IDI5NS4xNjhoNjEuMDU2 + Yy00Ljg0OTc3OCAxMi40MzAyMjItNy43Nzk1NTYgMjguNTQ0LTcuNzc5NTU1IDQ2LjE2NTMzMyAwIDE3 + LjYyMTMzMyAyLjkyOTc3OCAzMy43MzUxMTEgNy43Nzk1NTUgNDYuMTY1MzM0SDc5Ni40NDQ0NDRWNzUz + Ljc3Nzc3OGEyOC40NDQ0NDQgMjguNDQ0NDQ0IDAgMCAxLTI4LjQ0NDQ0NCAyOC40NDQ0NDRIMTQyLjIy + MjIyMmEyOC40NDQ0NDQgMjguNDQ0NDQ0IDAgMCAxLTI4LjQ0NDQ0NC0yOC40NDQ0NDRWMjg0LjQ0NDQ0 + NGEyOC40NDQ0NDQgMjguNDQ0NDQ0IDAgMCAxIDI4LjQ0NDQ0NC0yOC40NDQ0NDRoNjI1Ljc3Nzc3OGEy + OC40NDQ0NDQgMjguNDQ0NDQ0IDAgMCAxIDI4LjQ0NDQ0NCAyOC40NDQ0NDR2MTAuNzIzNTU2eiBtLTkw + LjUyNDQ0NCAzMC4zMzZIMjA3LjI3NDY2N3YxMi40MDE3NzhoNDk4LjYzMTExMXYtMTIuNDAxNzc4eiBt + MC0yNC44MTc3Nzh2LTAuNDk3Nzc4SDIwNy4yNzQ2Njd2MC40OTc3NzhoNDk4LjYzMTExMXogbTAgMzg0 + LjcyNTMzNHYtMTQuODkwNjY3SDIwNy4yNzQ2Njd2MTQuODkwNjY3aDQ5OC42MzExMTF6IG0wIDM0Ljc1 + OTExMUgyMDcuMjc0NjY3djE3Ljg2MzExMWg0OTguNjMxMTExdi0xNy44NjMxMTF6IG0wLTg0LjM5NDY2 + N3YtMTQuODkwNjY3SDIwNy4yNzQ2Njd2MTQuODkwNjY3aDQ5OC42MzExMTF6IG0wLTQ5LjYzNTU1NnYt + MTQuOTA0ODg4SDIwNy4yNzQ2Njd2MTQuODkwNjY2aDQ5OC42MzExMTF6IG0wLTQ5LjY0OTc3N3YtMTQu + ODkwNjY3SDIwNy4yNzQ2Njd2MTQuODkwNjY3aDQ5OC42MzExMTF6IG0wLTQ5LjYzNTU1NnYtMTQuOTA0 + ODg5SDIwNy4yNzQ2Njd2MTQuODkwNjY3aDQ5OC42MzExMTF6IG0wLTQ5LjY0OTc3OHYtMTQuOTA0ODg5 + SDIwNy4yNzQ2Njd2MTQuOTA0ODg5aDQ5OC42MzExMTF6IG0wLTQ5LjY0OTc3N3YtMTQuODkwNjY3SDIw + Ny4yNzQ2Njd2MTQuODkwNjY3aDQ5OC42MzExMTF6IG02NS43OTItMTExLjcwMTMzNGE0Ljk0OTMzMyA0 + Ljk0OTMzMyAwIDAgMC00Ljk0OTMzMyA0Ljk0OTMzNHY5Ljk1NTU1NWE0Ljk0OTMzMyA0Ljk0OTMzMyAw + IDEgMCA5Ljg5ODY2NiAwdi05Ljk1NTU1NWE0Ljk0OTMzMyA0Ljk0OTMzMyAwIDAgMC00Ljk0OTMzMy00 + Ljk0OTMzNHogbS02MzAuNzI3MTExIDBhNC45NDkzMzMgNC45NDkzMzMgMCAwIDAtNC45NDkzMzMgNC45 + NDkzMzR2OS45NTU1NTVhNC45NDkzMzMgNC45NDkzMzMgMCAxIDAgOS44OTg2NjYgMHYtOS45NTU1NTVh + NC45NDkzMzMgNC45NDkzMzMgMCAwIDAtNC45NDkzMzMtNC45NDkzMzR6IG02MzAuNzI3MTExIDk0LjMy + MTc3OGE0Ljk0OTMzMyA0Ljk0OTMzMyAwIDAgMC00Ljk0OTMzMyA0Ljk0OTMzM3Y5Ljk1NTU1NmE0Ljk0 + OTMzMyA0Ljk0OTMzMyAwIDEgMCA5Ljg5ODY2NiAwdi05Ljk1NTU1NmE0Ljk0OTMzMyA0Ljk0OTMzMyAw + IDAgMC00Ljk0OTMzMy00Ljk0OTMzM3ogbS02MzAuNzI3MTExIDBhNC45NDkzMzMgNC45NDkzMzMgMCAw + IDAtNC45NDkzMzMgNC45NDkzMzN2OS45NTU1NTZhNC45NDkzMzMgNC45NDkzMzMgMCAxIDAgOS44OTg2 + NjYgMHYtOS45NTU1NTZhNC45NDkzMzMgNC45NDkzMzMgMCAwIDAtNC45NDkzMzMtNC45NDkzMzN6IG02 + MzAuNzI3MTExIDk0LjMyMTc3OGE0Ljk0OTMzMyA0Ljk0OTMzMyAwIDAgMC00Ljk0OTMzMyA0Ljk0OTMz + M3Y5Ljk1NTU1NmE0Ljk0OTMzMyA0Ljk0OTMzMyAwIDAgMCA5Ljg5ODY2NiAwdi05Ljk1NTU1NmE0Ljk0 + OTMzMyA0Ljk0OTMzMyAwIDAgMC00Ljk0OTMzMy00Ljk0OTMzM3ogbS02MzAuNzI3MTExIDBhNC45NDkz + MzMgNC45NDkzMzMgMCAwIDAtNC45NDkzMzMgNC45NDkzMzN2OS45NTU1NTZhNC45NDkzMzMgNC45NDkz + MzMgMCAwIDAgOS44OTg2NjYgMHYtOS45NTU1NTZhNC45NDkzMzMgNC45NDkzMzMgMCAwIDAtNC45NDkz + MzMtNC45NDkzMzN6IG02MzAuNzI3MTExIDk0LjMyMTc3OGE0Ljk0OTMzMyA0Ljk0OTMzMyAwIDAgMC00 + Ljk0OTMzMyA0Ljk0OTMzM3Y5Ljk1NTU1NWE0Ljk0OTMzMyA0Ljk0OTMzMyAwIDAgMCA5Ljg5ODY2NiAw + di05Ljk1NTU1NWE0Ljk0OTMzMyA0Ljk0OTMzMyAwIDAgMC00Ljk0OTMzMy00Ljk0OTMzM3ogbS02MzAu + NzI3MTExIDBhNC45NDkzMzMgNC45NDkzMzMgMCAwIDAtNC45NDkzMzMgNC45NDkzMzN2OS45NTU1NTVh + NC45NDkzMzMgNC45NDkzMzMgMCAwIDAgOS44OTg2NjYgMHYtOS45NTU1NTVhNC45NDkzMzMgNC45NDkz + MzMgMCAwIDAtNC45NDkzMzMtNC45NDkzMzN6IG02MzAuNzI3MTExIDk0LjMzNmE0Ljk0OTMzMyA0Ljk0 + OTMzMyAwIDAgMC00Ljk0OTMzMyA0LjkzNTExMXY5Ljk1NTU1NWE0Ljk0OTMzMyA0Ljk0OTMzMyAwIDEg + MCA5Ljg5ODY2NiAwdi05Ljk1NTU1NWE0Ljk0OTMzMyA0Ljk0OTMzMyAwIDAgMC00Ljk0OTMzMy00Ljkz + NTExMXogbS02MzAuNzI3MTExIDBhNC45NDkzMzMgNC45NDkzMzMgMCAwIDAtNC45NDkzMzMgNC45MzUx + MTF2OS45NTU1NTVhNC45NDkzMzMgNC45NDkzMzMgMCAxIDAgOS44OTg2NjYgMHYtOS45NTU1NTVhNC45 + NDkzMzMgNC45NDkzMzMgMCAwIDAtNC45NDkzMzMtNC45MzUxMTF6IG02MzAuNzI3MTExIDk0LjMyMTc3 + N2E0Ljk0OTMzMyA0Ljk0OTMzMyAwIDAgMC00Ljk0OTMzMyA0LjkzNTExMXY5Ljk2OTc3OGE0Ljk0OTMz + MyA0Ljk0OTMzMyAwIDAgMCA5Ljg5ODY2NiAwdi05Ljk1NTU1NWE0Ljk0OTMzMyA0Ljk0OTMzMyAwIDAg + MC00Ljk0OTMzMy00Ljk0OTMzNHogbS02MzAuNzI3MTExIDBhNC45NDkzMzMgNC45NDkzMzMgMCAwIDAt + NC45NDkzMzMgNC45MzUxMTF2OS45Njk3NzhhNC45NDkzMzMgNC45NDkzMzMgMCAwIDAgOS44OTg2NjYg + MHYtOS45NTU1NTVhNC45NDkzMzMgNC45NDkzMzMgMCAwIDAtNC45NDkzMzMtNC45NDkzMzR6IG04OS4w + MzExMTEgMGE0Ljk0OTMzMyA0Ljk0OTMzMyAwIDAgMC00LjkzNTExMSA0LjkzNTExMXY5Ljk2OTc3OGE0 + Ljk0OTMzMyA0Ljk0OTMzMyAwIDEgMCA5Ljg5ODY2NyAwdi05Ljk1NTU1NWE0Ljk0OTMzMyA0Ljk0OTMz + MyAwIDAgMC00Ljk0OTMzNC00Ljk0OTMzNHogbTAtNDcxLjYwODg4OWE0Ljk0OTMzMyA0Ljk0OTMzMyAw + IDAgMC00LjkzNTExMSA0LjkzNTExMnY5Ljk1NTU1NWE0Ljk0OTMzMyA0Ljk0OTMzMyAwIDEgMCA5Ljg5 + ODY2NyAwdi05Ljk1NTU1NWE0Ljk0OTMzMyA0Ljk0OTMzMyAwIDAgMC00Ljk0OTMzNC00Ljk0OTMzNHog + bTkxLjUzNDIyMiA0NzEuNjA4ODg5YTQuOTQ5MzMzIDQuOTQ5MzMzIDAgMCAwLTQuOTQ5MzMzIDQuOTM1 + MTExdjkuOTY5Nzc4YTQuOTQ5MzMzIDQuOTQ5MzMzIDAgMCAwIDkuODk4NjY3IDB2LTkuOTU1NTU1YTQu + OTQ5MzMzIDQuOTQ5MzMzIDAgMCAwLTQuOTQ5MzM0LTQuOTQ5MzM0eiBtMC00NzEuNjA4ODg5YTQuOTQ5 + MzMzIDQuOTQ5MzMzIDAgMCAwLTQuOTQ5MzMzIDQuOTM1MTEydjkuOTU1NTU1YTQuOTQ5MzMzIDQuOTQ5 + MzMzIDAgMSAwIDkuODk4NjY3IDB2LTkuOTU1NTU1YTQuOTQ5MzMzIDQuOTQ5MzMzIDAgMCAwLTQuOTQ5 + MzM0LTQuOTQ5MzM0eiBtODkuMDMxMTExIDQ3MS42MDg4ODlhNC45NDkzMzMgNC45NDkzMzMgMCAwIDAt + NC45MzUxMTEgNC45MzUxMTF2OS45Njk3NzhhNC45NDkzMzMgNC45NDkzMzMgMCAwIDAgOS44ODQ0NDUg + MHYtOS45NTU1NTVhNC45NDkzMzMgNC45NDkzMzMgMCAwIDAtNC45MzUxMTEtNC45NDkzMzR6IG0wLTQ3 + MS42MDg4ODlhNC45NDkzMzMgNC45NDkzMzMgMCAwIDAtNC45MzUxMTEgNC45MzUxMTJ2OS45NTU1NTVh + NC45NDkzMzMgNC45NDkzMzMgMCAwIDAgOS44ODQ0NDUgMHYtOS45NTU1NTVhNC45NDkzMzMgNC45NDkz + MzMgMCAwIDAtNC45MzUxMTEtNC45NDkzMzR6IG05MS41MiA0NzEuNjA4ODg5YTQuOTQ5MzMzIDQuOTQ5 + MzMzIDAgMCAwLTQuOTM1MTExIDQuOTM1MTExdjkuOTY5Nzc4YTQuOTQ5MzMzIDQuOTQ5MzMzIDAgMCAw + IDkuODg0NDQ1IDB2LTkuOTU1NTU1YTQuOTQ5MzMzIDQuOTQ5MzMzIDAgMCAwLTQuOTQ5MzM0LTQuOTQ5 + MzM0eiBtMC00NzEuNjA4ODg5YTQuOTQ5MzMzIDQuOTQ5MzMzIDAgMCAwLTQuOTM1MTExIDQuOTM1MTEy + djkuOTU1NTU1YTQuOTQ5MzMzIDQuOTQ5MzMzIDAgMCAwIDkuODg0NDQ1IDB2LTkuOTU1NTU1YTQuOTQ5 + MzMzIDQuOTQ5MzMzIDAgMCAwLTQuOTQ5MzM0LTQuOTQ5MzM0eiBtODkuMDQ1MzM0IDQ3MS42MDg4ODlh + NC45NDkzMzMgNC45NDkzMzMgMCAwIDAtNC45NDkzMzQgNC45MzUxMTF2OS45Njk3NzhhNC45NDkzMzMg + NC45NDkzMzMgMCAwIDAgOS44OTg2NjcgMHYtOS45NTU1NTVhNC45NDkzMzMgNC45NDkzMzMgMCAwIDAt + NC45NDkzMzMtNC45NDkzMzR6IG0wLTQ3MS42MDg4ODlhNC45NDkzMzMgNC45NDkzMzMgMCAwIDAtNC45 + NDkzMzQgNC45MzUxMTJ2OS45NTU1NTVhNC45NDkzMzMgNC45NDkzMzMgMCAxIDAgOS44OTg2NjcgMHYt + OS45NTU1NTVhNC45NDkzMzMgNC45NDkzMzMgMCAwIDAtNC45NDkzMzMtNC45NDkzMzR6TTY4Mi42NjY2 + NjcgNzQ3LjQ2MzExMWE0Ljk0OTMzMyA0Ljk0OTMzMyAwIDAgMC00Ljk0OTMzNCA0LjkzNTExMXY5Ljk2 + OTc3OGE0Ljk0OTMzMyA0Ljk0OTMzMyAwIDAgMCA5Ljg5ODY2NyAwdi05Ljk1NTU1NmE0Ljk0OTMzMyA0 + Ljk0OTMzMyAwIDAgMC00Ljk0OTMzMy00Ljk0OTMzM3ogbTAtNDcxLjYwODg4OWE0Ljk0OTMzMyA0Ljk0 + OTMzMyAwIDAgMC00Ljk0OTMzNCA0LjkzNTExMXY5Ljk1NTU1NmE0Ljk0OTMzMyA0Ljk0OTMzMyAwIDAg + MCA5Ljg5ODY2NyAwdi05Ljk1NTU1NmE0Ljk0OTMzMyA0Ljk0OTMzMyAwIDAgMC00Ljk0OTMzMy00Ljk0 + OTMzM3pNODkxLjkwNCA0MTIuNDQ0NDQ0Yy0xNy45NzY4ODkgMC0zMi41NDA0NDQtMzEuODQzNTU2LTMy + LjU0MDQ0NC03MS4xMTExMTFzMTQuNTYzNTU2LTcxLjExMTExMSAzMi41NDA0NDQtNzEuMTExMTExQzkw + OS44ODA4ODkgMjcwLjIyMjIyMiA5MjQuNDQ0NDQ0IDMwMi4wNjU3NzggOTI0LjQ0NDQ0NCAzNDEuMzMz + MzMzcy0xNC41NjM1NTYgNzEuMTExMTExLTMyLjU0MDQ0NCA3MS4xMTExMTF6IG0yLjQxNzc3OC0zOS45 + MjE3NzdjOC42NDcxMTEgMCAxNS42NTg2NjctMTMuOTY2MjIyIDE1LjY1ODY2Ni0zMS4xODkzMzRzLTcu + MDExNTU2LTMxLjE4OTMzMy0xNS42NzI4ODgtMzEuMTg5MzMzYy04LjY0NzExMSAwLTE1LjY1ODY2NyAx + My45NjYyMjItMTUuNjU4NjY3IDMxLjE4OTMzM3M3LjAxMTU1NiAzMS4xODkzMzMgMTUuNjU4NjY3IDMx + LjE4OTMzNHoiIGZpbGw9IiMwMDAwMDAiIC8+DQo8L3N2Zz4L +</value> + </data> + <data name="svgImg32Model.Fourlink" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAA4DAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgd2lkdGg9IjQ4cHgiIGhl + aWdodD0iNDhweCIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0 + cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5 + L3hsaW5rIiBjbGFzcz0iaWNvbiI+DQogIDxwYXRoIGQ9Ik05MDEuMTIgMzAxLjY1MzMzM2EzNC45ODY2 + NjcgMzQuOTg2NjY3IDAgMCAwLTM0Ljk4NjY2NyAzNC45ODY2NjdoLTE2My44NFYyMTkuNzMzMzMzYTM0 + Ljk4NjY2NyAzNC45ODY2NjcgMCAwIDAgMC02OS45NzMzMzNIMzI4LjEwNjY2N2EzNC45ODY2NjcgMzQu + OTg2NjY3IDAgMSAwIDAgNjkuOTczMzMzdjExNi45MDY2NjdIMTY0LjY5MzMzM2EzNS40MTMzMzMgMzUu + NDEzMzMzIDAgMCAwLTcwLjQgMHYzMjcuMjUzMzMzYTM1LjQxMzMzMyAzNS40MTMzMzMgMCAxIDAgNzAu + NCAwaDE2My40MTMzMzR2MTE2LjkwNjY2N2EzNS40MTMzMzMgMzUuNDEzMzMzIDAgMCAwLTM0Ljk4NjY2 + NyAzNS40MTMzMzMgMzQuOTg2NjY3IDM0Ljk4NjY2NyAwIDAgMCAzNC45ODY2NjcgMzQuOTg2NjY3aDM3 + NC4xODY2NjZhMzUuNDEzMzMzIDM1LjQxMzMzMyAwIDAgMCAwLTcwLjR2LTExNi45MDY2NjdoMTYzLjg0 + YTM0Ljk4NjY2NyAzNC45ODY2NjcgMCAxIDAgNjkuOTczMzM0IDBWMzM2LjY0YTM0Ljk4NjY2NyAzNC45 + ODY2NjcgMCAwIDAtMzQuOTg2NjY3LTM0Ljk4NjY2N3oiIGZpbGw9IiMyMzE4MTUiIC8+DQo8L3N2Zz4L +</value> + </data> + <data name="svgImg32Model.Elbow" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOcEAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgd2lkdGg9IjQ5LjI2NTYy + NXB4IiBoZWlnaHQ9IjQ4cHgiIHZpZXdCb3g9IjAgMCAxMDUxIDEwMjQiIHZlcnNpb249IjEuMSIgeG1s + bnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5v + cmcvMTk5OS94bGluayIgY2xhc3M9Imljb24iPg0KICA8cGF0aCBkPSJNMTE2Ljc5MjkzMyA3NzEuNTI1 + MDcxSDY5Ljk2OTM0M3YyMjkuMDYzMTM0YzAgMTIuNzcwMDcgMTAuMzc1NjgyIDIzLjQxMTc5NSAyMy40 + MTE3OTUgMjMuNDExNzk1aDMyNS45MDI4MzJjMTIuNzcwMDcgMCAyMy40MTE3OTUtMTAuMzc1NjgyIDIz + LjQxMTc5NS0yMy40MTE3OTVWNzcxLjUyNTA3MUgxMTYuNzkyOTMzek0xMDI3LjcyNDYwNCA2OS43MDMz + aC0yMzIuNzg3NzM3djM3Mi40NjAzNzloMjMyLjc4NzczN2MxMi43NzAwNyAwIDIzLjQxMTc5NS0xMC4z + NzU2ODIgMjMuNDExNzk1LTIzLjQxMTc5NVY5My4xMTUwOTVjMC0xMi43NzAwNy0xMC4zNzU2ODItMjMu + NDExNzk1LTIzLjQxMTc5NS0yMy40MTE3OTV6TTY5OC42MjkyNTQgMEg2NTIuMDcxNzA3Yy0yNS41NDAx + NCAwLTQ2LjU1NzU0NyAyMS4wMTc0MDctNDYuNTU3NTQ3IDQ2LjU1NzU0N3YyMy40MTE3OTZINDY1Ljg0 + MTUxN0MyNDcuNjg2MTUyIDY5LjcwMzMgNjkuOTY5MzQzIDI0Ny40MjAxMDkgNjkuOTY5MzQzIDQ2NS41 + NzU0NzR2MTE2LjUyNjg5aC0yMy40MTE3OTZjLTI1LjU0MDE0IDAtNDYuNTU3NTQ3IDIxLjAxNzQwNy00 + Ni41NTc1NDcgNDYuNTU3NTQ4djQ2LjU1NzU0N2MwIDI1LjU0MDE0IDIxLjAxNzQwNyA0Ni41NTc1NDcg + NDYuNTU3NTQ3IDQ2LjU1NzU0N0g0NjUuODQxNTE3YzI1LjU0MDE0IDAgNDYuNTU3NTQ3LTIxLjAxNzQw + NyA0Ni41NTc1NDgtNDYuNTU3NTQ3di00Ni41NTc1NDdjMC0yNS41NDAxNC0yMS4wMTc0MDctNDYuNTU3 + NTQ3LTQ2LjU1NzU0OC00Ni41NTc1NDhoLTIzLjQxMTc5NXYtNjkuNzAzMjk5YzAtMzguMzEwMjEgMzEu + MzkzMDg5LTY5LjcwMzMgNjkuNzAzMy02OS43MDMzaDkzLjExNTA5NHYyMy40MTE3OTVjMCAyNS41NDAx + NCAyMS4wMTc0MDcgNDYuNTU3NTQ3IDQ2LjU1NzU0OCA0Ni41NTc1NDhoNDYuNTU3NTQ3YzI1LjU0MDE0 + IDAgNDYuNTU3NTQ3LTIxLjAxNzQwNyA0Ni41NTc1NDgtNDYuNTU3NTQ4VjQ2LjU1NzU0N0M3NDUuMTg2 + ODAyIDIxLjAxNzQwNyA3MjQuMTY5Mzk1IDAgNjk4LjYyOTI1NCAweiIgLz4NCjwvc3ZnPgs= +</value> + </data> + <data name="svgImg32Model.Manufacturer" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOUDAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgd2lkdGg9IjQ4cHgiIGhl + aWdodD0iNDhweCIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0 + cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5 + L3hsaW5rIiBjbGFzcz0iaWNvbiI+DQogIDxwYXRoIGQ9Ik0xNjAgODc4LjRhMjIuNCAyMi40IDAgMCAx + LTMuMDQtNDQuNjA4TDE2MCA4MzMuNmg3My42VjM5Ni45MjhhODYuNCA4Ni40IDAgMCAxIDI2LjExMi02 + MS44ODhsNC43MDQtNC4yNTYgMTI4LTEwNy41NTJBODYuNCA4Ni40IDAgMCAxIDUzNC40IDI4OS4zNzZs + LTAuMDMyIDU0NC4yMjRINTg1LjZWNDgwLjE5MmE1NC40IDU0LjQgMCAwIDEgNDkuNjk2LTU0LjE3Nmw0 + LjcwNC0wLjIyNGE1NC40IDU0LjQgMCAwIDEgMzYuNTQ0IDE0LjExMmwxMDYuNDk2IDk2LjU3NmEyMi40 + IDIyLjQgMCAwIDEgNy4zNiAxNi41NzZ2MjgwLjU0NEg4NjRhMjIuNCAyMi40IDAgMCAxIDMuMDQgNDQu + NjA4TDg2NCA4NzguNEgxNjB6IG0zMTkuODQtNjE1Ljc3NmE0MS42IDQxLjYgMCAwIDAtNTguNTkyLTUu + MTJsLTEyOCAxMDcuNTg0YTQxLjYgNDEuNiAwIDAgMC0xNC44NDggMzEuODRWODMzLjZoMjExLjJWMjg5 + LjM3NmE0MS42IDQxLjYgMCAwIDAtNi44NDgtMjIuODQ4eiBtMTYwLjE2IDIwOGE5LjYgOS42IDAgMCAw + LTkuNiA5LjZ2MzUzLjM0NGgxMTUuMnYtMjcwLjU5MmwtOTkuMTM2LTg5Ljg4OGE5LjYgOS42IDAgMCAw + LTQuMTI4LTIuMTc2eiBtLTIyNCAxODYuOTc2YTIyLjQgMjIuNCAwIDAgMSAzLjA0IDQ0LjYwOEw0MTYg + NzAyLjRoLTY0YTIyLjQgMjIuNCAwIDAgMS0zLjA0LTQ0LjYwOEwzNTIgNjU3LjZoNjR6IG0wLTE2MGEy + Mi40IDIyLjQgMCAwIDEgMy4wNCA0NC42MDhMNDE2IDU0Mi40aC02NGEyMi40IDIyLjQgMCAwIDEtMy4w + NC00NC42MDhMMzUyIDQ5Ny42aDY0eiIgLz4NCjwvc3ZnPgs= +</value> + </data> + <data name="svgImg32Model.Valve" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAcFAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgd2lkdGg9IjQ4cHgiIGhl + aWdodD0iNDhweCIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0 + cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5 + L3hsaW5rIiBjbGFzcz0iaWNvbiI+DQogIDxwYXRoIGQ9Ik0wLjUxMiA0OTUuODcyYTQ5NS4xMDQgNDk1 + LjEwNCAwIDEgMCA5OTAuMTU2OCA5LjE2NDhBNDk1LjEwNCA0OTUuMTA0IDAgMCAwIDAuNTEyIDQ5NS45 + MjMydi0wLjA1MTJ6IiBmaWxsPSIjNTA2RUJDIiAvPg0KICA8cGF0aCBkPSJNNDY2LjE3NiAzNzUuMDRW + Mjg5Ljg5NDRIMzM3LjkyYTMxLjIzMiAzMS4yMzIgMCAwIDEtMzEuNzQ0LTMwLjcyYzAtMTYuODk2IDE0 + LjMzNi0zMC43MiAzMS43NDQtMzAuNzJoMzEwLjc4NGMxNy40MDggMCAzMS42NDE2IDEzLjgyNCAzMS42 + NDE2IDMwLjcyIDAgMTcuMTAwOC0xNC4xODI0IDMwLjcyLTMxLjY0MTYgMzAuNzJoLTEyOC4xMDI0djg1 + LjA0MzJoMTAuMDg2NGMxMS45Mjk2IDAgMjEuNjA2NCA5LjQyMDggMjEuNjA2NCAyMC45OTJ2NTAuMDcz + NmwtMTE3LjgxMTItMC4yMDQ4di00OS44Njg4YzAtMTEuNTIgOS42NzY4LTIwLjg4OTYgMjEuNjA2NC0y + MC44ODk2aDEwLjA4NjR6IG0tMjExLjA0NjQgMzI2LjI0NjR2MzUuMzI4YzAgNS4xMi00LjM1MiA5LjQy + MDgtOS43NzkyIDkuNDIwOGgtMjUuMDg4YTkuNjI1NiA5LjYyNTYgMCAwIDEtOS43MjgtOS42MjU2VjUx + MC43MmMwLTUuMzI0OCA0LjM1Mi05LjU3NDQgOS43NzkyLTkuNTc0NGgyNS4wMzY4YzUuNDI3MiAwIDku + Nzc5MiA0LjI0OTYgOS43NzkyIDkuNTc0NHY0NS45Nzc2aDgzLjJjMy41MzI4LTQ3LjMwODggNDMuODI3 + Mi04NC41ODI0IDkzLjEzMjgtODQuNTgyNGgxMTQuOTQ0YzQ5LjMwNTYgMCA4OS42NTEyIDM3LjI3MzYg + OTMuMTMyOCA4NC41ODI0aDgzLjQwNDh2LTQ2LjMzNmMwLTUuMTIgNC4xOTg0LTkuMjE2IDkuNDIwOC05 + LjIxNmgyNS42YTkuMjE2IDkuMjE2IDAgMCAxIDkuNDIwOCA5LjIxNnYyMjYuNDU3NmMwLjIwNDggNS4x + Mi00LjE0NzIgOS4xNjQ4LTkuNDIwOCA5LjE2NDhoLTI1LjZhOS4yNjcyIDkuMjY3MiAwIDAgMS05LjM2 + OTYtOS4yMTZ2LTM1LjQ4MTZoLTg5LjZhOTMuMzM3NiA5My4zMzc2IDAgMCAxLTg2Ljk4ODggNTcuOTA3 + Mkg0MzEuNDYyNGE5My4zMzc2IDkzLjMzNzYgMCAwIDEtODYuOTM3Ni01Ny44NTZIMjU1LjEyOTZ6IiBm + aWxsPSIjRkZGRkZGIiAvPg0KPC9zdmc+Cw== +</value> + </data> + <data name="svgImg32Model.Pump" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAACwMAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgd2lkdGg9IjQ4cHgiIGhl + aWdodD0iNDhweCIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0 + cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5 + L3hsaW5rIiBjbGFzcz0iaWNvbiI+DQogIDxwYXRoIGQ9Ik01MDkuMTcwMjczIDEwMjIuNDk0ODI2QzIy + NC4yNzA5MzEgMTAxNy43Mzg0NzYtMy43MzI4MzIgNzg2LjMwMjkxNiAwLjkwMzEwNCA1MDYuNTIxMTY3 + IDUuNTM5MDQgMjIzLjkwOTY5IDIzOS41NjM1LTQuMzM0OTAxIDUyMC4wMDc1MjYgMS41NjUzODFjMjgy + LjQzMDg1NiA1LjkwMDI4MiA1MDMuODcyMDYgMjI5LjA4NzQ4OCA1MDMuMTQ5NTc3IDUxNC4yODc4NjUt + MC42NjIyNzcgMjgyLjU1MTI3LTIzNi45MTQzOTMgNTExLjIxNzMxLTUxMy45ODY4MyA1MDYuNjQxNTh6 + IiBmaWxsPSIjM0I4MEMzIiAvPg0KICA8cGF0aCBkPSJNNTEyLjYwMjA3IDk3OS42Mjc0NjlDMjUyLjg2 + OTIzOCA5NzkuNjg3Njc2IDQyLjMyNTQ5NCA3NjkuNzQ2MDAyIDQzLjA0Nzk3NyA1MTEuMjc3NTE2IDQz + Ljc3MDQ2MSAyNTMuMTEwMDY2IDI1NC44NTYwNjggNDMuODkwODc1IDUxNC4yODc4NjUgNDQuMzcyNTMx + YzI1Ni42NjIyNzcgMC40ODE2NTYgNDY2Ljg0NDc3OSAyMTEuNTY3MjYyIDQ2Ni43MjQzNjUgNDY4Ljcx + MTE5NC0wLjE4MDYyMSAyNTYuODQyODk3LTIxMC42MDM5NTEgNDY2LjQ4MzUzNy00NjguNDEwMTYgNDY2 + LjU0Mzc0NHoiIGZpbGw9IiNGRkZGRkYiIC8+DQogIDxwYXRoIGQ9Ik00NDMuNDI0MjcxIDc2NS4xNzAy + NzNjMCAyMy45MDIxNjQtMC42MDIwNyA0Ny44NjQ1MzQgMC4zMDEwMzUgNzEuNzA2NDkxIDAuNDIxNDQ5 + IDExLjkyMDk3OC0zLjc5MzAzOSAxNS4xMTE5NDctMTUuMTExOTQ4IDE0Ljc1MDcwNS0yMS45NzU1NDEt + MC43ODI2OS00NC4wNzE0OTYtMC42NjIyNzctNjYuMDQ3MDM2LTAuMDYwMjA3LTEwLjM1NTU5NyAwLjMw + MTAzNS0xNC40NDk2NzEtMi43Njk1Mi0xNC4zMjkyNTctMTMuNzI3MTg3IDAuNDgxNjU2LTQ5LjA2ODY3 + NC0wLjEyMDQxNC05OC4xOTc1NTQgMC40ODE2NTYtMTQ3LjI2NjIyNyAwLjM2MTI0Mi0yOC4xMTY2NTEg + MjEuMDcyNDM3LTQ4LjE2NTU2OSA0Ny43NDQxMi00Ny44NjQ1MzUgMjYuMzcwNjQ5IDAuMjQwODI4IDQ2 + LjI5OTE1MyAyMC41OTA3ODEgNDYuOTAxMjIzIDQ4LjgyNzg0NiAwLjQyMTQ0OSAyNC41MDQyMzMgMCA0 + OS4wNjg2NzQgMC4wNjAyMDcgNzMuNjMzMTE0eiIgZmlsbD0iI0ZGRkZGRiIgLz4NCiAgPHBhdGggZD0i + TTkzMi44NDY2NiA1MTIuMDYwMjA3YzAuMTIwNDE0IDIzMy43ODM2MzEtMTg4LjI2NzE2OCA0MjIuNjUy + ODY5LTQyMS4zODg1MjMgNDIyLjQxMjA0MS0yMzEuNzk2ODAyLTAuMjQwODI4LTQyMC4wMDM3NjMtMTg4 + LjUwNzk5Ni00MjAuMzY1MDA0LTQyMC40MjUyMTEtMC4zMDEwMzUtMjM0LjYyNjUyOSAxODUuNDk3NjQ4 + LTQyMi41MzI0NTUgNDE5Ljg4MzM0OS00MjQuNTE5Mjg1IDIzMS41NTU5NzQtMS45MjY2MjMgNDIxLjc0 + OTc2NSAxODguNTA3OTk2IDQyMS44NzAxNzggNDIyLjUzMjQ1NXoiIGZpbGw9IiMzQjgwQzMiIC8+DQog + IDxwYXRoIGQ9Ik03MDMuNjk4OTY1IDgzMi4xMjA0MTRjLTEyNS40NzEzMDggMC0yNDYuMzY2ODg2LTAu + MTgwNjIxLTM2Ny4yNjI0NjUgMC4xODA2MjEtMTQuMDg4NDI5IDAuMDYwMjA3LTE1LjExMTk0Ny00LjIx + NDQ4Ny05LjMzMjA3OS0xNS40NzMxODkgMTcuMjE5MTkxLTMzLjU5NTQ4NCAzMy4yMzQyNDMtNjcuODUz + MjQ2IDUxLjE3NTkxOC0xMDEuMDg3NDg5IDcuMTY0NjI4LTEzLjMwNTczOCA1LjIzODAwNi0yMC4xNjkz + MzItNi41NjI1NTktMjkuNTYxNjE4LTkyLjgzOTEzNS03NC4xNzQ5NzYtMTExLjMyMjY3Mi0yMDQuNzYz + ODc2LTQzLjI4ODgwNS0zMDIuNTM5OTgxIDUuNTk5MjQ3LTguMDY3NzMzIDcuMjg1MDQyLTE2LjAxNTA1 + MiA3LjIyNDgzNS0yNS4zNDcxMzEtMC4yNDA4MjgtMzcuMDI3MjgxLTEuMDgzNzI1LTc0LjExNDc3IDAu + MzYxMjQyLTExMS4wODE4NDMgMC43MjI0ODQtMTguNzI0MzY1LTQuNTE1NTIyLTI1Ljg4ODk5My0yMy43 + MjE1NDMtMjQuMDgyNzg1LTguODUwNDIzIDAuODQyODk3LTIyLjYzNzgxNyA2LjAyMDY5Ni0yMy45MDIx + NjQtMTEuNjgwMTUtMC44NDI4OTctMTIuMTAxNTk5IDAuOTAzMTA0LTE5LjkyODUwNCAxNi40MzY1MDEt + MTkuODA4MDkxIDY4Ljc1NjM1IDAuNjAyMDcgMTM3LjUxMjcgMC4zNjEyNDIgMjA2LjI2OTA1IDAuMTIw + NDE0IDEwLjU5NjQyNS0wLjA2MDIwNyAxNy4wMzg1NyAxLjkyNjYyMyAxNy4wOTg3NzcgMTQuNzUwNzA2 + IDAuMDYwMjA3IDEyLjU4MzI1NS00LjIxNDQ4NyAxNy4zMzk2MDUtMTcuMDk4Nzc3IDE3LjM5OTgxMi05 + Ljk5NDM1NiAwLTI1LjcwODM3My01Ljk2MDQ4OS0yOS4wMTk3NTYgNC42OTYxNDMtNS41MzkwNCAxNy42 + NDA2NC00LjIxNDQ4NyAzNy41NjkxNDQtMC4zMDEwMzUgNTUuOTkyNDc0IDEuNjI1NTg4IDcuNzA2NDkx + IDExLjgwMDU2NCA0LjI3NDY5NCAxOC4xODI1MDMgNC4yNzQ2OTQgNjIuMDEzMTctMC4xODA2MjEgMTE3 + LjQ2Mzc4MiAxNi43OTc3NDIgMTY0LjEyNDE3NyA1OS40MjQyNzEgOTcuMDUzNjIyIDg4LjU2NDQ0IDk2 + LjYzMjE3MyAyNDMuNTM3MTU5LTMuMzcxNTkgMzI4LjQ4OTE4MS0yMC40NzAzNjcgMTcuMzk5ODEyLTIy + LjE1NjE2MiAyOS41MDE0MTEtOS4zMzIwNzkgNTEuNTM3MTU5IDE4Ljk2NTE5MyAzMi4yNzA5MzEgMzMu + OTU2NzI2IDY2LjgyOTcyNyA1Mi4zMTk4NDkgMTAzLjc5NjgwMnoiIGZpbGw9IiNGRkZGRkYiIC8+DQog + IDxwYXRoIGQ9Ik00MTUuNzI5MDY5IDUxMS4yNzc1MTZjMC4yNDA4MjgtNTMuMDQyMzMzIDQyLjk4Nzc3 + LTk2LjIxMDcyNCA5NC4zNDQzMDgtOTUuMjQ3NDEzIDU2LjUzNDMzNyAxLjA4MzcyNSA5Ny41OTU0ODQg + NDIuNTA2MTE1IDk2Ljg3MzAwMSA5Ny43NzYxMDYtMC43MjI0ODQgNTMuMTAyNTQtNDIuMDg0NjY2IDkz + LjgwMjQ0Ni05NS42MDg2NTUgOTQuMDQzMjc0LTUzLjIyMjk1NCAwLjI0MDgyOC05NS44NDk0ODMtNDIu + ODA3MTUtOTUuNjA4NjU0LTk2LjU3MTk2N3oiIGZpbGw9IiMzQjgwQzMiIC8+DQo8L3N2Zz4L +</value> + </data> + <data name="svgImg32Model.Nozzle" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAF0HAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgd2lkdGg9IjQ4cHgiIGhl + aWdodD0iNDhweCIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0 + cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5 + L3hsaW5rIiBjbGFzcz0iaWNvbiI+DQogIDxwYXRoIGQ9Ik0xNzAuNjY2NjY3IDg1LjMzMzMzM200Mi42 + NjY2NjYgMGw1OTcuMzMzMzM0IDBxNDIuNjY2NjY3IDAgNDIuNjY2NjY2IDQyLjY2NjY2N2wwIDBxMCA0 + Mi42NjY2NjctNDIuNjY2NjY2IDQyLjY2NjY2N2wtNTk3LjMzMzMzNCAwcS00Mi42NjY2NjcgMC00Mi42 + NjY2NjYtNDIuNjY2NjY3bDAgMHEwLTQyLjY2NjY2NyA0Mi42NjY2NjYtNDIuNjY2NjY3WiIgZmlsbD0i + IzA1NTY3OSIgLz4NCiAgPHBhdGggZD0iTTQ2OS4zMzMzMzMgNTEyaDg1LjMzMzMzNHYxNzAuNjY2NjY3 + aC04NS4zMzMzMzR6TTUxMiA4OTZhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDEgMSAwIDg1LjMzMzMzMyA0 + Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAxIDAtODUuMzMzMzMzeiBtMC0xMjhhNDIuNjY2NjY3IDQyLjY2 + NjY2NyAwIDEgMSAwIDg1LjMzMzMzMyA0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAxIDAtODUuMzMzMzMz + ek0yNDAuODk2IDg0Ny4xMDRhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDEgMS02MC4zMzA2NjcgNjAuMzMw + NjY3IDQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDEgNjAuMzMwNjY3LTYwLjMzMDY2N3ogbTkwLjUzODY2 + Ny05MC41Mzg2NjdhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDEgMS02MC4zMzA2NjcgNjAuMzMwNjY3IDQy + LjY2NjY2NyA0Mi42NjY2NjcgMCAwIDEgNjAuMzMwNjY3LTYwLjMzMDY2N3pNNzgzLjEwNCA4NDcuMTA0 + YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAxIDAgNjAuMzMwNjY3IDYwLjMzMDY2NyA0Mi42NjY2NjcgNDIu + NjY2NjY3IDAgMCAwLTYwLjMzMDY2Ny02MC4zMzA2Njd6IG0tOTAuNTM4NjY3LTkwLjUzODY2N2E0Mi42 + NjY2NjcgNDIuNjY2NjY3IDAgMSAwIDYwLjMzMDY2NyA2MC4zMzA2NjcgNDIuNjY2NjY3IDQyLjY2NjY2 + NyAwIDAgMC02MC4zMzA2NjctNjAuMzMwNjY3eiIgZmlsbD0iIzA1NTY3OSIgLz4NCiAgPHBhdGggZD0i + TTc2OCA4NS4zMzMzMzN2MjEzLjMzMzMzNEEyNTYgMjU2IDAgMSAxIDI1NiAyOTguNjY2NjY3Vjg1LjMz + MzMzM2g1MTJ6IG0tODUuMzMzMzMzIDg1LjMzMzMzNEgzNDEuMzMzMzMzdjEyOGExNzAuNjY2NjY3IDE3 + MC42NjY2NjcgMCAwIDAgMTYyLjEzMzMzNCAxNzAuNDUzMzMzTDUxMiA0NjkuMzMzMzMzYTE3MC42NjY2 + NjcgMTcwLjY2NjY2NyAwIDAgMCAxNzAuNDUzMzMzLTE2Mi4xMzMzMzNMNjgyLjY2NjY2NyAyOTguNjY2 + NjY3VjE3MC42NjY2Njd6IiBmaWxsPSIjMDU1Njc5IiAvPg0KICA8cGF0aCBkPSJNNzAzLjI3NDY2NyA1 + NjAuNTU0NjY3YTQyLjg4IDQyLjg4IDAgMCAxIDU4Ljg4IDE1Ljc4NjY2NmMxMS45NDY2NjcgMjAuODY0 + IDQuOTQ5MzMzIDQ3LjQ4OC0xNS42NTg2NjcgNTkuNTYyNjY3LTEwMS4yMDUzMzMgNTkuMzA2NjY3LTE1 + MS40NjY2NjcgODkuNDI5MzMzLTIzNS42MDUzMzMgODkuNDI5MzMzLTg0LjEzODY2NyAwLTEzMy44ODgt + MzAuMjA4LTIzMy42NDI2NjctODkuNmE0My43NzYgNDMuNzc2IDAgMCAxLTE1LjI3NDY2Ny01OS42MDUz + MzMgNDIuODM3MzMzIDQyLjgzNzMzMyAwIDAgMSA1OS4wMDgtMTUuNDQ1MzMzbDEyLjk3MDY2NyA3LjYz + NzMzMyAyNC44MzIgMTMuOTk0NjY3YzY4LjQ4IDM3LjU0NjY2NyA2Ny45NjggNTUuODkzMzMzIDE1Mi4x + MDY2NjcgNTUuODkzMzMzczEwMy4zODEzMzMtMjUuNTE0NjY3IDE5Mi4zODQtNzcuNjUzMzMzeiIgZmls + bD0iIzA1NTY3OSIgLz4NCjwvc3ZnPgs= +</value> + </data> +</root> \ No newline at end of file diff --git a/Desktop/HStation.Desktop.PBS.Core/Program.cs b/Desktop/HStation.Desktop.PBS.Core/Program.cs new file mode 100644 index 0000000..7c75e0d --- /dev/null +++ b/Desktop/HStation.Desktop.PBS.Core/Program.cs @@ -0,0 +1,110 @@ +using DevExpress.LookAndFeel; +using Mapster; +using System.Reflection; + +namespace HStation.Desktop +{ + internal static class Program + { + /// <summary> + /// The main entry point for the application. + /// </summary> + [STAThread] + private static void Main() + { + using (var mutex = new System.Threading.Mutex(true, Application.ProductName, out bool createNew)) + { + if (!createNew) + { + MessageBox.Show("程序正在运行中..."); + Application.Exit(); + return; + } + + //DevExpress.UserSkins.BonusSkins.Register(); + DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle("Bezier");//Visual Studio 2013 Light + DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle(SkinSvgPalette.Bezier.OfficeColorful); + DevExpress.Skins.SkinManager.EnableFormSkins(); + System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("zh-Hans"); + System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("zh-Hans"); + + //处理未捕获的异常 + Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); + //处理UI线程异常 + Application.ThreadException += Application_ThreadException; + //处理非UI线程异常 + AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; + + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + + //字体 + var font = new System.Drawing.Font("微软雅黑", 10); + DevExpress.XtraEditors.WindowsFormsSettings.DefaultFont = font; + DevExpress.XtraEditors.WindowsFormsSettings.DefaultMenuFont = font; + DevExpress.Utils.AppearanceObject.DefaultFont = font; + + //zh-Hans界面翻译 + System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("zh-Hans"); + System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("zh-Hans"); + + //皮肤 + DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle(SkinStyle.WXICompact); + //DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle(SkinStyle.WXICompact); + + // To customize application configuration such as set high DPI settings or default font, + // see https://aka.ms/applicationconfiguration. + ApplicationConfiguration.Initialize(); + + //if (!LoginHelper.Login()) + //{ + // return; + //} + + // Yw.FileFolderZipHelper.Zip(@"C:\Users\ZKC\Desktop\循环水用例", @"C:\Users\ZKC\Desktop\循环水用例.ywrvt"); + //Yw.FileFolderZipHelper.Zip(@"C:\Users\Eventech\Desktop\循环水用例", @"C:\Users\Eventech\Desktop\循环水用例.ywrvt"); + // Yw.FileFolderZipHelper.Zip(@"C:\Users\admin\Desktop\居家办公工作\循环水用例", @"C:\Users\admin\Desktop\居家办公工作\循环水用例.ywrvt"); + //Yw.FileFolderZipHelper.Zip(@"C:\Users\admin\Desktop\居家办公工作\简单用例", @"C:\Users\admin\Desktop\居家办公工作\简单用例.ywrvt"); + + //var json = RevitTestHelper.GenerateJson(); + + //var jsonFileName = @"C:\Users\admin\Desktop\居家办公工作\二开压缩文件\hydro.json"; + //var jsonContent = File.ReadAllText(jsonFileName); + //var jsonModel = JsonHelper.Json2Object<HStation.Model.RevitModel>(jsonContent); + //扫描全局DTO映射 + TypeAdapterConfig.GlobalSettings.Scan + ( + Assembly.Load("Yw.BLL.Auth.Core"), + Assembly.Load("Yw.BLL.Bimface.Core"), + Assembly.Load("Yw.BLL.Hydro.Core"), + Assembly.Load("Yw.BLL.Map.Core"), + Assembly.Load("HStation.BLL.Xhs.Core") + ); + DbFirstHelper.Initial(); + Yw.WinFrmUI.GlobalParas.AppIcon = HStation.Desktop.Xhs.Core.Properties.Resources.app; + Application.Run(new MainForm()); + } + } + + ///<summary> + /// 这就是我们要在发生未处理异常时处理的方法,我这是写出错详细信息到文本,如出错后弹出一个漂亮的出错提示窗体,给大家做个参考 + /// 做法很多,可以是把出错详细信息记录到文本、数据库,发送出错邮件到作者信箱或出错后重新初始化等等 + /// 这就是仁者见仁智者见智,大家自己做了。 + ///</summary> + ///<param name="sender"> </param> + ///<param name="e"> </param> + private static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e) + { + var ex = e.Exception; + Yw.LogHelper.Error("系统出现未知异常,ERROR:249", ex); + MessageBox.Show($"系统出现未知异常,请重启系统!\r\n{ex.Message}"); + } + + private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) + { + var ex = e.ExceptionObject as Exception; + Yw.LogHelper.Error("系统出现未知异常,ERROR:255", ex); + MessageBox.Show($"系统出现未知异常,请重启系统!\r\n{ex.Message}"); + } + } +} \ No newline at end of file diff --git a/Desktop/HStation.Desktop.PBS.Core/Properties/PublishProfiles/FolderProfile.pubxml b/Desktop/HStation.Desktop.PBS.Core/Properties/PublishProfiles/FolderProfile.pubxml new file mode 100644 index 0000000..da35d97 --- /dev/null +++ b/Desktop/HStation.Desktop.PBS.Core/Properties/PublishProfiles/FolderProfile.pubxml @@ -0,0 +1,13 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<!-- +https://go.microsoft.com/fwlink/?LinkID=208121. +--> +<Project> + <PropertyGroup> + <Configuration>Release</Configuration> + <Platform>Any CPU</Platform> + <PublishDir>bin\Release\net6.0-windows\publish\</PublishDir> + <PublishProtocol>FileSystem</PublishProtocol> + <_TargetId>Folder</_TargetId> + </PropertyGroup> +</Project> \ No newline at end of file diff --git a/Desktop/HStation.Desktop.PBS.Core/Properties/PublishProfiles/FolderProfile.pubxml.user b/Desktop/HStation.Desktop.PBS.Core/Properties/PublishProfiles/FolderProfile.pubxml.user new file mode 100644 index 0000000..6e1a744 --- /dev/null +++ b/Desktop/HStation.Desktop.PBS.Core/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -0,0 +1,10 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<!-- +https://go.microsoft.com/fwlink/?LinkID=208121. +--> +<Project> + <PropertyGroup> + <History>True|2024-10-21T04:02:00.7754536Z;False|2024-10-21T11:51:29.4414327+08:00;False|2024-10-21T11:50:51.8640100+08:00;False|2024-10-21T11:49:14.9169777+08:00;</History> + <LastFailureDetails /> + </PropertyGroup> +</Project> \ No newline at end of file diff --git a/Desktop/HStation.Desktop.PBS.Core/Properties/Resources.Designer.cs b/Desktop/HStation.Desktop.PBS.Core/Properties/Resources.Designer.cs new file mode 100644 index 0000000..79b3359 --- /dev/null +++ b/Desktop/HStation.Desktop.PBS.Core/Properties/Resources.Designer.cs @@ -0,0 +1,83 @@ +锘�//------------------------------------------------------------------------------ +// <auto-generated> +// 姝や唬鐮佺敱宸ュ叿鐢熸垚銆� +// 杩愯鏃剁増鏈�:4.0.30319.42000 +// +// 瀵规鏂囦欢鐨勬洿鏀瑰彲鑳戒細瀵艰嚧涓嶆纭殑琛屼负锛屽苟涓斿鏋� +// 閲嶆柊鐢熸垚浠g爜锛岃繖浜涙洿鏀瑰皢浼氫涪澶便�� +// </auto-generated> +//------------------------------------------------------------------------------ + +namespace HStation.Desktop.Xhs.Core.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("HStation.Desktop.Xhs.Core.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> + /// 鏌ユ壘绫讳技浜� (鍥炬爣) 鐨� System.Drawing.Icon 绫诲瀷鐨勬湰鍦板寲璧勬簮銆� + /// </summary> + internal static System.Drawing.Icon app { + get { + object obj = ResourceManager.GetObject("app", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// <summary> + /// 鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆� + /// </summary> + internal static System.Drawing.Bitmap loginbg { + get { + object obj = ResourceManager.GetObject("loginbg", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/Desktop/HStation.Desktop.PBS.Core/Properties/Resources.resx b/Desktop/HStation.Desktop.PBS.Core/Properties/Resources.resx new file mode 100644 index 0000000..f971b8f --- /dev/null +++ b/Desktop/HStation.Desktop.PBS.Core/Properties/Resources.resx @@ -0,0 +1,127 @@ +锘�<?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> + <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + <data name="app" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\app.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="loginbg" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\loginbg.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> +</root> \ No newline at end of file diff --git a/Desktop/HStation.Desktop.PBS.Core/Resources/app.ico b/Desktop/HStation.Desktop.PBS.Core/Resources/app.ico new file mode 100644 index 0000000..fd64892 --- /dev/null +++ b/Desktop/HStation.Desktop.PBS.Core/Resources/app.ico Binary files differ diff --git a/Desktop/HStation.Desktop.PBS.Core/Resources/loginbg.png b/Desktop/HStation.Desktop.PBS.Core/Resources/loginbg.png new file mode 100644 index 0000000..cc315e1 --- /dev/null +++ b/Desktop/HStation.Desktop.PBS.Core/Resources/loginbg.png Binary files differ diff --git a/Desktop/HStation.Desktop.PBS.Core/app.manifest b/Desktop/HStation.Desktop.PBS.Core/app.manifest new file mode 100644 index 0000000..87d44e1 --- /dev/null +++ b/Desktop/HStation.Desktop.PBS.Core/app.manifest @@ -0,0 +1,79 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"> + <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> + <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> + <security> + <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> + <!-- UAC 娓呭崟閫夐」 + 濡傛灉鎯宠鏇存敼 Windows 鐢ㄦ埛甯愭埛鎺у埗绾у埆锛岃浣跨敤 + 浠ヤ笅鑺傜偣涔嬩竴鏇挎崲 requestedExecutionLevel 鑺傜偣銆� + + <requestedExecutionLevel level="asInvoker" uiAccess="false" /> + <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> + <requestedExecutionLevel level="highestAvailable" uiAccess="false" /> + + 鎸囧畾 requestedExecutionLevel 鍏冪礌灏嗙鐢ㄦ枃浠跺拰娉ㄥ唽琛ㄨ櫄鎷熷寲銆� + 濡傛灉浣犵殑搴旂敤绋嬪簭闇�瑕佹铏氭嫙鍖栨潵瀹炵幇鍚戝悗鍏煎鎬э紝鍒欑Щ闄ゆ + 鍏冪礌銆� + --> + <requestedExecutionLevel level="asInvoker" uiAccess="false" /> + </requestedPrivileges> + </security> + </trustInfo> + + <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> + <application> + <!-- 璁捐姝ゅ簲鐢ㄧ▼搴忎笌鍏朵竴璧峰伐浣滀笖宸查拡瀵规搴旂敤绋嬪簭杩涜娴嬭瘯鐨� + Windows 鐗堟湰鐨勫垪琛ㄣ�傚彇娑堣瘎璁洪�傚綋鐨勫厓绱狅紝 + Windows 灏嗚嚜鍔ㄩ�夋嫨鏈�鍏煎鐨勭幆澧冦�� --> + + <!-- Windows Vista --> + <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />--> + + <!-- Windows 7 --> + <!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />--> + + <!-- Windows 8 --> + <!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />--> + + <!-- Windows 8.1 --> + <!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />--> + + <!-- Windows 10 --> + <!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />--> + + </application> + </compatibility> + + <!-- 鎸囩ず璇ュ簲鐢ㄧ▼搴忓彲鎰熺煡 DPI 涓� Windows 鍦� DPI 杈冮珮鏃跺皢涓嶄細瀵瑰叾杩涜 + 鑷姩缂╂斁銆俉indows Presentation Foundation (WPF)搴旂敤绋嬪簭鑷姩鎰熺煡 DPI锛屾棤闇� + 閫夋嫨鍔犲叆銆傞�夋嫨鍔犲叆姝よ缃殑 Windows 绐椾綋搴旂敤绋嬪簭(闈㈠悜 .NET Framework 4.6)杩樺簲 + 鍦ㄥ叾 app.config 涓皢 "EnableWindowsFormsHighDpiAutoResizing" 璁剧疆璁剧疆涓� "true"銆� + + 灏嗗簲鐢ㄧ▼搴忚涓烘劅鐭ラ暱璺緞銆傝鍙傞槄 https://docs.microsoft.com/windows/win32/fileio/maximum-file-path-limitation --> + + <application xmlns="urn:schemas-microsoft-com:asm.v3"> + <windowsSettings> + <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware> + <longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware> + </windowsSettings> + </application> + + + <!-- 鍚敤 Windows 鍏叡鎺т欢鍜屽璇濇鐨勪富棰�(Windows XP 鍜屾洿楂樼増鏈�) --> + <!-- + <dependency> + <dependentAssembly> + <assemblyIdentity + type="win32" + name="Microsoft.Windows.Common-Controls" + version="6.0.0.0" + processorArchitecture="*" + publicKeyToken="6595b64144ccf1df" + language="*" + /> + </dependentAssembly> + </dependency> + --> + +</assembly> diff --git a/Dto/HStation.Dto.Equivalent.Core/00-core/Extensions.cs b/Dto/HStation.Dto.Equivalent.Core/00-core/Extensions.cs new file mode 100644 index 0000000..eaaab36 --- /dev/null +++ b/Dto/HStation.Dto.Equivalent.Core/00-core/Extensions.cs @@ -0,0 +1,12 @@ +锘縩amespace HStation.Dto.Xhs +{ + /// <summary> + /// + /// </summary> + public static class Extensions + { + + + + } +} diff --git a/Dto/HStation.Dto.Equivalent.Core/GlobalUsings.cs b/Dto/HStation.Dto.Equivalent.Core/GlobalUsings.cs new file mode 100644 index 0000000..5f28270 --- /dev/null +++ b/Dto/HStation.Dto.Equivalent.Core/GlobalUsings.cs @@ -0,0 +1 @@ +锘� \ No newline at end of file diff --git a/Dto/HStation.Dto.Equivalent.Core/HStation.Dto.Equivalent.Core.csproj b/Dto/HStation.Dto.Equivalent.Core/HStation.Dto.Equivalent.Core.csproj new file mode 100644 index 0000000..79ddbb3 --- /dev/null +++ b/Dto/HStation.Dto.Equivalent.Core/HStation.Dto.Equivalent.Core.csproj @@ -0,0 +1,15 @@ +锘�<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net6.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>disable</Nullable> + <GeneratePackageOnBuild>True</GeneratePackageOnBuild> + <Version>3.1.8</Version> + </PropertyGroup> + + <ItemGroup> + <ProjectReference Include="..\..\Service\HStation.Service.Equivalent.Core\HStation.Service.Equivalent.Core.csproj" /> + </ItemGroup> + +</Project> diff --git a/Dto/HStation.Dto.Equivalent.Core/Properties/PublishProfiles/FolderProfile.pubxml b/Dto/HStation.Dto.Equivalent.Core/Properties/PublishProfiles/FolderProfile.pubxml new file mode 100644 index 0000000..154e035 --- /dev/null +++ b/Dto/HStation.Dto.Equivalent.Core/Properties/PublishProfiles/FolderProfile.pubxml @@ -0,0 +1,13 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<!-- +https://go.microsoft.com/fwlink/?LinkID=208121. +--> +<Project> + <PropertyGroup> + <Configuration>Release</Configuration> + <Platform>Any CPU</Platform> + <PublishDir>bin\Release\net6.0\publish\</PublishDir> + <PublishProtocol>FileSystem</PublishProtocol> + <_TargetId>Folder</_TargetId> + </PropertyGroup> +</Project> \ No newline at end of file diff --git a/Dto/HStation.Dto.Equivalent.Core/Properties/PublishProfiles/FolderProfile.pubxml.user b/Dto/HStation.Dto.Equivalent.Core/Properties/PublishProfiles/FolderProfile.pubxml.user new file mode 100644 index 0000000..ba02b3f --- /dev/null +++ b/Dto/HStation.Dto.Equivalent.Core/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -0,0 +1,10 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<!-- +https://go.microsoft.com/fwlink/?LinkID=208121. +--> +<Project> + <PropertyGroup> + <History>True|2024-06-17T06:46:08.5635444Z;True|2024-06-17T14:45:13.5778330+08:00;True|2024-06-12T18:50:19.2813927+08:00;True|2024-06-12T17:05:52.5704328+08:00;True|2024-06-12T16:30:20.6762244+08:00;True|2024-06-11T16:14:47.7274200+08:00;True|2024-06-11T15:37:17.5156447+08:00;True|2024-06-07T13:29:36.4259538+08:00;True|2024-06-07T13:18:03.1407603+08:00;True|2024-06-05T17:00:04.0961032+08:00;True|2024-06-05T16:45:49.0327824+08:00;True|2024-06-05T15:55:56.8772154+08:00;True|2024-06-05T15:15:37.2764019+08:00;True|2024-06-05T15:10:30.5557864+08:00;True|2024-06-05T13:36:01.3319880+08:00;True|2024-06-05T12:08:41.7145545+08:00;True|2024-06-05T11:50:34.4721947+08:00;</History> + <LastFailureDetails /> + </PropertyGroup> +</Project> \ No newline at end of file diff --git a/Dto/HStation.Dto.PBS.Core/00-core/Extensions.cs b/Dto/HStation.Dto.PBS.Core/00-core/Extensions.cs new file mode 100644 index 0000000..eaaab36 --- /dev/null +++ b/Dto/HStation.Dto.PBS.Core/00-core/Extensions.cs @@ -0,0 +1,12 @@ +锘縩amespace HStation.Dto.Xhs +{ + /// <summary> + /// + /// </summary> + public static class Extensions + { + + + + } +} diff --git a/Dto/HStation.Dto.PBS.Core/GlobalUsings.cs b/Dto/HStation.Dto.PBS.Core/GlobalUsings.cs new file mode 100644 index 0000000..5f28270 --- /dev/null +++ b/Dto/HStation.Dto.PBS.Core/GlobalUsings.cs @@ -0,0 +1 @@ +锘� \ No newline at end of file diff --git a/Dto/HStation.Dto.PBS.Core/HStation.Dto.PBS.Core.csproj b/Dto/HStation.Dto.PBS.Core/HStation.Dto.PBS.Core.csproj new file mode 100644 index 0000000..154bdd1 --- /dev/null +++ b/Dto/HStation.Dto.PBS.Core/HStation.Dto.PBS.Core.csproj @@ -0,0 +1,15 @@ +锘�<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net6.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>disable</Nullable> + <GeneratePackageOnBuild>True</GeneratePackageOnBuild> + <Version>3.1.8</Version> + </PropertyGroup> + + <ItemGroup> + <ProjectReference Include="..\..\Service\HStation.Service.PBS.Core\HStation.Service.PBS.Core.csproj" /> + </ItemGroup> + +</Project> diff --git a/Dto/HStation.Dto.PBS.Core/Properties/PublishProfiles/FolderProfile.pubxml b/Dto/HStation.Dto.PBS.Core/Properties/PublishProfiles/FolderProfile.pubxml new file mode 100644 index 0000000..154e035 --- /dev/null +++ b/Dto/HStation.Dto.PBS.Core/Properties/PublishProfiles/FolderProfile.pubxml @@ -0,0 +1,13 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<!-- +https://go.microsoft.com/fwlink/?LinkID=208121. +--> +<Project> + <PropertyGroup> + <Configuration>Release</Configuration> + <Platform>Any CPU</Platform> + <PublishDir>bin\Release\net6.0\publish\</PublishDir> + <PublishProtocol>FileSystem</PublishProtocol> + <_TargetId>Folder</_TargetId> + </PropertyGroup> +</Project> \ No newline at end of file diff --git a/Dto/HStation.Dto.PBS.Core/Properties/PublishProfiles/FolderProfile.pubxml.user b/Dto/HStation.Dto.PBS.Core/Properties/PublishProfiles/FolderProfile.pubxml.user new file mode 100644 index 0000000..ba02b3f --- /dev/null +++ b/Dto/HStation.Dto.PBS.Core/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -0,0 +1,10 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<!-- +https://go.microsoft.com/fwlink/?LinkID=208121. +--> +<Project> + <PropertyGroup> + <History>True|2024-06-17T06:46:08.5635444Z;True|2024-06-17T14:45:13.5778330+08:00;True|2024-06-12T18:50:19.2813927+08:00;True|2024-06-12T17:05:52.5704328+08:00;True|2024-06-12T16:30:20.6762244+08:00;True|2024-06-11T16:14:47.7274200+08:00;True|2024-06-11T15:37:17.5156447+08:00;True|2024-06-07T13:29:36.4259538+08:00;True|2024-06-07T13:18:03.1407603+08:00;True|2024-06-05T17:00:04.0961032+08:00;True|2024-06-05T16:45:49.0327824+08:00;True|2024-06-05T15:55:56.8772154+08:00;True|2024-06-05T15:15:37.2764019+08:00;True|2024-06-05T15:10:30.5557864+08:00;True|2024-06-05T13:36:01.3319880+08:00;True|2024-06-05T12:08:41.7145545+08:00;True|2024-06-05T11:50:34.4721947+08:00;</History> + <LastFailureDetails /> + </PropertyGroup> +</Project> \ No newline at end of file diff --git a/HStation.Xhs.Core.sln b/HStation.Xhs.Core.sln index 574ba59..385d232 100644 --- a/HStation.Xhs.Core.sln +++ b/HStation.Xhs.Core.sln @@ -155,6 +155,28 @@ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HStation.WinFrmUI.Basic.Core", "WinFrmUI\HStation.WinFrmUI.Basic.Core\HStation.WinFrmUI.Basic.Core.csproj", "{2A30EB54-38CA-44D4-BB11-3C2658568346}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HStation.Desktop.PBS.Core", "Desktop\HStation.Desktop.PBS.Core\HStation.Desktop.PBS.Core.csproj", "{09380ADD-5C27-4A29-B67F-ED1B5B8133EE}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HStation.WinFrmUI.PBS.Core", "WinFrmUI\HStation.WinFrmUI.PBS.Core\HStation.WinFrmUI.PBS.Core.csproj", "{5CC269BF-A20B-4D43-B0AE-E545315672F3}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HStation.BLL.PBS.Core", "BLL\HStation.BLL.PBS.Core\HStation.BLL.PBS.Core.csproj", "{9D8BE75D-FEBB-49DE-9D58-F2926B7978CA}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HStation.Vmo.PBS.Core", "Vmo\HStation.Vmo.PBS.Core\HStation.Vmo.PBS.Core.csproj", "{DBE66876-8B00-4359-A0B3-269202FB2794}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HStation.Dto.PBS.Core", "Dto\HStation.Dto.PBS.Core\HStation.Dto.PBS.Core.csproj", "{859BFDFE-8D52-4451-A093-B58C9D6C009D}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HStation.Service.PBS.Core", "Service\HStation.Service.PBS.Core\HStation.Service.PBS.Core.csproj", "{9D0BEFFB-0F9E-4F75-B122-EAA5DFD0437C}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HStation.WinFrmUI.Equivalent.Core", "WinFrmUI\HStation.WinFrmUI.Equivalent.Core\HStation.WinFrmUI.Equivalent.Core.csproj", "{941E1340-380E-4C76-AD21-745BD1F733AE}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HStation.BLL.Equivalent.Core", "BLL\HStation.BLL.Equivalent.Core\HStation.BLL.Equivalent.Core.csproj", "{289785D7-C95E-4966-95F7-35776D566727}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HStation.Vmo.Equivalent.Core", "Vmo\HStation.Vmo.Equivalent.Core\HStation.Vmo.Equivalent.Core.csproj", "{B930E14D-8018-47DB-82C1-872DA02151C8}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HStation.Dto.Equivalent.Core", "Dto\HStation.Dto.Equivalent.Core\HStation.Dto.Equivalent.Core.csproj", "{7DFA0C65-0EA6-46B4-B256-87F409C4E381}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HStation.Service.Equivalent.Core", "Service\HStation.Service.Equivalent.Core\HStation.Service.Equivalent.Core.csproj", "{2C273E0D-7305-46C3-9030-A0D56F1B539D}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -1338,6 +1360,204 @@ {2A30EB54-38CA-44D4-BB11-3C2658568346}.Release|x64.Build.0 = Release|Any CPU {2A30EB54-38CA-44D4-BB11-3C2658568346}.Release|x86.ActiveCfg = Release|Any CPU {2A30EB54-38CA-44D4-BB11-3C2658568346}.Release|x86.Build.0 = Release|Any CPU + {09380ADD-5C27-4A29-B67F-ED1B5B8133EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {09380ADD-5C27-4A29-B67F-ED1B5B8133EE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {09380ADD-5C27-4A29-B67F-ED1B5B8133EE}.Debug|x64.ActiveCfg = Debug|Any CPU + {09380ADD-5C27-4A29-B67F-ED1B5B8133EE}.Debug|x64.Build.0 = Debug|Any CPU + {09380ADD-5C27-4A29-B67F-ED1B5B8133EE}.Debug|x86.ActiveCfg = Debug|Any CPU + {09380ADD-5C27-4A29-B67F-ED1B5B8133EE}.Debug|x86.Build.0 = Debug|Any CPU + {09380ADD-5C27-4A29-B67F-ED1B5B8133EE}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU + {09380ADD-5C27-4A29-B67F-ED1B5B8133EE}.dll_test|Any CPU.Build.0 = Debug|Any CPU + {09380ADD-5C27-4A29-B67F-ED1B5B8133EE}.dll_test|x64.ActiveCfg = Debug|Any CPU + {09380ADD-5C27-4A29-B67F-ED1B5B8133EE}.dll_test|x64.Build.0 = Debug|Any CPU + {09380ADD-5C27-4A29-B67F-ED1B5B8133EE}.dll_test|x86.ActiveCfg = Debug|Any CPU + {09380ADD-5C27-4A29-B67F-ED1B5B8133EE}.dll_test|x86.Build.0 = Debug|Any CPU + {09380ADD-5C27-4A29-B67F-ED1B5B8133EE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {09380ADD-5C27-4A29-B67F-ED1B5B8133EE}.Release|Any CPU.Build.0 = Release|Any CPU + {09380ADD-5C27-4A29-B67F-ED1B5B8133EE}.Release|x64.ActiveCfg = Release|Any CPU + {09380ADD-5C27-4A29-B67F-ED1B5B8133EE}.Release|x64.Build.0 = Release|Any CPU + {09380ADD-5C27-4A29-B67F-ED1B5B8133EE}.Release|x86.ActiveCfg = Release|Any CPU + {09380ADD-5C27-4A29-B67F-ED1B5B8133EE}.Release|x86.Build.0 = Release|Any CPU + {5CC269BF-A20B-4D43-B0AE-E545315672F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5CC269BF-A20B-4D43-B0AE-E545315672F3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5CC269BF-A20B-4D43-B0AE-E545315672F3}.Debug|x64.ActiveCfg = Debug|Any CPU + {5CC269BF-A20B-4D43-B0AE-E545315672F3}.Debug|x64.Build.0 = Debug|Any CPU + {5CC269BF-A20B-4D43-B0AE-E545315672F3}.Debug|x86.ActiveCfg = Debug|Any CPU + {5CC269BF-A20B-4D43-B0AE-E545315672F3}.Debug|x86.Build.0 = Debug|Any CPU + {5CC269BF-A20B-4D43-B0AE-E545315672F3}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU + {5CC269BF-A20B-4D43-B0AE-E545315672F3}.dll_test|Any CPU.Build.0 = Debug|Any CPU + {5CC269BF-A20B-4D43-B0AE-E545315672F3}.dll_test|x64.ActiveCfg = Debug|Any CPU + {5CC269BF-A20B-4D43-B0AE-E545315672F3}.dll_test|x64.Build.0 = Debug|Any CPU + {5CC269BF-A20B-4D43-B0AE-E545315672F3}.dll_test|x86.ActiveCfg = Debug|Any CPU + {5CC269BF-A20B-4D43-B0AE-E545315672F3}.dll_test|x86.Build.0 = Debug|Any CPU + {5CC269BF-A20B-4D43-B0AE-E545315672F3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5CC269BF-A20B-4D43-B0AE-E545315672F3}.Release|Any CPU.Build.0 = Release|Any CPU + {5CC269BF-A20B-4D43-B0AE-E545315672F3}.Release|x64.ActiveCfg = Release|Any CPU + {5CC269BF-A20B-4D43-B0AE-E545315672F3}.Release|x64.Build.0 = Release|Any CPU + {5CC269BF-A20B-4D43-B0AE-E545315672F3}.Release|x86.ActiveCfg = Release|Any CPU + {5CC269BF-A20B-4D43-B0AE-E545315672F3}.Release|x86.Build.0 = Release|Any CPU + {9D8BE75D-FEBB-49DE-9D58-F2926B7978CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9D8BE75D-FEBB-49DE-9D58-F2926B7978CA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9D8BE75D-FEBB-49DE-9D58-F2926B7978CA}.Debug|x64.ActiveCfg = Debug|Any CPU + {9D8BE75D-FEBB-49DE-9D58-F2926B7978CA}.Debug|x64.Build.0 = Debug|Any CPU + {9D8BE75D-FEBB-49DE-9D58-F2926B7978CA}.Debug|x86.ActiveCfg = Debug|Any CPU + {9D8BE75D-FEBB-49DE-9D58-F2926B7978CA}.Debug|x86.Build.0 = Debug|Any CPU + {9D8BE75D-FEBB-49DE-9D58-F2926B7978CA}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU + {9D8BE75D-FEBB-49DE-9D58-F2926B7978CA}.dll_test|Any CPU.Build.0 = Debug|Any CPU + {9D8BE75D-FEBB-49DE-9D58-F2926B7978CA}.dll_test|x64.ActiveCfg = Debug|Any CPU + {9D8BE75D-FEBB-49DE-9D58-F2926B7978CA}.dll_test|x64.Build.0 = Debug|Any CPU + {9D8BE75D-FEBB-49DE-9D58-F2926B7978CA}.dll_test|x86.ActiveCfg = Debug|Any CPU + {9D8BE75D-FEBB-49DE-9D58-F2926B7978CA}.dll_test|x86.Build.0 = Debug|Any CPU + {9D8BE75D-FEBB-49DE-9D58-F2926B7978CA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9D8BE75D-FEBB-49DE-9D58-F2926B7978CA}.Release|Any CPU.Build.0 = Release|Any CPU + {9D8BE75D-FEBB-49DE-9D58-F2926B7978CA}.Release|x64.ActiveCfg = Release|Any CPU + {9D8BE75D-FEBB-49DE-9D58-F2926B7978CA}.Release|x64.Build.0 = Release|Any CPU + {9D8BE75D-FEBB-49DE-9D58-F2926B7978CA}.Release|x86.ActiveCfg = Release|Any CPU + {9D8BE75D-FEBB-49DE-9D58-F2926B7978CA}.Release|x86.Build.0 = Release|Any CPU + {DBE66876-8B00-4359-A0B3-269202FB2794}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DBE66876-8B00-4359-A0B3-269202FB2794}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DBE66876-8B00-4359-A0B3-269202FB2794}.Debug|x64.ActiveCfg = Debug|Any CPU + {DBE66876-8B00-4359-A0B3-269202FB2794}.Debug|x64.Build.0 = Debug|Any CPU + {DBE66876-8B00-4359-A0B3-269202FB2794}.Debug|x86.ActiveCfg = Debug|Any CPU + {DBE66876-8B00-4359-A0B3-269202FB2794}.Debug|x86.Build.0 = Debug|Any CPU + {DBE66876-8B00-4359-A0B3-269202FB2794}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU + {DBE66876-8B00-4359-A0B3-269202FB2794}.dll_test|Any CPU.Build.0 = Debug|Any CPU + {DBE66876-8B00-4359-A0B3-269202FB2794}.dll_test|x64.ActiveCfg = Debug|Any CPU + {DBE66876-8B00-4359-A0B3-269202FB2794}.dll_test|x64.Build.0 = Debug|Any CPU + {DBE66876-8B00-4359-A0B3-269202FB2794}.dll_test|x86.ActiveCfg = Debug|Any CPU + {DBE66876-8B00-4359-A0B3-269202FB2794}.dll_test|x86.Build.0 = Debug|Any CPU + {DBE66876-8B00-4359-A0B3-269202FB2794}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DBE66876-8B00-4359-A0B3-269202FB2794}.Release|Any CPU.Build.0 = Release|Any CPU + {DBE66876-8B00-4359-A0B3-269202FB2794}.Release|x64.ActiveCfg = Release|Any CPU + {DBE66876-8B00-4359-A0B3-269202FB2794}.Release|x64.Build.0 = Release|Any CPU + {DBE66876-8B00-4359-A0B3-269202FB2794}.Release|x86.ActiveCfg = Release|Any CPU + {DBE66876-8B00-4359-A0B3-269202FB2794}.Release|x86.Build.0 = Release|Any CPU + {859BFDFE-8D52-4451-A093-B58C9D6C009D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {859BFDFE-8D52-4451-A093-B58C9D6C009D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {859BFDFE-8D52-4451-A093-B58C9D6C009D}.Debug|x64.ActiveCfg = Debug|Any CPU + {859BFDFE-8D52-4451-A093-B58C9D6C009D}.Debug|x64.Build.0 = Debug|Any CPU + {859BFDFE-8D52-4451-A093-B58C9D6C009D}.Debug|x86.ActiveCfg = Debug|Any CPU + {859BFDFE-8D52-4451-A093-B58C9D6C009D}.Debug|x86.Build.0 = Debug|Any CPU + {859BFDFE-8D52-4451-A093-B58C9D6C009D}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU + {859BFDFE-8D52-4451-A093-B58C9D6C009D}.dll_test|Any CPU.Build.0 = Debug|Any CPU + {859BFDFE-8D52-4451-A093-B58C9D6C009D}.dll_test|x64.ActiveCfg = Debug|Any CPU + {859BFDFE-8D52-4451-A093-B58C9D6C009D}.dll_test|x64.Build.0 = Debug|Any CPU + {859BFDFE-8D52-4451-A093-B58C9D6C009D}.dll_test|x86.ActiveCfg = Debug|Any CPU + {859BFDFE-8D52-4451-A093-B58C9D6C009D}.dll_test|x86.Build.0 = Debug|Any CPU + {859BFDFE-8D52-4451-A093-B58C9D6C009D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {859BFDFE-8D52-4451-A093-B58C9D6C009D}.Release|Any CPU.Build.0 = Release|Any CPU + {859BFDFE-8D52-4451-A093-B58C9D6C009D}.Release|x64.ActiveCfg = Release|Any CPU + {859BFDFE-8D52-4451-A093-B58C9D6C009D}.Release|x64.Build.0 = Release|Any CPU + {859BFDFE-8D52-4451-A093-B58C9D6C009D}.Release|x86.ActiveCfg = Release|Any CPU + {859BFDFE-8D52-4451-A093-B58C9D6C009D}.Release|x86.Build.0 = Release|Any CPU + {9D0BEFFB-0F9E-4F75-B122-EAA5DFD0437C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9D0BEFFB-0F9E-4F75-B122-EAA5DFD0437C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9D0BEFFB-0F9E-4F75-B122-EAA5DFD0437C}.Debug|x64.ActiveCfg = Debug|Any CPU + {9D0BEFFB-0F9E-4F75-B122-EAA5DFD0437C}.Debug|x64.Build.0 = Debug|Any CPU + {9D0BEFFB-0F9E-4F75-B122-EAA5DFD0437C}.Debug|x86.ActiveCfg = Debug|Any CPU + {9D0BEFFB-0F9E-4F75-B122-EAA5DFD0437C}.Debug|x86.Build.0 = Debug|Any CPU + {9D0BEFFB-0F9E-4F75-B122-EAA5DFD0437C}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU + {9D0BEFFB-0F9E-4F75-B122-EAA5DFD0437C}.dll_test|Any CPU.Build.0 = Debug|Any CPU + {9D0BEFFB-0F9E-4F75-B122-EAA5DFD0437C}.dll_test|x64.ActiveCfg = Debug|Any CPU + {9D0BEFFB-0F9E-4F75-B122-EAA5DFD0437C}.dll_test|x64.Build.0 = Debug|Any CPU + {9D0BEFFB-0F9E-4F75-B122-EAA5DFD0437C}.dll_test|x86.ActiveCfg = Debug|Any CPU + {9D0BEFFB-0F9E-4F75-B122-EAA5DFD0437C}.dll_test|x86.Build.0 = Debug|Any CPU + {9D0BEFFB-0F9E-4F75-B122-EAA5DFD0437C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9D0BEFFB-0F9E-4F75-B122-EAA5DFD0437C}.Release|Any CPU.Build.0 = Release|Any CPU + {9D0BEFFB-0F9E-4F75-B122-EAA5DFD0437C}.Release|x64.ActiveCfg = Release|Any CPU + {9D0BEFFB-0F9E-4F75-B122-EAA5DFD0437C}.Release|x64.Build.0 = Release|Any CPU + {9D0BEFFB-0F9E-4F75-B122-EAA5DFD0437C}.Release|x86.ActiveCfg = Release|Any CPU + {9D0BEFFB-0F9E-4F75-B122-EAA5DFD0437C}.Release|x86.Build.0 = Release|Any CPU + {941E1340-380E-4C76-AD21-745BD1F733AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {941E1340-380E-4C76-AD21-745BD1F733AE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {941E1340-380E-4C76-AD21-745BD1F733AE}.Debug|x64.ActiveCfg = Debug|Any CPU + {941E1340-380E-4C76-AD21-745BD1F733AE}.Debug|x64.Build.0 = Debug|Any CPU + {941E1340-380E-4C76-AD21-745BD1F733AE}.Debug|x86.ActiveCfg = Debug|Any CPU + {941E1340-380E-4C76-AD21-745BD1F733AE}.Debug|x86.Build.0 = Debug|Any CPU + {941E1340-380E-4C76-AD21-745BD1F733AE}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU + {941E1340-380E-4C76-AD21-745BD1F733AE}.dll_test|Any CPU.Build.0 = Debug|Any CPU + {941E1340-380E-4C76-AD21-745BD1F733AE}.dll_test|x64.ActiveCfg = Debug|Any CPU + {941E1340-380E-4C76-AD21-745BD1F733AE}.dll_test|x64.Build.0 = Debug|Any CPU + {941E1340-380E-4C76-AD21-745BD1F733AE}.dll_test|x86.ActiveCfg = Debug|Any CPU + {941E1340-380E-4C76-AD21-745BD1F733AE}.dll_test|x86.Build.0 = Debug|Any CPU + {941E1340-380E-4C76-AD21-745BD1F733AE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {941E1340-380E-4C76-AD21-745BD1F733AE}.Release|Any CPU.Build.0 = Release|Any CPU + {941E1340-380E-4C76-AD21-745BD1F733AE}.Release|x64.ActiveCfg = Release|Any CPU + {941E1340-380E-4C76-AD21-745BD1F733AE}.Release|x64.Build.0 = Release|Any CPU + {941E1340-380E-4C76-AD21-745BD1F733AE}.Release|x86.ActiveCfg = Release|Any CPU + {941E1340-380E-4C76-AD21-745BD1F733AE}.Release|x86.Build.0 = Release|Any CPU + {289785D7-C95E-4966-95F7-35776D566727}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {289785D7-C95E-4966-95F7-35776D566727}.Debug|Any CPU.Build.0 = Debug|Any CPU + {289785D7-C95E-4966-95F7-35776D566727}.Debug|x64.ActiveCfg = Debug|Any CPU + {289785D7-C95E-4966-95F7-35776D566727}.Debug|x64.Build.0 = Debug|Any CPU + {289785D7-C95E-4966-95F7-35776D566727}.Debug|x86.ActiveCfg = Debug|Any CPU + {289785D7-C95E-4966-95F7-35776D566727}.Debug|x86.Build.0 = Debug|Any CPU + {289785D7-C95E-4966-95F7-35776D566727}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU + {289785D7-C95E-4966-95F7-35776D566727}.dll_test|Any CPU.Build.0 = Debug|Any CPU + {289785D7-C95E-4966-95F7-35776D566727}.dll_test|x64.ActiveCfg = Debug|Any CPU + {289785D7-C95E-4966-95F7-35776D566727}.dll_test|x64.Build.0 = Debug|Any CPU + {289785D7-C95E-4966-95F7-35776D566727}.dll_test|x86.ActiveCfg = Debug|Any CPU + {289785D7-C95E-4966-95F7-35776D566727}.dll_test|x86.Build.0 = Debug|Any CPU + {289785D7-C95E-4966-95F7-35776D566727}.Release|Any CPU.ActiveCfg = Release|Any CPU + {289785D7-C95E-4966-95F7-35776D566727}.Release|Any CPU.Build.0 = Release|Any CPU + {289785D7-C95E-4966-95F7-35776D566727}.Release|x64.ActiveCfg = Release|Any CPU + {289785D7-C95E-4966-95F7-35776D566727}.Release|x64.Build.0 = Release|Any CPU + {289785D7-C95E-4966-95F7-35776D566727}.Release|x86.ActiveCfg = Release|Any CPU + {289785D7-C95E-4966-95F7-35776D566727}.Release|x86.Build.0 = Release|Any CPU + {B930E14D-8018-47DB-82C1-872DA02151C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B930E14D-8018-47DB-82C1-872DA02151C8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B930E14D-8018-47DB-82C1-872DA02151C8}.Debug|x64.ActiveCfg = Debug|Any CPU + {B930E14D-8018-47DB-82C1-872DA02151C8}.Debug|x64.Build.0 = Debug|Any CPU + {B930E14D-8018-47DB-82C1-872DA02151C8}.Debug|x86.ActiveCfg = Debug|Any CPU + {B930E14D-8018-47DB-82C1-872DA02151C8}.Debug|x86.Build.0 = Debug|Any CPU + {B930E14D-8018-47DB-82C1-872DA02151C8}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU + {B930E14D-8018-47DB-82C1-872DA02151C8}.dll_test|Any CPU.Build.0 = Debug|Any CPU + {B930E14D-8018-47DB-82C1-872DA02151C8}.dll_test|x64.ActiveCfg = Debug|Any CPU + {B930E14D-8018-47DB-82C1-872DA02151C8}.dll_test|x64.Build.0 = Debug|Any CPU + {B930E14D-8018-47DB-82C1-872DA02151C8}.dll_test|x86.ActiveCfg = Debug|Any CPU + {B930E14D-8018-47DB-82C1-872DA02151C8}.dll_test|x86.Build.0 = Debug|Any CPU + {B930E14D-8018-47DB-82C1-872DA02151C8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B930E14D-8018-47DB-82C1-872DA02151C8}.Release|Any CPU.Build.0 = Release|Any CPU + {B930E14D-8018-47DB-82C1-872DA02151C8}.Release|x64.ActiveCfg = Release|Any CPU + {B930E14D-8018-47DB-82C1-872DA02151C8}.Release|x64.Build.0 = Release|Any CPU + {B930E14D-8018-47DB-82C1-872DA02151C8}.Release|x86.ActiveCfg = Release|Any CPU + {B930E14D-8018-47DB-82C1-872DA02151C8}.Release|x86.Build.0 = Release|Any CPU + {7DFA0C65-0EA6-46B4-B256-87F409C4E381}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7DFA0C65-0EA6-46B4-B256-87F409C4E381}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7DFA0C65-0EA6-46B4-B256-87F409C4E381}.Debug|x64.ActiveCfg = Debug|Any CPU + {7DFA0C65-0EA6-46B4-B256-87F409C4E381}.Debug|x64.Build.0 = Debug|Any CPU + {7DFA0C65-0EA6-46B4-B256-87F409C4E381}.Debug|x86.ActiveCfg = Debug|Any CPU + {7DFA0C65-0EA6-46B4-B256-87F409C4E381}.Debug|x86.Build.0 = Debug|Any CPU + {7DFA0C65-0EA6-46B4-B256-87F409C4E381}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU + {7DFA0C65-0EA6-46B4-B256-87F409C4E381}.dll_test|Any CPU.Build.0 = Debug|Any CPU + {7DFA0C65-0EA6-46B4-B256-87F409C4E381}.dll_test|x64.ActiveCfg = Debug|Any CPU + {7DFA0C65-0EA6-46B4-B256-87F409C4E381}.dll_test|x64.Build.0 = Debug|Any CPU + {7DFA0C65-0EA6-46B4-B256-87F409C4E381}.dll_test|x86.ActiveCfg = Debug|Any CPU + {7DFA0C65-0EA6-46B4-B256-87F409C4E381}.dll_test|x86.Build.0 = Debug|Any CPU + {7DFA0C65-0EA6-46B4-B256-87F409C4E381}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7DFA0C65-0EA6-46B4-B256-87F409C4E381}.Release|Any CPU.Build.0 = Release|Any CPU + {7DFA0C65-0EA6-46B4-B256-87F409C4E381}.Release|x64.ActiveCfg = Release|Any CPU + {7DFA0C65-0EA6-46B4-B256-87F409C4E381}.Release|x64.Build.0 = Release|Any CPU + {7DFA0C65-0EA6-46B4-B256-87F409C4E381}.Release|x86.ActiveCfg = Release|Any CPU + {7DFA0C65-0EA6-46B4-B256-87F409C4E381}.Release|x86.Build.0 = Release|Any CPU + {2C273E0D-7305-46C3-9030-A0D56F1B539D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2C273E0D-7305-46C3-9030-A0D56F1B539D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2C273E0D-7305-46C3-9030-A0D56F1B539D}.Debug|x64.ActiveCfg = Debug|Any CPU + {2C273E0D-7305-46C3-9030-A0D56F1B539D}.Debug|x64.Build.0 = Debug|Any CPU + {2C273E0D-7305-46C3-9030-A0D56F1B539D}.Debug|x86.ActiveCfg = Debug|Any CPU + {2C273E0D-7305-46C3-9030-A0D56F1B539D}.Debug|x86.Build.0 = Debug|Any CPU + {2C273E0D-7305-46C3-9030-A0D56F1B539D}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU + {2C273E0D-7305-46C3-9030-A0D56F1B539D}.dll_test|Any CPU.Build.0 = Debug|Any CPU + {2C273E0D-7305-46C3-9030-A0D56F1B539D}.dll_test|x64.ActiveCfg = Debug|Any CPU + {2C273E0D-7305-46C3-9030-A0D56F1B539D}.dll_test|x64.Build.0 = Debug|Any CPU + {2C273E0D-7305-46C3-9030-A0D56F1B539D}.dll_test|x86.ActiveCfg = Debug|Any CPU + {2C273E0D-7305-46C3-9030-A0D56F1B539D}.dll_test|x86.Build.0 = Debug|Any CPU + {2C273E0D-7305-46C3-9030-A0D56F1B539D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2C273E0D-7305-46C3-9030-A0D56F1B539D}.Release|Any CPU.Build.0 = Release|Any CPU + {2C273E0D-7305-46C3-9030-A0D56F1B539D}.Release|x64.ActiveCfg = Release|Any CPU + {2C273E0D-7305-46C3-9030-A0D56F1B539D}.Release|x64.Build.0 = Release|Any CPU + {2C273E0D-7305-46C3-9030-A0D56F1B539D}.Release|x86.ActiveCfg = Release|Any CPU + {2C273E0D-7305-46C3-9030-A0D56F1B539D}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1408,6 +1628,17 @@ {0DBE9BD3-457E-472C-BB93-86D754B2A348} = {4D3764D7-19DE-4C77-8F75-0EFB19D64B3F} {C0C9D757-5AA3-4590-9161-C4CE2700F822} = {929B3BD5-B817-4EAF-ADA4-3DFBD1580DA6} {2A30EB54-38CA-44D4-BB11-3C2658568346} = {4F0A7BA1-6ED6-4F4F-A3B4-B9B3A133D869} + {09380ADD-5C27-4A29-B67F-ED1B5B8133EE} = {E43ECCDE-FE94-4165-93CA-C14F197378FB} + {5CC269BF-A20B-4D43-B0AE-E545315672F3} = {4F0A7BA1-6ED6-4F4F-A3B4-B9B3A133D869} + {9D8BE75D-FEBB-49DE-9D58-F2926B7978CA} = {4D3764D7-19DE-4C77-8F75-0EFB19D64B3F} + {DBE66876-8B00-4359-A0B3-269202FB2794} = {E956660D-6E09-417B-9A3C-27888AF69266} + {859BFDFE-8D52-4451-A093-B58C9D6C009D} = {929B3BD5-B817-4EAF-ADA4-3DFBD1580DA6} + {9D0BEFFB-0F9E-4F75-B122-EAA5DFD0437C} = {CF8E0A6C-9342-430D-BD10-6E1B5DE18571} + {941E1340-380E-4C76-AD21-745BD1F733AE} = {4F0A7BA1-6ED6-4F4F-A3B4-B9B3A133D869} + {289785D7-C95E-4966-95F7-35776D566727} = {4D3764D7-19DE-4C77-8F75-0EFB19D64B3F} + {B930E14D-8018-47DB-82C1-872DA02151C8} = {E956660D-6E09-417B-9A3C-27888AF69266} + {7DFA0C65-0EA6-46B4-B256-87F409C4E381} = {929B3BD5-B817-4EAF-ADA4-3DFBD1580DA6} + {2C273E0D-7305-46C3-9030-A0D56F1B539D} = {CF8E0A6C-9342-430D-BD10-6E1B5DE18571} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {E02989A8-9B6F-43E5-AACA-790328215089} diff --git a/Service/HStation.Service.Equivalent.Core/00-core/ConfigHelper.cs b/Service/HStation.Service.Equivalent.Core/00-core/ConfigHelper.cs new file mode 100644 index 0000000..384c13e --- /dev/null +++ b/Service/HStation.Service.Equivalent.Core/00-core/ConfigHelper.cs @@ -0,0 +1,93 @@ +锘縩amespace HStation.Equivalent +{ + internal class ConfigHelper + { + /// <summary> + /// 榛樿杩炴帴閰嶇疆 + /// </summary> + internal static ConnectionConfig DefaultConnectionConfig + { + get + { + ConnectionConfig connectConfig = null; + switch (EquivalentParasHelper.Equivalent.DataBase.DbType) + { + case DbType.PostgreSql: + { + connectConfig = PostgreSqlConnectionConfig; + } + break; + + case DbType.SQLite: + { + connectConfig = SQLiteConnectionConfig; + } + break; + + default: break; + } + return connectConfig; + } + } + + /// <summary> + /// PostgreSql杩炴帴閰嶇疆 + /// </summary> + internal static ConnectionConfig PostgreSqlConnectionConfig + { + get + { + //SnowFlakeSingle.WorkId = Settings.SqlSugar.SnowFlakeWorkId; 涓嶅悓鏈哄櫒閰嶇疆鐨勫敮涓�鏁板瓧; // 鍗曟湇鍔″櫒涓嶉渶瑕佹寚瀹� + return new ConnectionConfig() + { + DbType = SqlSugar.DbType.PostgreSQL,//鏁版嵁搴撶被鍨� + ConnectionString = EquivalentParasHelper.Equivalent.DataBase.PostgreSql.ConnectString, + IsAutoCloseConnection = true,//鏄惁鑷姩鍏抽棴 + MoreSettings = new ConnMoreSettings() + { + //PgSqlIsAutoToLower = false //鏁版嵁搴撳瓨鍦ㄥぇ鍐欏瓧娈电殑 锛岄渶瑕佹妸杩欎釜璁句负false 锛屽苟涓斿疄浣撳拰瀛楁鍚嶇О瑕佷竴鏍� + }, + AopEvents = new AopEvents + { + OnLogExecuting = (sql, p) => + { + // var sqlString = UtilMethods.GetNativeSql(sql, p); + //LogHelper.Debug(sqlString); + // Console.WriteLine(sql); + } + } + }; + } + } + + /// <summary> + /// SQLite杩炴帴閰嶇疆 + /// </summary> + internal static ConnectionConfig SQLiteConnectionConfig + { + get + { + //SnowFlakeSingle.WorkId = Settings.SqlSugar.SnowFlakeWorkId; 涓嶅悓鏈哄櫒閰嶇疆鐨勫敮涓�鏁板瓧; // 鍗曟湇鍔″櫒涓嶉渶瑕佹寚瀹� + return new ConnectionConfig() + { + DbType = SqlSugar.DbType.Sqlite,//鏁版嵁搴撶被鍨� + ConnectionString = EquivalentParasHelper.Equivalent.DataBase.SQLite.ConnectString, + IsAutoCloseConnection = true,//鏄惁鑷姩鍏抽棴 + MoreSettings = new ConnMoreSettings() + { + //PgSqlIsAutoToLower = false //鏁版嵁搴撳瓨鍦ㄥぇ鍐欏瓧娈电殑 锛岄渶瑕佹妸杩欎釜璁句负false 锛屽苟涓斿疄浣撳拰瀛楁鍚嶇О瑕佷竴鏍� + }, + AopEvents = new AopEvents + { + OnLogExecuting = (sql, p) => + { + // var sqlString = UtilMethods.GetNativeSql(sql, p); + //LogHelper.Debug(sqlString); + // Console.WriteLine(sql); + } + } + }; + } + } + } +} \ No newline at end of file diff --git a/Service/HStation.Service.Equivalent.Core/00-core/DataType.cs b/Service/HStation.Service.Equivalent.Core/00-core/DataType.cs new file mode 100644 index 0000000..529ff42 --- /dev/null +++ b/Service/HStation.Service.Equivalent.Core/00-core/DataType.cs @@ -0,0 +1,11 @@ +锘縩amespace HStation.Equivalent +{ + /// <summary> + /// + /// </summary> + public class DataType + { + + + } +} diff --git a/Service/HStation.Service.Equivalent.Core/00-core/DbType.cs b/Service/HStation.Service.Equivalent.Core/00-core/DbType.cs new file mode 100644 index 0000000..5881d6d --- /dev/null +++ b/Service/HStation.Service.Equivalent.Core/00-core/DbType.cs @@ -0,0 +1,18 @@ +锘縩amespace HStation.Equivalent +{ + /// <summary> + /// + /// </summary> + public class DbType + { + /// <summary> + /// + /// </summary> + public const string SQLite = "SQLite"; + + /// <summary> + /// + /// </summary> + public const string PostgreSql = "PostgreSql"; + } +} \ No newline at end of file diff --git a/Service/HStation.Service.Equivalent.Core/00-core/Flags.cs b/Service/HStation.Service.Equivalent.Core/00-core/Flags.cs new file mode 100644 index 0000000..a946393 --- /dev/null +++ b/Service/HStation.Service.Equivalent.Core/00-core/Flags.cs @@ -0,0 +1,19 @@ +锘縩amespace HStation.Equivalent +{ + /// <summary> + /// + /// </summary> + public class Flags + { + /// <summary> + /// + /// </summary> + public const string 榛樿 = "榛樿"; + + /// <summary> + /// + /// </summary> + public const string 涓氬姟 = "涓氬姟"; + + } +} diff --git a/Service/HStation.Service.Equivalent.Core/00-core/MemoryCacheKey.cs b/Service/HStation.Service.Equivalent.Core/00-core/MemoryCacheKey.cs new file mode 100644 index 0000000..b10fae1 --- /dev/null +++ b/Service/HStation.Service.Equivalent.Core/00-core/MemoryCacheKey.cs @@ -0,0 +1,26 @@ +锘縩amespace HStation.Equivalent +{ + /// <summary> + /// 鍐呭瓨缂撳瓨閿�-涓轰互鍚庡鍔犳竻闄ょ紦瀛樺仛鍑嗗 + /// </summary> + public class MemoryCacheKey + { + /// <summary> + /// 鏈嶅姟灞傜骇 + /// </summary> + public const string ServiceLevel = "Service"; + + /// <summary> + /// 鎺ュ彛灞傜骇 + /// </summary> + public const string WebApiLevel = "WebApi"; + + /// <summary> + /// 妯″潡 + /// </summary> + public const string Module = "Equivalent"; + + + + } +} diff --git a/Service/HStation.Service.Equivalent.Core/03-settings/00-core/EquivalentFileHelper.cs b/Service/HStation.Service.Equivalent.Core/03-settings/00-core/EquivalentFileHelper.cs new file mode 100644 index 0000000..b43ec16 --- /dev/null +++ b/Service/HStation.Service.Equivalent.Core/03-settings/00-core/EquivalentFileHelper.cs @@ -0,0 +1,64 @@ +锘縩amespace HStation.Settings +{ + internal class EquivalentFileHelper + { + /// <summary> + /// json鏂囦欢鍚嶇О + /// </summary> + internal static string JsonFileName + { + get + { + if (string.IsNullOrEmpty(_jsonFileName)) + { + _jsonFileName = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "paras_equivalent_settings.json"); + } + return _jsonFileName; + } + } + private static string _jsonFileName = null; + + /// <summary> + /// 鑾峰彇 + /// </summary> + internal static EquivalentParas Get() + { + if (_appparas == null) + { + lock (_locker) + { + if (_appparas == null) + { + var json = File.ReadAllText(JsonFileName, Encoding.UTF8); + _appparas = JsonHelper.Json2Object<EquivalentParas>(json); + if (_appparas == null) + { + _appparas = new EquivalentParas(); + } + } + } + } + return _appparas; + } + private static EquivalentParas _appparas = null; + private static readonly object _locker = new object(); + + /// <summary> + /// 淇濆瓨 + /// </summary> + /// <returns></returns> + internal static bool Save() + { + if (_appparas == null) + { + return default; + } + var json = JsonHelper.Object2FormatJson(_appparas); + File.WriteAllText(JsonFileName, json, Encoding.UTF8); + return true; + } + + + + } +} diff --git a/Service/HStation.Service.Equivalent.Core/03-settings/00-core/EquivalentParasHelper.cs b/Service/HStation.Service.Equivalent.Core/03-settings/00-core/EquivalentParasHelper.cs new file mode 100644 index 0000000..14c6914 --- /dev/null +++ b/Service/HStation.Service.Equivalent.Core/03-settings/00-core/EquivalentParasHelper.cs @@ -0,0 +1,27 @@ +锘縩amespace HStation.Settings +{ + /// <summary> + /// + /// </summary> + public class EquivalentParasHelper + { + + /// <summary> + /// + /// </summary> + public static Paras_Equivalent Equivalent + { + get { return EquivalentFileHelper.Get().Equivalent; } + } + + /// <summary> + /// 淇濆瓨 + /// </summary> + public static bool Save() + { + return EquivalentFileHelper.Save(); + } + + + } +} diff --git a/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/00-core/EquivalentParas.cs b/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/00-core/EquivalentParas.cs new file mode 100644 index 0000000..25917ce --- /dev/null +++ b/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/00-core/EquivalentParas.cs @@ -0,0 +1,13 @@ +锘縩amespace HStation.Settings +{ + /// <summary> + /// + /// </summary> + internal class EquivalentParas + { + /// <summary> + /// + /// </summary> + public Paras_Equivalent Equivalent { get; set; } + } +} diff --git a/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/00-core/Paras_Equivalent.cs b/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/00-core/Paras_Equivalent.cs new file mode 100644 index 0000000..525678e --- /dev/null +++ b/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/00-core/Paras_Equivalent.cs @@ -0,0 +1,31 @@ +锘縩amespace HStation.Settings +{ + /// <summary> + /// + /// </summary> + public class Paras_Equivalent + { + + /// <summary> + /// 鏁版嵁搴� + /// </summary> + public Paras_Equivalent_DataBase DataBase { get; set; } + + /// <summary> + /// 鏁版嵁鏂囦欢澶� + /// </summary> + public string DataFolder { get; set; } + + /// <summary> + /// CAL + /// </summary> + public Paras_Equivalent_CAL CAL { get; set; } + + /// <summary> + /// 鏂囦欢 + /// </summary> + public Paras_Equivalent_File File { get; set; } + + + } +} diff --git a/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/01-database/Paras_Equivalent_DataBase.cs b/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/01-database/Paras_Equivalent_DataBase.cs new file mode 100644 index 0000000..164b3e4 --- /dev/null +++ b/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/01-database/Paras_Equivalent_DataBase.cs @@ -0,0 +1,31 @@ +锘縩amespace HStation.Settings +{ + /// <summary> + /// + /// </summary> + public class Paras_Equivalent_DataBase + { + /// <summary> + /// 鏁版嵁搴撶被鍨� + /// </summary> + public string DbType { get; set; } + + /// <summary> + /// 宸ュ巶 + /// </summary> + public Paras_Equivalent_DataBase_Factory Factory { get; set; } + + /// <summary> + /// PostgreSql + /// </summary> + public Paras_Equivalent_DataBase_PostgreSql PostgreSql { get; set; } + + /// <summary> + /// SQLite + /// </summary> + public Paras_Equivalent_DataBase_SQLite SQLite { get; set; } + + + } + +} diff --git a/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/01-database/Paras_Equivalent_DataBase_Factory.cs b/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/01-database/Paras_Equivalent_DataBase_Factory.cs new file mode 100644 index 0000000..54534c8 --- /dev/null +++ b/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/01-database/Paras_Equivalent_DataBase_Factory.cs @@ -0,0 +1,18 @@ +锘縩amespace HStation.Settings +{ + /// <summary> + /// + /// </summary> + public class Paras_Equivalent_DataBase_Factory + { + /// <summary> + /// 鏄惁寮�鍚紦瀛� + /// </summary> + public bool EnableCache { get; set; } + + /// <summary> + /// 缂撳瓨鏃堕棿锛堢锛� + /// </summary> + public int CacheTime { get; set; } + } +} diff --git a/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/01-database/Paras_Equivalent_DataBase_PostgreSql.cs b/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/01-database/Paras_Equivalent_DataBase_PostgreSql.cs new file mode 100644 index 0000000..16f6522 --- /dev/null +++ b/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/01-database/Paras_Equivalent_DataBase_PostgreSql.cs @@ -0,0 +1,13 @@ +锘縩amespace HStation.Settings +{ + /// <summary> + /// + /// </summary> + public class Paras_Equivalent_DataBase_PostgreSql + { + /// <summary> + /// 杩炴帴瀛楃涓� + /// </summary> + public string ConnectString { get; set; } + } +} diff --git a/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/01-database/Paras_Equivalent_DataBase_SQLite.cs b/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/01-database/Paras_Equivalent_DataBase_SQLite.cs new file mode 100644 index 0000000..9939f2b --- /dev/null +++ b/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/01-database/Paras_Equivalent_DataBase_SQLite.cs @@ -0,0 +1,13 @@ +锘縩amespace HStation.Settings +{ + /// <summary> + /// + /// </summary> + public class Paras_Equivalent_DataBase_SQLite + { + /// <summary> + /// 杩炴帴瀛楃涓� + /// </summary> + public string ConnectString { get; set; } + } +} diff --git a/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/02-cal/Paras_Equivalent_CAL.cs b/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/02-cal/Paras_Equivalent_CAL.cs new file mode 100644 index 0000000..a87a20e --- /dev/null +++ b/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/02-cal/Paras_Equivalent_CAL.cs @@ -0,0 +1,27 @@ +锘縩amespace HStation.Settings +{ + /// <summary> + /// + /// </summary> + public class Paras_Equivalent_CAL + { + /// <summary> + /// CAL绫诲瀷 + /// </summary> + public string CALType + { + get; + set; + } + + /// <summary> + /// HttpClient + /// </summary> + public Paras_Equivalent_CAL_HttpClient HttpClient { get; set; } + + /// <summary> + /// LocalClient + /// </summary> + public Paras_Equivalent_CAL_LocalClient LocalClient { get; set; } + } +} \ No newline at end of file diff --git a/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/02-cal/Paras_Equivalent_CAL_HttpClient.cs b/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/02-cal/Paras_Equivalent_CAL_HttpClient.cs new file mode 100644 index 0000000..8e51ba1 --- /dev/null +++ b/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/02-cal/Paras_Equivalent_CAL_HttpClient.cs @@ -0,0 +1,13 @@ +锘縩amespace HStation.Settings +{ + /// <summary> + /// + /// </summary> + public class Paras_Equivalent_CAL_HttpClient + { + /// <summary> + /// + /// </summary> + public string HttpUrl { get; set; } + } +} diff --git a/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/02-cal/Paras_Equivalent_CAL_LocalClient.cs b/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/02-cal/Paras_Equivalent_CAL_LocalClient.cs new file mode 100644 index 0000000..64fa389 --- /dev/null +++ b/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/02-cal/Paras_Equivalent_CAL_LocalClient.cs @@ -0,0 +1,10 @@ +锘縩amespace HStation.Settings +{ + /// <summary> + /// + /// </summary> + public class Paras_Equivalent_CAL_LocalClient + { + + } +} diff --git a/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/03-file/Paras_Equivalent_File.cs b/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/03-file/Paras_Equivalent_File.cs new file mode 100644 index 0000000..0c7bc88 --- /dev/null +++ b/Service/HStation.Service.Equivalent.Core/03-settings/01-paras/03-file/Paras_Equivalent_File.cs @@ -0,0 +1,19 @@ +锘縩amespace HStation.Settings +{ + /// <summary> + /// 鏂囦欢 + /// </summary> + public class Paras_Equivalent_File + { + /// <summary> + /// 鍚庣紑 + /// </summary> + public string Suffix { get; set; } + + /// <summary> + /// 瀵嗙爜 + /// </summary> + public string Password { get; set; } + + } +} diff --git a/Service/HStation.Service.Equivalent.Core/05-service/00-core/01-dal/DALCreateHelper.cs b/Service/HStation.Service.Equivalent.Core/05-service/00-core/01-dal/DALCreateHelper.cs new file mode 100644 index 0000000..24fd25e --- /dev/null +++ b/Service/HStation.Service.Equivalent.Core/05-service/00-core/01-dal/DALCreateHelper.cs @@ -0,0 +1,23 @@ +锘縩amespace HStation.Service.Equivalent +{ + /// <summary> + /// DAL杈呭姪绫� + /// </summary> + internal class DALCreateHelper + { + + /// <summary> + /// 鍒涘缓DAL + /// </summary> + /// <typeparam name="T"></typeparam> + /// <returns></returns> + public static T CreateDAL<T>() + { + var dbType = Settings.EquivalentParasHelper.Equivalent.DataBase.DbType; + var enableCache = Settings.EquivalentParasHelper.Equivalent.DataBase.Factory.EnableCache; + var cacheTime = Settings.EquivalentParasHelper.Equivalent.DataBase.Factory.CacheTime; + return Yw.DALFactory.CreateDAL3<T>(dbType, enableCache, cacheTime); + } + + } +} diff --git a/Service/HStation.Service.Equivalent.Core/05-service/00-core/02-cache/CacheHelper.cs b/Service/HStation.Service.Equivalent.Core/05-service/00-core/02-cache/CacheHelper.cs new file mode 100644 index 0000000..2f3a5ea --- /dev/null +++ b/Service/HStation.Service.Equivalent.Core/05-service/00-core/02-cache/CacheHelper.cs @@ -0,0 +1,36 @@ +锘縰sing HStation.Equivalent; + +namespace HStation.Service.Equivalent +{ + /// <summary> + /// 缂撳瓨杈呭姪绫� + /// </summary> + internal class CacheHelper + { + private const string _cacheKeyPrefix = "Equivalent";//缂撳瓨閿墠缂� + + /// <summary> + /// 鑾峰彇缂撳瓨閿� + /// </summary> + public static string GetCacheKey(string keyContent) + { + return MemoryCacheKeyHelper.GetKey(MemoryCacheKey.ServiceLevel, MemoryCacheKey.Module, $"*{_cacheKeyPrefix}*_{keyContent}"); + } + + /// <summary> + /// 娓呴櫎鍏ㄩ儴 + /// </summary> + public static void Clear() + { + Yw.MemoryCacheHelper.Remove((key) => + { + var prefix = MemoryCacheKeyHelper.GetKey(MemoryCacheKey.ServiceLevel, MemoryCacheKey.Module, $"*{_cacheKeyPrefix}*"); + return key.StartsWith(prefix); + }); + } + + + + + } +} diff --git a/Service/HStation.Service.Equivalent.Core/05-service/00-core/03-helper/DbFirstHelper.cs b/Service/HStation.Service.Equivalent.Core/05-service/00-core/03-helper/DbFirstHelper.cs new file mode 100644 index 0000000..206685c --- /dev/null +++ b/Service/HStation.Service.Equivalent.Core/05-service/00-core/03-helper/DbFirstHelper.cs @@ -0,0 +1,69 @@ +锘縩amespace HStation.Service.Equivalent +{ + /// <summary> + /// + /// </summary> + public class DbFirstHelper + { + /// <summary> + /// 鍒濆鍖� + /// </summary> + public static bool Initial(out string msg) + { + msg = string.Empty; + try + { + var connectConfig = HStation.Equivalent.ConfigHelper.DefaultConnectionConfig; + if (connectConfig == null) + { + msg = "杩炴帴閰嶇疆鍒濆鍖栧け璐�"; + return false; + } + + connectConfig.ConfigureExternalServices = new ConfigureExternalServices() + { + EntityService = (property, column) => + { + //闄や富閿鍏朵粬鍒楅兘鍙┖ + if (!column.IsPrimarykey) + { + column.IsNullable = true; + } + if (column.DataType == StaticConfig.CodeFirst_BigString) + { + if (EquivalentParasHelper.Equivalent.DataBase.DbType == HStation.Equivalent.DbType.PostgreSql) + { + column.DataType = "character varying"; + } + } + } + }; + + var typeList = new List<Type>() + { + + }; + + using (var db = new SqlSugarClient(connectConfig)) + { + //璁剧疆瀛楃涓查粯璁ら暱搴� + //db.CodeFirst.SetStringDefaultLength(250); + //db.CodeFirst.SetStringDefaultLength(int.MaxValue); + //寤哄簱锛氬鏋滀笉瀛樺湪鍒涘缓鏁版嵁搴撳瓨鍦ㄤ笉浼氶噸澶嶅垱寤� createdb;娉ㄦ剰 锛歄racle鍜屼釜鍒浗浜у簱闇�涓嶆敮鎸佽鏂规硶锛岄渶瑕佹墜鍔ㄥ缓搴� + db.DbMaintenance.CreateDatabase(); + db.CodeFirst.InitTables + ( + typeList.ToArray() + ); + } + + return true; + } + catch (Exception ex) + { + msg = ex.Message; + return false; + } + } + } +} \ No newline at end of file diff --git a/Service/HStation.Service.Equivalent.Core/GlobalUsings.cs b/Service/HStation.Service.Equivalent.Core/GlobalUsings.cs new file mode 100644 index 0000000..76ef006 --- /dev/null +++ b/Service/HStation.Service.Equivalent.Core/GlobalUsings.cs @@ -0,0 +1,5 @@ +锘縢lobal using HStation.Settings; +global using SqlSugar; +global using System.Text; +global using Yw; +global using Yw.Untity; diff --git a/Service/HStation.Service.Equivalent.Core/HStation.Service.Equivalent.Core.csproj b/Service/HStation.Service.Equivalent.Core/HStation.Service.Equivalent.Core.csproj new file mode 100644 index 0000000..4b1c889 --- /dev/null +++ b/Service/HStation.Service.Equivalent.Core/HStation.Service.Equivalent.Core.csproj @@ -0,0 +1,23 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net6.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>disable</Nullable> + </PropertyGroup> + + <ItemGroup> + <None Remove="paras_equivalent_equivalent_settings.json" /> + </ItemGroup> + + <ItemGroup> + <Folder Include="01-entity\" /> + <Folder Include="02-model\" /> + <Folder Include="04-dal\" /> + </ItemGroup> + + <ItemGroup> + <PackageReference Include="Yw.Service.Basic.Core" Version="3.3.2" /> + </ItemGroup> + +</Project> diff --git a/Service/HStation.Service.Equivalent.Core/paras_equivalent_settings.json b/Service/HStation.Service.Equivalent.Core/paras_equivalent_settings.json new file mode 100644 index 0000000..2c0873e --- /dev/null +++ b/Service/HStation.Service.Equivalent.Core/paras_equivalent_settings.json @@ -0,0 +1,35 @@ +{ + "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json", + + + "Xhs": { + "DataBase": { + "DbType": "PostgreSql", //PostgreSql/SQLite + "Factory": { + "EnableCache": true, + "CacheTime": 10 + }, + "PostgreSql": { + "ConnectString": "PORT=5432;DATABASE=hstation_xhs;HOST=localhost;PASSWORD=123456;USER ID=postgres;" + }, + "SQLite": { + "ConnectString": "Data Source=hstation_xhs.db;" + } + }, + "DataFolder": "Xhs", + "CAL": { + "CALType": "HttpClient", //HttpClient/LocalClient + "HttpClient": { + "HttpUrl": "" + }, + "LocalClient": { + } + }, + "File": { + "Suffix": ".ywrvt", + "Password": "" + } + } + + +} diff --git a/Service/HStation.Service.PBS.Core/00-core/ConfigHelper.cs b/Service/HStation.Service.PBS.Core/00-core/ConfigHelper.cs new file mode 100644 index 0000000..9c69406 --- /dev/null +++ b/Service/HStation.Service.PBS.Core/00-core/ConfigHelper.cs @@ -0,0 +1,93 @@ +锘縩amespace HStation.PBS +{ + internal class ConfigHelper + { + /// <summary> + /// 榛樿杩炴帴閰嶇疆 + /// </summary> + internal static ConnectionConfig DefaultConnectionConfig + { + get + { + ConnectionConfig connectConfig = null; + switch (PBSParasHelper.PBS.DataBase.DbType) + { + case DbType.PostgreSql: + { + connectConfig = PostgreSqlConnectionConfig; + } + break; + + case DbType.SQLite: + { + connectConfig = SQLiteConnectionConfig; + } + break; + + default: break; + } + return connectConfig; + } + } + + /// <summary> + /// PostgreSql杩炴帴閰嶇疆 + /// </summary> + internal static ConnectionConfig PostgreSqlConnectionConfig + { + get + { + //SnowFlakeSingle.WorkId = Settings.SqlSugar.SnowFlakeWorkId; 涓嶅悓鏈哄櫒閰嶇疆鐨勫敮涓�鏁板瓧; // 鍗曟湇鍔″櫒涓嶉渶瑕佹寚瀹� + return new ConnectionConfig() + { + DbType = SqlSugar.DbType.PostgreSQL,//鏁版嵁搴撶被鍨� + ConnectionString = PBSParasHelper.PBS.DataBase.PostgreSql.ConnectString, + IsAutoCloseConnection = true,//鏄惁鑷姩鍏抽棴 + MoreSettings = new ConnMoreSettings() + { + //PgSqlIsAutoToLower = false //鏁版嵁搴撳瓨鍦ㄥぇ鍐欏瓧娈电殑 锛岄渶瑕佹妸杩欎釜璁句负false 锛屽苟涓斿疄浣撳拰瀛楁鍚嶇О瑕佷竴鏍� + }, + AopEvents = new AopEvents + { + OnLogExecuting = (sql, p) => + { + // var sqlString = UtilMethods.GetNativeSql(sql, p); + //LogHelper.Debug(sqlString); + // Console.WriteLine(sql); + } + } + }; + } + } + + /// <summary> + /// SQLite杩炴帴閰嶇疆 + /// </summary> + internal static ConnectionConfig SQLiteConnectionConfig + { + get + { + //SnowFlakeSingle.WorkId = Settings.SqlSugar.SnowFlakeWorkId; 涓嶅悓鏈哄櫒閰嶇疆鐨勫敮涓�鏁板瓧; // 鍗曟湇鍔″櫒涓嶉渶瑕佹寚瀹� + return new ConnectionConfig() + { + DbType = SqlSugar.DbType.Sqlite,//鏁版嵁搴撶被鍨� + ConnectionString = PBSParasHelper.PBS.DataBase.SQLite.ConnectString, + IsAutoCloseConnection = true,//鏄惁鑷姩鍏抽棴 + MoreSettings = new ConnMoreSettings() + { + //PgSqlIsAutoToLower = false //鏁版嵁搴撳瓨鍦ㄥぇ鍐欏瓧娈电殑 锛岄渶瑕佹妸杩欎釜璁句负false 锛屽苟涓斿疄浣撳拰瀛楁鍚嶇О瑕佷竴鏍� + }, + AopEvents = new AopEvents + { + OnLogExecuting = (sql, p) => + { + // var sqlString = UtilMethods.GetNativeSql(sql, p); + //LogHelper.Debug(sqlString); + // Console.WriteLine(sql); + } + } + }; + } + } + } +} \ No newline at end of file diff --git a/Service/HStation.Service.PBS.Core/00-core/DataType.cs b/Service/HStation.Service.PBS.Core/00-core/DataType.cs new file mode 100644 index 0000000..01108b4 --- /dev/null +++ b/Service/HStation.Service.PBS.Core/00-core/DataType.cs @@ -0,0 +1,24 @@ +锘縩amespace HStation.PBS +{ + /// <summary> + /// + /// </summary> + public class DataType + { + /// <summary> + /// 椤圭洰 + /// </summary> + public const string PBSProject = "pbs-project"; + + /// <summary> + /// 椤圭洰绔� + /// </summary> + public const string PBSProjectSite = "pbs-project-site"; + + /// <summary> + /// 鏂规 + /// </summary> + public const string PBSScheme = "pbs-scheme"; + + } +} diff --git a/Service/HStation.Service.PBS.Core/00-core/DbType.cs b/Service/HStation.Service.PBS.Core/00-core/DbType.cs new file mode 100644 index 0000000..ab2947d --- /dev/null +++ b/Service/HStation.Service.PBS.Core/00-core/DbType.cs @@ -0,0 +1,18 @@ +锘縩amespace HStation.PBS +{ + /// <summary> + /// + /// </summary> + public class DbType + { + /// <summary> + /// + /// </summary> + public const string SQLite = "SQLite"; + + /// <summary> + /// + /// </summary> + public const string PostgreSql = "PostgreSql"; + } +} \ No newline at end of file diff --git a/Service/HStation.Service.PBS.Core/00-core/Flags.cs b/Service/HStation.Service.PBS.Core/00-core/Flags.cs new file mode 100644 index 0000000..54fd99a --- /dev/null +++ b/Service/HStation.Service.PBS.Core/00-core/Flags.cs @@ -0,0 +1,19 @@ +锘縩amespace HStation.PBS +{ + /// <summary> + /// + /// </summary> + public class Flags + { + /// <summary> + /// + /// </summary> + public const string 榛樿 = "榛樿"; + + /// <summary> + /// + /// </summary> + public const string 涓氬姟 = "涓氬姟"; + + } +} diff --git a/Service/HStation.Service.PBS.Core/00-core/MemoryCacheKey.cs b/Service/HStation.Service.PBS.Core/00-core/MemoryCacheKey.cs new file mode 100644 index 0000000..1e93af2 --- /dev/null +++ b/Service/HStation.Service.PBS.Core/00-core/MemoryCacheKey.cs @@ -0,0 +1,26 @@ +锘縩amespace HStation.PBS +{ + /// <summary> + /// 鍐呭瓨缂撳瓨閿�-涓轰互鍚庡鍔犳竻闄ょ紦瀛樺仛鍑嗗 + /// </summary> + public class MemoryCacheKey + { + /// <summary> + /// 鏈嶅姟灞傜骇 + /// </summary> + public const string ServiceLevel = "Service"; + + /// <summary> + /// 鎺ュ彛灞傜骇 + /// </summary> + public const string WebApiLevel = "WebApi"; + + /// <summary> + /// 妯″潡 + /// </summary> + public const string Module = "PBS"; + + + + } +} diff --git a/Service/HStation.Service.PBS.Core/03-settings/00-core/PBSFileHelper.cs b/Service/HStation.Service.PBS.Core/03-settings/00-core/PBSFileHelper.cs new file mode 100644 index 0000000..9eac1ba --- /dev/null +++ b/Service/HStation.Service.PBS.Core/03-settings/00-core/PBSFileHelper.cs @@ -0,0 +1,64 @@ +锘縩amespace HStation.Settings +{ + internal class PBSFileHelper + { + /// <summary> + /// json鏂囦欢鍚嶇О + /// </summary> + internal static string JsonFileName + { + get + { + if (string.IsNullOrEmpty(_jsonFileName)) + { + _jsonFileName = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "paras_pbs_settings.json"); + } + return _jsonFileName; + } + } + private static string _jsonFileName = null; + + /// <summary> + /// 鑾峰彇 + /// </summary> + internal static PBSParas Get() + { + if (_appparas == null) + { + lock (_locker) + { + if (_appparas == null) + { + var json = File.ReadAllText(JsonFileName, Encoding.UTF8); + _appparas = JsonHelper.Json2Object<PBSParas>(json); + if (_appparas == null) + { + _appparas = new PBSParas(); + } + } + } + } + return _appparas; + } + private static PBSParas _appparas = null; + private static readonly object _locker = new object(); + + /// <summary> + /// 淇濆瓨 + /// </summary> + /// <returns></returns> + internal static bool Save() + { + if (_appparas == null) + { + return default; + } + var json = JsonHelper.Object2FormatJson(_appparas); + File.WriteAllText(JsonFileName, json, Encoding.UTF8); + return true; + } + + + + } +} diff --git a/Service/HStation.Service.PBS.Core/03-settings/00-core/PBSParasHelper.cs b/Service/HStation.Service.PBS.Core/03-settings/00-core/PBSParasHelper.cs new file mode 100644 index 0000000..7c4a959 --- /dev/null +++ b/Service/HStation.Service.PBS.Core/03-settings/00-core/PBSParasHelper.cs @@ -0,0 +1,27 @@ +锘縩amespace HStation.Settings +{ + /// <summary> + /// + /// </summary> + public class PBSParasHelper + { + + /// <summary> + /// + /// </summary> + public static Paras_PBS PBS + { + get { return PBSFileHelper.Get().PBS; } + } + + /// <summary> + /// 淇濆瓨 + /// </summary> + public static bool Save() + { + return PBSFileHelper.Save(); + } + + + } +} diff --git a/Service/HStation.Service.PBS.Core/03-settings/01-paras/00-core/PBSParas.cs b/Service/HStation.Service.PBS.Core/03-settings/01-paras/00-core/PBSParas.cs new file mode 100644 index 0000000..e946b49 --- /dev/null +++ b/Service/HStation.Service.PBS.Core/03-settings/01-paras/00-core/PBSParas.cs @@ -0,0 +1,13 @@ +锘縩amespace HStation.Settings +{ + /// <summary> + /// + /// </summary> + internal class PBSParas + { + /// <summary> + /// + /// </summary> + public Paras_PBS PBS { get; set; } + } +} diff --git a/Service/HStation.Service.PBS.Core/03-settings/01-paras/00-core/Paras_PBS.cs b/Service/HStation.Service.PBS.Core/03-settings/01-paras/00-core/Paras_PBS.cs new file mode 100644 index 0000000..2d3b4e2 --- /dev/null +++ b/Service/HStation.Service.PBS.Core/03-settings/01-paras/00-core/Paras_PBS.cs @@ -0,0 +1,31 @@ +锘縩amespace HStation.Settings +{ + /// <summary> + /// + /// </summary> + public class Paras_PBS + { + + /// <summary> + /// 鏁版嵁搴� + /// </summary> + public Paras_PBS_DataBase DataBase { get; set; } + + /// <summary> + /// 鏁版嵁鏂囦欢澶� + /// </summary> + public string DataFolder { get; set; } + + /// <summary> + /// CAL + /// </summary> + public Paras_PBS_CAL CAL { get; set; } + + /// <summary> + /// 鏂囦欢 + /// </summary> + public Paras_PBS_File File { get; set; } + + + } +} diff --git a/Service/HStation.Service.PBS.Core/03-settings/01-paras/01-database/Paras_PBS_DataBase.cs b/Service/HStation.Service.PBS.Core/03-settings/01-paras/01-database/Paras_PBS_DataBase.cs new file mode 100644 index 0000000..f41804a --- /dev/null +++ b/Service/HStation.Service.PBS.Core/03-settings/01-paras/01-database/Paras_PBS_DataBase.cs @@ -0,0 +1,31 @@ +锘縩amespace HStation.Settings +{ + /// <summary> + /// + /// </summary> + public class Paras_PBS_DataBase + { + /// <summary> + /// 鏁版嵁搴撶被鍨� + /// </summary> + public string DbType { get; set; } + + /// <summary> + /// 宸ュ巶 + /// </summary> + public Paras_PBS_DataBase_Factory Factory { get; set; } + + /// <summary> + /// PostgreSql + /// </summary> + public Paras_PBS_DataBase_PostgreSql PostgreSql { get; set; } + + /// <summary> + /// SQLite + /// </summary> + public Paras_PBS_DataBase_SQLite SQLite { get; set; } + + + } + +} diff --git a/Service/HStation.Service.PBS.Core/03-settings/01-paras/01-database/Paras_PBS_DataBase_Factory.cs b/Service/HStation.Service.PBS.Core/03-settings/01-paras/01-database/Paras_PBS_DataBase_Factory.cs new file mode 100644 index 0000000..3e47cd5 --- /dev/null +++ b/Service/HStation.Service.PBS.Core/03-settings/01-paras/01-database/Paras_PBS_DataBase_Factory.cs @@ -0,0 +1,18 @@ +锘縩amespace HStation.Settings +{ + /// <summary> + /// + /// </summary> + public class Paras_PBS_DataBase_Factory + { + /// <summary> + /// 鏄惁寮�鍚紦瀛� + /// </summary> + public bool EnableCache { get; set; } + + /// <summary> + /// 缂撳瓨鏃堕棿锛堢锛� + /// </summary> + public int CacheTime { get; set; } + } +} diff --git a/Service/HStation.Service.PBS.Core/03-settings/01-paras/01-database/Paras_PBS_DataBase_PostgreSql.cs b/Service/HStation.Service.PBS.Core/03-settings/01-paras/01-database/Paras_PBS_DataBase_PostgreSql.cs new file mode 100644 index 0000000..5f88ff5 --- /dev/null +++ b/Service/HStation.Service.PBS.Core/03-settings/01-paras/01-database/Paras_PBS_DataBase_PostgreSql.cs @@ -0,0 +1,13 @@ +锘縩amespace HStation.Settings +{ + /// <summary> + /// + /// </summary> + public class Paras_PBS_DataBase_PostgreSql + { + /// <summary> + /// 杩炴帴瀛楃涓� + /// </summary> + public string ConnectString { get; set; } + } +} diff --git a/Service/HStation.Service.PBS.Core/03-settings/01-paras/01-database/Paras_PBS_DataBase_SQLite.cs b/Service/HStation.Service.PBS.Core/03-settings/01-paras/01-database/Paras_PBS_DataBase_SQLite.cs new file mode 100644 index 0000000..7d8c33f --- /dev/null +++ b/Service/HStation.Service.PBS.Core/03-settings/01-paras/01-database/Paras_PBS_DataBase_SQLite.cs @@ -0,0 +1,13 @@ +锘縩amespace HStation.Settings +{ + /// <summary> + /// + /// </summary> + public class Paras_PBS_DataBase_SQLite + { + /// <summary> + /// 杩炴帴瀛楃涓� + /// </summary> + public string ConnectString { get; set; } + } +} diff --git a/Service/HStation.Service.PBS.Core/03-settings/01-paras/02-cal/Paras_PBS_CAL.cs b/Service/HStation.Service.PBS.Core/03-settings/01-paras/02-cal/Paras_PBS_CAL.cs new file mode 100644 index 0000000..f6d8ca4 --- /dev/null +++ b/Service/HStation.Service.PBS.Core/03-settings/01-paras/02-cal/Paras_PBS_CAL.cs @@ -0,0 +1,27 @@ +锘縩amespace HStation.Settings +{ + /// <summary> + /// + /// </summary> + public class Paras_PBS_CAL + { + /// <summary> + /// CAL绫诲瀷 + /// </summary> + public string CALType + { + get; + set; + } + + /// <summary> + /// HttpClient + /// </summary> + public Paras_PBS_CAL_HttpClient HttpClient { get; set; } + + /// <summary> + /// LocalClient + /// </summary> + public Paras_PBS_CAL_LocalClient LocalClient { get; set; } + } +} \ No newline at end of file diff --git a/Service/HStation.Service.PBS.Core/03-settings/01-paras/02-cal/Paras_PBS_CAL_HttpClient.cs b/Service/HStation.Service.PBS.Core/03-settings/01-paras/02-cal/Paras_PBS_CAL_HttpClient.cs new file mode 100644 index 0000000..88d38cd --- /dev/null +++ b/Service/HStation.Service.PBS.Core/03-settings/01-paras/02-cal/Paras_PBS_CAL_HttpClient.cs @@ -0,0 +1,13 @@ +锘縩amespace HStation.Settings +{ + /// <summary> + /// + /// </summary> + public class Paras_PBS_CAL_HttpClient + { + /// <summary> + /// + /// </summary> + public string HttpUrl { get; set; } + } +} diff --git a/Service/HStation.Service.PBS.Core/03-settings/01-paras/02-cal/Paras_PBS_CAL_LocalClient.cs b/Service/HStation.Service.PBS.Core/03-settings/01-paras/02-cal/Paras_PBS_CAL_LocalClient.cs new file mode 100644 index 0000000..e1ee810 --- /dev/null +++ b/Service/HStation.Service.PBS.Core/03-settings/01-paras/02-cal/Paras_PBS_CAL_LocalClient.cs @@ -0,0 +1,10 @@ +锘縩amespace HStation.Settings +{ + /// <summary> + /// + /// </summary> + public class Paras_PBS_CAL_LocalClient + { + + } +} diff --git a/Service/HStation.Service.PBS.Core/03-settings/01-paras/03-file/Paras_PBS_File.cs b/Service/HStation.Service.PBS.Core/03-settings/01-paras/03-file/Paras_PBS_File.cs new file mode 100644 index 0000000..d3c8e1f --- /dev/null +++ b/Service/HStation.Service.PBS.Core/03-settings/01-paras/03-file/Paras_PBS_File.cs @@ -0,0 +1,19 @@ +锘縩amespace HStation.Settings +{ + /// <summary> + /// 鏂囦欢 + /// </summary> + public class Paras_PBS_File + { + /// <summary> + /// 鍚庣紑 + /// </summary> + public string Suffix { get; set; } + + /// <summary> + /// 瀵嗙爜 + /// </summary> + public string Password { get; set; } + + } +} diff --git a/Service/HStation.Service.PBS.Core/05-service/00-core/01-dal/DALCreateHelper.cs b/Service/HStation.Service.PBS.Core/05-service/00-core/01-dal/DALCreateHelper.cs new file mode 100644 index 0000000..aa8587f --- /dev/null +++ b/Service/HStation.Service.PBS.Core/05-service/00-core/01-dal/DALCreateHelper.cs @@ -0,0 +1,23 @@ +锘縩amespace HStation.Service.PBS +{ + /// <summary> + /// DAL杈呭姪绫� + /// </summary> + internal class DALCreateHelper + { + + /// <summary> + /// 鍒涘缓DAL + /// </summary> + /// <typeparam name="T"></typeparam> + /// <returns></returns> + public static T CreateDAL<T>() + { + var dbType = Settings.PBSParasHelper.PBS.DataBase.DbType; + var enableCache = Settings.PBSParasHelper.PBS.DataBase.Factory.EnableCache; + var cacheTime = Settings.PBSParasHelper.PBS.DataBase.Factory.CacheTime; + return Yw.DALFactory.CreateDAL3<T>(dbType, enableCache, cacheTime); + } + + } +} diff --git a/Service/HStation.Service.PBS.Core/05-service/00-core/02-cache/CacheHelper.cs b/Service/HStation.Service.PBS.Core/05-service/00-core/02-cache/CacheHelper.cs new file mode 100644 index 0000000..1af42f1 --- /dev/null +++ b/Service/HStation.Service.PBS.Core/05-service/00-core/02-cache/CacheHelper.cs @@ -0,0 +1,34 @@ +锘縩amespace HStation.Service.PBS +{ + /// <summary> + /// 缂撳瓨杈呭姪绫� + /// </summary> + internal class CacheHelper + { + private const string _cacheKeyPrefix = "PBS";//缂撳瓨閿墠缂� + + /// <summary> + /// 鑾峰彇缂撳瓨閿� + /// </summary> + public static string GetCacheKey(string keyContent) + { + return MemoryCacheKeyHelper.GetKey(MemoryCacheKey.ServiceLevel, MemoryCacheKey.Module, $"*{_cacheKeyPrefix}*_{keyContent}"); + } + + /// <summary> + /// 娓呴櫎鍏ㄩ儴 + /// </summary> + public static void Clear() + { + Yw.MemoryCacheHelper.Remove((key) => + { + var prefix = MemoryCacheKeyHelper.GetKey(MemoryCacheKey.ServiceLevel, MemoryCacheKey.Module, $"*{_cacheKeyPrefix}*"); + return key.StartsWith(prefix); + }); + } + + + + + } +} diff --git a/Service/HStation.Service.PBS.Core/05-service/00-core/03-helper/DbFirstHelper.cs b/Service/HStation.Service.PBS.Core/05-service/00-core/03-helper/DbFirstHelper.cs new file mode 100644 index 0000000..9c10dad --- /dev/null +++ b/Service/HStation.Service.PBS.Core/05-service/00-core/03-helper/DbFirstHelper.cs @@ -0,0 +1,69 @@ +锘縩amespace HStation.Service.PBS +{ + /// <summary> + /// + /// </summary> + public class DbFirstHelper + { + /// <summary> + /// 鍒濆鍖� + /// </summary> + public static bool Initial(out string msg) + { + msg = string.Empty; + try + { + var connectConfig = HStation.PBS.ConfigHelper.DefaultConnectionConfig; + if (connectConfig == null) + { + msg = "杩炴帴閰嶇疆鍒濆鍖栧け璐�"; + return false; + } + + connectConfig.ConfigureExternalServices = new ConfigureExternalServices() + { + EntityService = (property, column) => + { + //闄や富閿鍏朵粬鍒楅兘鍙┖ + if (!column.IsPrimarykey) + { + column.IsNullable = true; + } + if (column.DataType == StaticConfig.CodeFirst_BigString) + { + if (PBSParasHelper.PBS.DataBase.DbType == HStation.PBS.DbType.PostgreSql) + { + column.DataType = "character varying"; + } + } + } + }; + + var typeList = new List<Type>() + { + + }; + + using (var db = new SqlSugarClient(connectConfig)) + { + //璁剧疆瀛楃涓查粯璁ら暱搴� + //db.CodeFirst.SetStringDefaultLength(250); + //db.CodeFirst.SetStringDefaultLength(int.MaxValue); + //寤哄簱锛氬鏋滀笉瀛樺湪鍒涘缓鏁版嵁搴撳瓨鍦ㄤ笉浼氶噸澶嶅垱寤� createdb;娉ㄦ剰 锛歄racle鍜屼釜鍒浗浜у簱闇�涓嶆敮鎸佽鏂规硶锛岄渶瑕佹墜鍔ㄥ缓搴� + db.DbMaintenance.CreateDatabase(); + db.CodeFirst.InitTables + ( + typeList.ToArray() + ); + } + + return true; + } + catch (Exception ex) + { + msg = ex.Message; + return false; + } + } + } +} \ No newline at end of file diff --git a/Service/HStation.Service.PBS.Core/GlobalUsings.cs b/Service/HStation.Service.PBS.Core/GlobalUsings.cs new file mode 100644 index 0000000..860df22 --- /dev/null +++ b/Service/HStation.Service.PBS.Core/GlobalUsings.cs @@ -0,0 +1,11 @@ +锘縢lobal using AutoMapper; +global using HStation.Service.PBS; +global using HStation.Settings; +global using HStation.PBS; +global using SqlSugar; +global using System.Text; +global using Yw; +global using Yw.Service; +global using Yw.Untity; +global using System.ComponentModel.DataAnnotations; +global using System.ComponentModel; \ No newline at end of file diff --git a/Service/HStation.Service.PBS.Core/HStation.Service.PBS.Core.csproj b/Service/HStation.Service.PBS.Core/HStation.Service.PBS.Core.csproj new file mode 100644 index 0000000..bd5abf1 --- /dev/null +++ b/Service/HStation.Service.PBS.Core/HStation.Service.PBS.Core.csproj @@ -0,0 +1,25 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net6.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>disable</Nullable> + </PropertyGroup> + + <ItemGroup> + <Compile Remove="05-service\00-core\04-extensions\**" /> + <EmbeddedResource Remove="05-service\00-core\04-extensions\**" /> + <None Remove="05-service\00-core\04-extensions\**" /> + </ItemGroup> + + <ItemGroup> + <PackageReference Include="Yw.Service.Basic.Core" Version="3.3.1" /> + </ItemGroup> + + <ItemGroup> + <Folder Include="01-entity\" /> + <Folder Include="02-model\" /> + <Folder Include="04-dal\" /> + </ItemGroup> + +</Project> diff --git a/Service/HStation.Service.PBS.Core/paras_pbs_settings.json b/Service/HStation.Service.PBS.Core/paras_pbs_settings.json new file mode 100644 index 0000000..cd179b8 --- /dev/null +++ b/Service/HStation.Service.PBS.Core/paras_pbs_settings.json @@ -0,0 +1,35 @@ +{ + "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json", + + + "PBS": { + "DataBase": { + "DbType": "PostgreSql", //PostgreSql/SQLite + "Factory": { + "EnableCache": true, + "CacheTime": 10 + }, + "PostgreSql": { + "ConnectString": "PORT=5432;DATABASE=hstation_PBS;HOST=localhost;PASSWORD=123456;USER ID=postgres;" + }, + "SQLite": { + "ConnectString": "Data Source=hstation_PBS.db;" + } + }, + "DataFolder": "PBS", + "CAL": { + "CALType": "HttpClient", //HttpClient/LocalClient + "HttpClient": { + "HttpUrl": "" + }, + "LocalClient": { + } + }, + "File": { + "Suffix": ".ywrvt", + "Password": "" + } + } + + +} diff --git a/Vmo/HStation.Vmo.Equivalent.Core/GlobalUsings.cs b/Vmo/HStation.Vmo.Equivalent.Core/GlobalUsings.cs new file mode 100644 index 0000000..5f28270 --- /dev/null +++ b/Vmo/HStation.Vmo.Equivalent.Core/GlobalUsings.cs @@ -0,0 +1 @@ +锘� \ No newline at end of file diff --git a/Vmo/HStation.Vmo.Equivalent.Core/HStation.Vmo.Equivalent.Core.csproj b/Vmo/HStation.Vmo.Equivalent.Core/HStation.Vmo.Equivalent.Core.csproj new file mode 100644 index 0000000..a549ced --- /dev/null +++ b/Vmo/HStation.Vmo.Equivalent.Core/HStation.Vmo.Equivalent.Core.csproj @@ -0,0 +1,15 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net6.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>disable</Nullable> + </PropertyGroup> + + <ItemGroup> + <ProjectReference Include="..\..\Dto\HStation.Dto.Equivalent.Core\HStation.Dto.Equivalent.Core.csproj" /> + <ProjectReference Include="..\..\Dto\HStation.Dto.Xhs.Core\HStation.Dto.Xhs.Core.csproj" /> + <ProjectReference Include="..\HStation.Vmo.Core\HStation.Vmo.Core.csproj" /> + </ItemGroup> + +</Project> diff --git a/Vmo/HStation.Vmo.PBS.Core/GlobalUsings.cs b/Vmo/HStation.Vmo.PBS.Core/GlobalUsings.cs new file mode 100644 index 0000000..5f28270 --- /dev/null +++ b/Vmo/HStation.Vmo.PBS.Core/GlobalUsings.cs @@ -0,0 +1 @@ +锘� \ No newline at end of file diff --git a/Vmo/HStation.Vmo.PBS.Core/HStation.Vmo.PBS.Core.csproj b/Vmo/HStation.Vmo.PBS.Core/HStation.Vmo.PBS.Core.csproj new file mode 100644 index 0000000..b215e54 --- /dev/null +++ b/Vmo/HStation.Vmo.PBS.Core/HStation.Vmo.PBS.Core.csproj @@ -0,0 +1,14 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net6.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>disable</Nullable> + </PropertyGroup> + + <ItemGroup> + <ProjectReference Include="..\..\Dto\HStation.Dto.PBS.Core\HStation.Dto.PBS.Core.csproj" /> + <ProjectReference Include="..\HStation.Vmo.Core\HStation.Vmo.Core.csproj" /> + </ItemGroup> + +</Project> diff --git a/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/App.config b/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/App.config new file mode 100644 index 0000000..49cc43e --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/App.config @@ -0,0 +1,3 @@ +锘�<?xml version="1.0" encoding="utf-8" ?> +<configuration> +</configuration> \ No newline at end of file diff --git a/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/GlobalUsings.cs b/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/GlobalUsings.cs new file mode 100644 index 0000000..5f28270 --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/GlobalUsings.cs @@ -0,0 +1 @@ +锘� \ No newline at end of file diff --git a/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/HStation.WinFrmUI.Equivalent.Core.csproj b/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/HStation.WinFrmUI.Equivalent.Core.csproj new file mode 100644 index 0000000..72003b8 --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/HStation.WinFrmUI.Equivalent.Core.csproj @@ -0,0 +1,54 @@ +锘�<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net6.0-windows</TargetFramework> + <Nullable>disable</Nullable> + <UseWindowsForms>true</UseWindowsForms> + <ImplicitUsings>enable</ImplicitUsings> + </PropertyGroup> + + <ItemGroup> + <Compile Remove="03-ViewModel\**" /> + <Compile Remove="04-HomePageMainPanel\**" /> + <Compile Remove="Resources\**" /> + <EmbeddedResource Remove="03-ViewModel\**" /> + <EmbeddedResource Remove="04-HomePageMainPanel\**" /> + <EmbeddedResource Remove="Resources\**" /> + <None Remove="03-ViewModel\**" /> + <None Remove="04-HomePageMainPanel\**" /> + <None Remove="Resources\**" /> + <Page Remove="03-ViewModel\**" /> + <Page Remove="04-HomePageMainPanel\**" /> + <Page Remove="Resources\**" /> + </ItemGroup> + + <ItemGroup> + <PackageReference Include="DevExpress.Win.Design" Version="23.2.4" /> + </ItemGroup> + + <ItemGroup> + <ProjectReference Include="..\..\BLL\HStation.BLL.Equivalent.Core\HStation.BLL.Equivalent.Core.csproj" /> + <ProjectReference Include="..\Hstation.WinFrmUI.Core\HStation.WinFrmUI.Core.csproj" /> + </ItemGroup> + + <ItemGroup> + <Compile Update="Properties\Resources.Designer.cs"> + <DesignTime>True</DesignTime> + <AutoGen>True</AutoGen> + <DependentUpon>Resources.resx</DependentUpon> + </Compile> + </ItemGroup> + + <ItemGroup> + <EmbeddedResource Update="Properties\Resources.resx"> + <Generator>ResXFileCodeGenerator</Generator> + <LastGenOutput>Resources.Designer.cs</LastGenOutput> + </EmbeddedResource> + </ItemGroup> + + <ItemGroup> + <Folder Include="Properties\DataSources\" /> + <Folder Include="Resources\" /> + </ItemGroup> + +</Project> diff --git a/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/HStation.WinFrmUI.Equivalent.Core.user b/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/HStation.WinFrmUI.Equivalent.Core.user new file mode 100644 index 0000000..4c009e1 --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/HStation.WinFrmUI.Equivalent.Core.user @@ -0,0 +1,254 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Compile Update="01-home\00-core\HomeXhsProjectPage.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="01-home\01-project\HomeXhsProjectTreeListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="01-home\02-map\MapViewProjectListContainer.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="01-home\03-property\HomeXhsProjectPropertyCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\01-import\00-core\ImportXhsProjectDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="02-project\01-import\01-info\cloud\SelectXhsProjectTransferFileDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="02-project\01-import\01-info\InputXhsProjectInfoWizardPage.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\01-import\02-map\SetXhsProjectMapLocationWizardPage.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\01-import\03-generate\GenerateXhsProjectWizardPage.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\01-import\04-completed\ImportXhsProjectCompletedCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\01-import\05-completed\ProjectResultShowPanel.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\01-import\05-completed\XhsProjectSimulationAnalysisCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\01-import\05-completed\XhsProjectSimulationBimfaceInfoCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\01-import\05-completed\XhsProjectSimulationHydroInfoCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\01-import\05-completed\XhsProjectSimulationProjectInfoCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\02-bimface\ViewXhsProjectBimfacePage.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\03-mgr\XhsProjectMgrPage.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\04-dlg\00-core\ImportXhsProjectFileDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="02-project\04-dlg\01-FileChoice\SelectXhsProjectFileModelFileWizardPage.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\04-dlg\02-GeneralProject\GenerateXhsProjectFileWizardPage.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\04-dlg\03-ImportCompleted\ImportXhsProjectFileCompletedCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\04-dlg\04-ProjectResultShowPanel\ProjectFileResultShowPanel.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\04-dlg\AddProjectDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="02-project\04-dlg\EditProjectDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\01-info\XhsProjectSimulationBimfaceInfoCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\01-info\XhsProjectSimulationHydroInfoCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\01-info\XhsProjectSimulationInfoPage.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\01-info\XhsProjectSimulationProjectInfoCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\01-property\XhsProjectSimulationPropertyCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\02-bimface\XhsProjectSimulationBimfaceCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\03-q3d\XhsProjectSimulationQ3dCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\04-scheme\01-add\AddXhsSchemeDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\04-scheme\99-ctrl\XhsParterListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\04-scheme\AddXhsProjectSimulationSchemeDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\04-scheme\XhsProjectSimulationSchemeMgrCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\05-function\XhsProjectSimulationFunctionMgrCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\00-core\XhsProjectSimulationMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\02-pump\01-pumpsinglematching\PumpMatchingDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\02-pump\01-pumpsinglematching\PumpSingleMatchingCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\02-pump\01-pumpsinglematching\PumpSingleMatchingDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\02-pump\XhsPumpMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\03-valve\01-valvesinglematching\ValveChartShowDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\03-valve\01-valvesinglematching\ValveSingleMatchingDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\03-valve\01-valvesinglematching\ValveSingleMatchingForm.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\03-valve\XhsProjectSimulationValveMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\04-pipe\01-pipesinglematching\PipeSingleMatchingForm.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\04-pipe\01-pipesinglematching\PipeSingMatchingDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\04-pipe\XhsProjectSimulationPipeMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\05-elbows\01-elbowsinglematching\ElbowSingleMatchingForm.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\05-elbows\01-elbowsinglematching\ElbowSingMatchingDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\05-elbows\XhsProjectSimulationElbowsMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\06-threelink\01-threelinksinglematching\ThreeLinkSingleMatchingForm.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\06-threelink\01-threelinksinglematching\ThreeLinkSingMatchingDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\06-threelink\XhsProjectSimulationThreelinkMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\07-fourlink\01-threelinksinglematching\FourLinkSingleMatchingForm.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\07-fourlink\01-threelinksinglematching\FourLinkSingMatchingDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\07-fourlink\XhsProjectSimulationFourlinkMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\02-check\XhsProjectSimulationHydroCheckResultCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\03-calcu\01-prefix\00-core\SetHydroCalcuPrefixCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\03-calcu\01-prefix\00-core\SetHydroCalcuPrefixDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\03-calcu\01-prefix\00-core\SetHydroCalcuPrefixDlg1.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\03-calcu\01-prefix\01-waterbox\SetHydroWaterboxCalcuPrefixListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\03-calcu\01-prefix\02-pump\SetHydroPumpCalcuPrefixListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\03-calcu\01-prefix\03-nozzle\SetHydroNozzleCalcuPrefixListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\03-calcu\99-failed\HydroCalcuFailedCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\04-unmatching\00-core\XhsProjectSimulationUnMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\04-unmatching\01-pump\XhsProjectSimulationPumpUnMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\04-unmatching\02-valve\XhsProjectSimulationValveUnMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\04-unmatching\03-pipe\XhsProjectSimulationPipeUnMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\04-unmatching\04-elbow\XhsProjectSimulationElbowUnMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\04-unmatching\05-threelink\XhsProjectSimulationThreelinkUnMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\04-unmatching\06-fourlink\XhsProjectSimulationFourlinkUnMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\07-bulkset\00-core\XhsProjectSimulationBulksetCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\07-bulkset\02-pump\XhsProjectSimulationPumpBulkSetCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\XhsProjectSimulationCorePage.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\07-l3d\XhsProjectSimulationL3dCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\XhsProjectSimulationMgrPage.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="04-pump\01-Prop\PumpPropViewCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="04-pump\02-analy\SinglePumpAnalyDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="04-pump\02-analy\SinglePumpAnalyInfoCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="04-pump\PumpFullInfoCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="04-pump\PumpFullInfoViewDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="04-pump\SinglePumpInfoViewDlg.cs"> + <SubType>Form</SubType> + </Compile> + </ItemGroup> +</Project> \ No newline at end of file diff --git a/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/Properties/Resources.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/Properties/Resources.Designer.cs new file mode 100644 index 0000000..5b962e3 --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +锘�//------------------------------------------------------------------------------ +// <auto-generated> +// 姝や唬鐮佺敱宸ュ叿鐢熸垚銆� +// 杩愯鏃剁増鏈�:4.0.30319.42000 +// +// 瀵规鏂囦欢鐨勬洿鏀瑰彲鑳戒細瀵艰嚧涓嶆纭殑琛屼负锛屽苟涓斿鏋� +// 閲嶆柊鐢熸垚浠g爜锛岃繖浜涙洿鏀瑰皢浼氫涪澶便�� +// </auto-generated> +//------------------------------------------------------------------------------ + +namespace HStation.WinFrmUI.PBS.Equivalent.Core.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("HStation.WinFrmUI.PBS.Equivalent.Core.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// <summary> + /// 閲嶅啓褰撳墠绾跨▼鐨� CurrentUICulture 灞炴�э紝瀵� + /// 浣跨敤姝ゅ己绫诲瀷璧勬簮绫荤殑鎵�鏈夎祫婧愭煡鎵炬墽琛岄噸鍐欍�� + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/Properties/Resources.resx b/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/Properties/Resources.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/Properties/Resources.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> \ No newline at end of file diff --git a/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/Resources/Min32.png b/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/Resources/Min32.png new file mode 100644 index 0000000..87401a1 --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/Resources/Min32.png Binary files differ diff --git a/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/Resources/Pump32.png b/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/Resources/Pump32.png new file mode 100644 index 0000000..c1f75f9 --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/Resources/Pump32.png Binary files differ diff --git a/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/Resources/SizeMax32.png b/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/Resources/SizeMax32.png new file mode 100644 index 0000000..704a114 --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.Equivalent.Core/Resources/SizeMax32.png Binary files differ diff --git a/WinFrmUI/HStation.WinFrmUI.PBS.Core/App.config b/WinFrmUI/HStation.WinFrmUI.PBS.Core/App.config new file mode 100644 index 0000000..49cc43e --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.PBS.Core/App.config @@ -0,0 +1,3 @@ +锘�<?xml version="1.0" encoding="utf-8" ?> +<configuration> +</configuration> \ No newline at end of file diff --git a/WinFrmUI/HStation.WinFrmUI.PBS.Core/GlobalUsings.cs b/WinFrmUI/HStation.WinFrmUI.PBS.Core/GlobalUsings.cs new file mode 100644 index 0000000..5f28270 --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.PBS.Core/GlobalUsings.cs @@ -0,0 +1 @@ +锘� \ No newline at end of file diff --git a/WinFrmUI/HStation.WinFrmUI.PBS.Core/HStation.WinFrmUI.PBS.Core.csproj b/WinFrmUI/HStation.WinFrmUI.PBS.Core/HStation.WinFrmUI.PBS.Core.csproj new file mode 100644 index 0000000..864360f --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.PBS.Core/HStation.WinFrmUI.PBS.Core.csproj @@ -0,0 +1,64 @@ +锘�<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net6.0-windows</TargetFramework> + <Nullable>disable</Nullable> + <UseWindowsForms>true</UseWindowsForms> + <ImplicitUsings>enable</ImplicitUsings> + </PropertyGroup> + + <ItemGroup> + <Compile Remove="03-ViewModel\**" /> + <Compile Remove="04-HomePageMainPanel\**" /> + <Compile Remove="Resources\**" /> + <EmbeddedResource Remove="03-ViewModel\**" /> + <EmbeddedResource Remove="04-HomePageMainPanel\**" /> + <EmbeddedResource Remove="Resources\**" /> + <None Remove="03-ViewModel\**" /> + <None Remove="04-HomePageMainPanel\**" /> + <None Remove="Resources\**" /> + <Page Remove="03-ViewModel\**" /> + <Page Remove="04-HomePageMainPanel\**" /> + <Page Remove="Resources\**" /> + </ItemGroup> + + <ItemGroup> + <None Include="Resources\Cancel.svg" /> + <None Include="Resources\Close32.png" /> + <None Include="Resources\Folder.svg" /> + <None Include="Resources\IncomingCall.svg" /> + <None Include="Resources\MapLayers.svg" /> + <None Include="Resources\Remove.svg" /> + <None Include="Resources\Square32.png" /> + <None Include="Resources\SizeNormal32.png" /> + <None Include="Resources\SizeMin32.png" /> + </ItemGroup> + + <ItemGroup> + <PackageReference Include="DevExpress.Win.Design" Version="23.2.4" /> + </ItemGroup> + + <ItemGroup> + <Compile Update="Properties\Resources.Designer.cs"> + <DesignTime>True</DesignTime> + <AutoGen>True</AutoGen> + <DependentUpon>Resources.resx</DependentUpon> + </Compile> + </ItemGroup> + + <ItemGroup> + <EmbeddedResource Update="Properties\Resources.resx"> + <Generator>ResXFileCodeGenerator</Generator> + <LastGenOutput>Resources.Designer.cs</LastGenOutput> + </EmbeddedResource> + </ItemGroup> + + <ItemGroup> + <Folder Include="Properties\DataSources\" /> + </ItemGroup> + + <ItemGroup> + <ProjectReference Include="..\..\BLL\HStation.BLL.PBS.Core\HStation.BLL.PBS.Core.csproj" /> + </ItemGroup> + +</Project> diff --git a/WinFrmUI/HStation.WinFrmUI.PBS.Core/HStation.WinFrmUI.PBS.Core.csproj.user b/WinFrmUI/HStation.WinFrmUI.PBS.Core/HStation.WinFrmUI.PBS.Core.csproj.user new file mode 100644 index 0000000..b5309f2 --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.PBS.Core/HStation.WinFrmUI.PBS.Core.csproj.user @@ -0,0 +1,5 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup /> + <ItemGroup /> +</Project> \ No newline at end of file diff --git a/WinFrmUI/HStation.WinFrmUI.PBS.Core/HStation.WinFrmUI.PBS.Core.user b/WinFrmUI/HStation.WinFrmUI.PBS.Core/HStation.WinFrmUI.PBS.Core.user new file mode 100644 index 0000000..4c009e1 --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.PBS.Core/HStation.WinFrmUI.PBS.Core.user @@ -0,0 +1,254 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Compile Update="01-home\00-core\HomeXhsProjectPage.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="01-home\01-project\HomeXhsProjectTreeListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="01-home\02-map\MapViewProjectListContainer.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="01-home\03-property\HomeXhsProjectPropertyCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\01-import\00-core\ImportXhsProjectDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="02-project\01-import\01-info\cloud\SelectXhsProjectTransferFileDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="02-project\01-import\01-info\InputXhsProjectInfoWizardPage.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\01-import\02-map\SetXhsProjectMapLocationWizardPage.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\01-import\03-generate\GenerateXhsProjectWizardPage.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\01-import\04-completed\ImportXhsProjectCompletedCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\01-import\05-completed\ProjectResultShowPanel.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\01-import\05-completed\XhsProjectSimulationAnalysisCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\01-import\05-completed\XhsProjectSimulationBimfaceInfoCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\01-import\05-completed\XhsProjectSimulationHydroInfoCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\01-import\05-completed\XhsProjectSimulationProjectInfoCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\02-bimface\ViewXhsProjectBimfacePage.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\03-mgr\XhsProjectMgrPage.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\04-dlg\00-core\ImportXhsProjectFileDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="02-project\04-dlg\01-FileChoice\SelectXhsProjectFileModelFileWizardPage.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\04-dlg\02-GeneralProject\GenerateXhsProjectFileWizardPage.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\04-dlg\03-ImportCompleted\ImportXhsProjectFileCompletedCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\04-dlg\04-ProjectResultShowPanel\ProjectFileResultShowPanel.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="02-project\04-dlg\AddProjectDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="02-project\04-dlg\EditProjectDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\01-info\XhsProjectSimulationBimfaceInfoCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\01-info\XhsProjectSimulationHydroInfoCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\01-info\XhsProjectSimulationInfoPage.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\01-info\XhsProjectSimulationProjectInfoCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\01-property\XhsProjectSimulationPropertyCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\02-bimface\XhsProjectSimulationBimfaceCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\03-q3d\XhsProjectSimulationQ3dCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\04-scheme\01-add\AddXhsSchemeDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\04-scheme\99-ctrl\XhsParterListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\04-scheme\AddXhsProjectSimulationSchemeDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\04-scheme\XhsProjectSimulationSchemeMgrCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\05-function\XhsProjectSimulationFunctionMgrCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\00-core\XhsProjectSimulationMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\02-pump\01-pumpsinglematching\PumpMatchingDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\02-pump\01-pumpsinglematching\PumpSingleMatchingCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\02-pump\01-pumpsinglematching\PumpSingleMatchingDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\02-pump\XhsPumpMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\03-valve\01-valvesinglematching\ValveChartShowDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\03-valve\01-valvesinglematching\ValveSingleMatchingDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\03-valve\01-valvesinglematching\ValveSingleMatchingForm.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\03-valve\XhsProjectSimulationValveMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\04-pipe\01-pipesinglematching\PipeSingleMatchingForm.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\04-pipe\01-pipesinglematching\PipeSingMatchingDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\04-pipe\XhsProjectSimulationPipeMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\05-elbows\01-elbowsinglematching\ElbowSingleMatchingForm.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\05-elbows\01-elbowsinglematching\ElbowSingMatchingDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\05-elbows\XhsProjectSimulationElbowsMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\06-threelink\01-threelinksinglematching\ThreeLinkSingleMatchingForm.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\06-threelink\01-threelinksinglematching\ThreeLinkSingMatchingDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\06-threelink\XhsProjectSimulationThreelinkMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\07-fourlink\01-threelinksinglematching\FourLinkSingleMatchingForm.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\07-fourlink\01-threelinksinglematching\FourLinkSingMatchingDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\01-matching\07-fourlink\XhsProjectSimulationFourlinkMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\02-check\XhsProjectSimulationHydroCheckResultCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\03-calcu\01-prefix\00-core\SetHydroCalcuPrefixCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\03-calcu\01-prefix\00-core\SetHydroCalcuPrefixDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\03-calcu\01-prefix\00-core\SetHydroCalcuPrefixDlg1.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\03-calcu\01-prefix\01-waterbox\SetHydroWaterboxCalcuPrefixListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\03-calcu\01-prefix\02-pump\SetHydroPumpCalcuPrefixListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\03-calcu\01-prefix\03-nozzle\SetHydroNozzleCalcuPrefixListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\03-calcu\99-failed\HydroCalcuFailedCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\04-unmatching\00-core\XhsProjectSimulationUnMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\04-unmatching\01-pump\XhsProjectSimulationPumpUnMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\04-unmatching\02-valve\XhsProjectSimulationValveUnMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\04-unmatching\03-pipe\XhsProjectSimulationPipeUnMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\04-unmatching\04-elbow\XhsProjectSimulationElbowUnMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\04-unmatching\05-threelink\XhsProjectSimulationThreelinkUnMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\04-unmatching\06-fourlink\XhsProjectSimulationFourlinkUnMatchingListCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\07-bulkset\00-core\XhsProjectSimulationBulksetCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\07-bulkset\02-pump\XhsProjectSimulationPumpBulkSetCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\06-simulation\XhsProjectSimulationCorePage.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\07-l3d\XhsProjectSimulationL3dCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="03-simulation\XhsProjectSimulationMgrPage.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="04-pump\01-Prop\PumpPropViewCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="04-pump\02-analy\SinglePumpAnalyDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="04-pump\02-analy\SinglePumpAnalyInfoCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="04-pump\PumpFullInfoCtrl.cs"> + <SubType>UserControl</SubType> + </Compile> + <Compile Update="04-pump\PumpFullInfoViewDlg.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Update="04-pump\SinglePumpInfoViewDlg.cs"> + <SubType>Form</SubType> + </Compile> + </ItemGroup> +</Project> \ No newline at end of file diff --git a/WinFrmUI/HStation.WinFrmUI.PBS.Core/Properties/Resources.Designer.cs b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Properties/Resources.Designer.cs new file mode 100644 index 0000000..7553532 --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Properties/Resources.Designer.cs @@ -0,0 +1,153 @@ +锘�//------------------------------------------------------------------------------ +// <auto-generated> +// 姝や唬鐮佺敱宸ュ叿鐢熸垚銆� +// 杩愯鏃剁増鏈�:4.0.30319.42000 +// +// 瀵规鏂囦欢鐨勬洿鏀瑰彲鑳戒細瀵艰嚧涓嶆纭殑琛屼负锛屽苟涓斿鏋� +// 閲嶆柊鐢熸垚浠g爜锛岃繖浜涙洿鏀瑰皢浼氫涪澶便�� +// </auto-generated> +//------------------------------------------------------------------------------ + +namespace HStation.WinFrmUI.Xhs.Core.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("HStation.WinFrmUI.Xhs.Core.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> + /// 鏌ユ壘 DevExpress.Utils.Svg.SvgImage 绫诲瀷鐨勬湰鍦板寲璧勬簮銆� + /// </summary> + internal static DevExpress.Utils.Svg.SvgImage Cancel { + get { + object obj = ResourceManager.GetObject("Cancel", resourceCulture); + return ((DevExpress.Utils.Svg.SvgImage)(obj)); + } + } + + /// <summary> + /// 鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆� + /// </summary> + internal static System.Drawing.Bitmap Close32 { + get { + object obj = ResourceManager.GetObject("Close32", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// 鏌ユ壘 DevExpress.Utils.Svg.SvgImage 绫诲瀷鐨勬湰鍦板寲璧勬簮銆� + /// </summary> + internal static DevExpress.Utils.Svg.SvgImage Folder { + get { + object obj = ResourceManager.GetObject("Folder", resourceCulture); + return ((DevExpress.Utils.Svg.SvgImage)(obj)); + } + } + + /// <summary> + /// 鏌ユ壘 DevExpress.Utils.Svg.SvgImage 绫诲瀷鐨勬湰鍦板寲璧勬簮銆� + /// </summary> + internal static DevExpress.Utils.Svg.SvgImage IncomingCall { + get { + object obj = ResourceManager.GetObject("IncomingCall", resourceCulture); + return ((DevExpress.Utils.Svg.SvgImage)(obj)); + } + } + + /// <summary> + /// 鏌ユ壘 DevExpress.Utils.Svg.SvgImage 绫诲瀷鐨勬湰鍦板寲璧勬簮銆� + /// </summary> + internal static DevExpress.Utils.Svg.SvgImage MapLayers { + get { + object obj = ResourceManager.GetObject("MapLayers", resourceCulture); + return ((DevExpress.Utils.Svg.SvgImage)(obj)); + } + } + + /// <summary> + /// 鏌ユ壘 DevExpress.Utils.Svg.SvgImage 绫诲瀷鐨勬湰鍦板寲璧勬簮銆� + /// </summary> + internal static DevExpress.Utils.Svg.SvgImage Remove { + get { + object obj = ResourceManager.GetObject("Remove", resourceCulture); + return ((DevExpress.Utils.Svg.SvgImage)(obj)); + } + } + + /// <summary> + /// 鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆� + /// </summary> + internal static System.Drawing.Bitmap SizeMin32 { + get { + object obj = ResourceManager.GetObject("SizeMin32", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// 鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆� + /// </summary> + internal static System.Drawing.Bitmap SizeNormal32 { + get { + object obj = ResourceManager.GetObject("SizeNormal32", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// <summary> + /// 鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆� + /// </summary> + internal static System.Drawing.Bitmap Square32 { + get { + object obj = ResourceManager.GetObject("Square32", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/WinFrmUI/HStation.WinFrmUI.PBS.Core/Properties/Resources.resx b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Properties/Resources.resx new file mode 100644 index 0000000..385eb81 --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Properties/Resources.resx @@ -0,0 +1,148 @@ +锘�<?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> + <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + <data name="SizeMin32" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\SizeMin32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="SizeNormal32" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\SizeNormal32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="Square32" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\Square32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="Close32" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\Close32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="Cancel" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\Cancel.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> + </data> + <data name="Remove" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\Remove.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> + </data> + <data name="Folder" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\Folder.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> + </data> + <data name="MapLayers" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\MapLayers.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> + </data> + <data name="IncomingCall" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\IncomingCall.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> + </data> +</root> \ No newline at end of file diff --git a/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Cancel.svg b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Cancel.svg new file mode 100644 index 0000000..684792f --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Cancel.svg @@ -0,0 +1,12 @@ +锘�<?xml version='1.0' encoding='UTF-8'?> +<svg x="0px" y="0px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="Layer1" style="enable-background:new 0 0 32 32"> + <style type="text/css"> + .Black + { + fill:#727272; + font-family:'dx-font-icons'; + font-size:32px; + } + </style> + <text x="0px" y="32px" class="Black">顪�</text> +</svg> \ No newline at end of file diff --git a/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Close32.png b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Close32.png new file mode 100644 index 0000000..3959089 --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Close32.png Binary files differ diff --git a/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Folder.svg b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Folder.svg new file mode 100644 index 0000000..60f871b --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Folder.svg @@ -0,0 +1,12 @@ +锘�<?xml version='1.0' encoding='UTF-8'?> +<svg x="0px" y="0px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="Layer1" style="enable-background:new 0 0 32 32"> + <style type="text/css"> + .Black + { + fill:#727272; + font-family:'dx-font-icons'; + font-size:32px; + } + </style> + <text x="0px" y="32px" class="Black">睥�</text> +</svg> \ No newline at end of file diff --git a/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/IncomingCall.svg b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/IncomingCall.svg new file mode 100644 index 0000000..e025149 --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/IncomingCall.svg @@ -0,0 +1,12 @@ +锘�<?xml version='1.0' encoding='UTF-8'?> +<svg x="0px" y="0px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="Layer1" style="enable-background:new 0 0 32 32"> + <style type="text/css"> + .Black + { + fill:#727272; + font-family:'dx-font-icons'; + font-size:32px; + } + </style> + <text x="0px" y="32px" class="Black">顫�</text> +</svg> \ No newline at end of file diff --git a/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/MapLayers.svg b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/MapLayers.svg new file mode 100644 index 0000000..b9c256f --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/MapLayers.svg @@ -0,0 +1,12 @@ +锘�<?xml version='1.0' encoding='UTF-8'?> +<svg x="0px" y="0px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="Layer1" style="enable-background:new 0 0 32 32"> + <style type="text/css"> + .Black + { + fill:#727272; + font-family:'dx-font-icons'; + font-size:32px; + } + </style> + <text x="0px" y="32px" class="Black">顮�</text> +</svg> \ No newline at end of file diff --git a/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Min32.png b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Min32.png new file mode 100644 index 0000000..87401a1 --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Min32.png Binary files differ diff --git a/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Pump32.png b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Pump32.png new file mode 100644 index 0000000..c1f75f9 --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Pump32.png Binary files differ diff --git a/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Remove.svg b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Remove.svg new file mode 100644 index 0000000..a0aca05 --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Remove.svg @@ -0,0 +1,12 @@ +锘�<?xml version='1.0' encoding='UTF-8'?> +<svg x="0px" y="0px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="Layer1" style="enable-background:new 0 0 32 32"> + <style type="text/css"> + .Black + { + fill:#727272; + font-family:'dx-font-icons'; + font-size:32px; + } + </style> + <text x="0px" y="32px" class="Black">顪�</text> +</svg> \ No newline at end of file diff --git a/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/SizeMax32.png b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/SizeMax32.png new file mode 100644 index 0000000..704a114 --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/SizeMax32.png Binary files differ diff --git a/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/SizeMin32.png b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/SizeMin32.png new file mode 100644 index 0000000..b30a592 --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/SizeMin32.png Binary files differ diff --git a/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/SizeNormal32.png b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/SizeNormal32.png new file mode 100644 index 0000000..9783e81 --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/SizeNormal32.png Binary files differ diff --git a/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Square32.png b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Square32.png new file mode 100644 index 0000000..1bd020f --- /dev/null +++ b/WinFrmUI/HStation.WinFrmUI.PBS.Core/Resources/Square32.png Binary files differ diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/04-scheme/01-add/AddXhsSchemeDlg.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/04-scheme/01-add/AddXhsSchemeDlg.cs index 282d9e2..cec1ef0 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/04-scheme/01-add/AddXhsSchemeDlg.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/04-scheme/01-add/AddXhsSchemeDlg.cs @@ -38,6 +38,7 @@ }; } } + } @@ -205,8 +206,7 @@ #endregion #region Menu - - + #region FastShowHidden //涓�閿樉闅� -- Gitblit v1.9.3