@@ -6,10 +6,19 @@ | |||||
<Nullable>enable</Nullable> | <Nullable>enable</Nullable> | ||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | |||||
<PackageReference Include="BPA.ApolloClient" Version="1.0.9" /> | |||||
<PackageReference Include="BPA.Message" Version="1.0.9" /> | |||||
<PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" /> | |||||
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="6.0.0" /> | |||||
<PackageReference Include="System.Configuration.ConfigurationManager" Version="6.0.0" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | <ItemGroup> | ||||
<ProjectReference Include="..\BPASmartClient.Device\BPASmartClient.Device.csproj" /> | <ProjectReference Include="..\BPASmartClient.Device\BPASmartClient.Device.csproj" /> | ||||
<ProjectReference Include="..\BPASmartClient.Helper\BPASmartClient.Helper.csproj" /> | <ProjectReference Include="..\BPASmartClient.Helper\BPASmartClient.Helper.csproj" /> | ||||
<ProjectReference Include="..\BPASmartClient.Model\BPASmartClient.Model.csproj" /> | <ProjectReference Include="..\BPASmartClient.Model\BPASmartClient.Model.csproj" /> | ||||
<ProjectReference Include="..\BPASmartClient.MQTT\BPASmartClient.MQTT.csproj" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
</Project> | </Project> |
@@ -0,0 +1,12 @@ | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Linq; | |||||
using System.Text; | |||||
using System.Threading.Tasks; | |||||
namespace BPASmartClient.Business | |||||
{ | |||||
public class DataStorage | |||||
{ | |||||
} | |||||
} |
@@ -0,0 +1,134 @@ | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Linq; | |||||
using System.Text; | |||||
using System.Threading.Tasks; | |||||
using System.Configuration; | |||||
using System.IO; | |||||
using Microsoft.Extensions.Configuration; | |||||
using System.Threading; | |||||
using BPASmartClient.Helper; | |||||
using BPASmartClient.Message; | |||||
using BPA.ApolloClient; | |||||
namespace BPASmartClient.Business | |||||
{ | |||||
/// <summary> | |||||
/// 网络信息数据 | |||||
/// </summary> | |||||
public class InternetInfo | |||||
{ | |||||
/// <summary> | |||||
/// 配置初始化 | |||||
/// </summary> | |||||
public static void InitConfig() | |||||
{ | |||||
NetworkConnectState = UniversalHelper.GetInstance().GetNetworkState(); | |||||
while (!NetworkConnectState) | |||||
{ | |||||
NetworkConnectState = UniversalHelper.GetInstance().GetNetworkState(); | |||||
Thread.Sleep(2000); | |||||
} | |||||
ClientId = int.Parse(System.Configuration.ConfigurationManager.AppSettings["ClientId"]); | |||||
IConfigurationBuilder configurationBuilder = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()); | |||||
configurationBuilder.AddApolloConfiguration(p => | |||||
{ | |||||
p.AppId = "dev1_order"; | |||||
p.MetaServer = "http://10.2.1.21:28070/"; | |||||
p.Namespaces = new List<string>() { "DEV.Config"}; | |||||
}); | |||||
IConfiguration config = configurationBuilder.Build(); | |||||
var mqttBroker = config.GetSection("BrokerHostSettings"); | |||||
//while (StockServer == null) | |||||
//{ | |||||
// try | |||||
// { | |||||
// IConfigurationBuilder configurationBuilder = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddConsul(ConsulAddress, "root/basic.json", false, 5_000); | |||||
// IConfiguration config = configurationBuilder.Build(); | |||||
// MqttUserName = config["MQTT:TcpAccount"]; | |||||
// MqttPassword = config["MQTT:TcpPwd"]; | |||||
// MqttAddress = config["MQTT:IP"]; | |||||
// MqttPort = int.Parse(config["MQTT:Client"]); | |||||
// ApiAddress = config["GateWay:BaseURL"]; | |||||
// OrderServer = config["GateWay:Order"]; | |||||
// StockServer = config["GateWay:Stock"]; | |||||
// IotApiAddress = config["IOT:Address"]; | |||||
// } | |||||
// catch (Exception ex) | |||||
// { | |||||
// MessageLog.GetInstance.Show(ex.ToString()); | |||||
// Thread.Sleep(30000); | |||||
// } | |||||
//} | |||||
} | |||||
/// <summary> | |||||
/// Consul 地址 | |||||
/// </summary> | |||||
public static string ConsulAddress { get; set; } | |||||
/// <summary> | |||||
/// 网络连接状态 | |||||
/// </summary> | |||||
public static bool NetworkConnectState { get; set; } | |||||
/// <summary> | |||||
/// 广告地址 | |||||
/// </summary> | |||||
public static Uri SorbetesAddress { get; set; } | |||||
/// <summary> | |||||
/// 客户端ID | |||||
/// </summary> | |||||
public static int ClientId { get; set; } | |||||
/// <summary> | |||||
/// IOTAPI 地址 | |||||
/// </summary> | |||||
public static string IotApiAddress { get; set; } | |||||
#region MQTT连接信息 | |||||
/// <summary> | |||||
/// mqtt 服务地址 | |||||
/// </summary> | |||||
public static string MqttAddress { get; set; } | |||||
/// <summary> | |||||
/// mqtt 用户名 | |||||
/// </summary> | |||||
public static string MqttUserName { get; set; } | |||||
/// <summary> | |||||
/// mqtt 密码 | |||||
/// </summary> | |||||
public static string MqttPassword { get; set; } | |||||
/// <summary> | |||||
/// mqtt 端口号 | |||||
/// </summary> | |||||
public static int MqttPort { get; set; } | |||||
#endregion | |||||
#region API地址 | |||||
/// <summary> | |||||
/// Api 网关地址 | |||||
/// </summary> | |||||
public static string ApiAddress { get; set; } | |||||
/// <summary> | |||||
/// 订单服务 | |||||
/// </summary> | |||||
public static string OrderServer { get; set; } | |||||
/// <summary> | |||||
/// 库存服务 | |||||
/// </summary> | |||||
public static string StockServer { get; set; } | |||||
#endregion | |||||
} | |||||
} |
@@ -0,0 +1,43 @@ | |||||
using HBLConsole.Communication; | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Linq; | |||||
using System.Text; | |||||
using System.Threading.Tasks; | |||||
namespace BPASmartClient.Business | |||||
{ | |||||
/// <summary> | |||||
/// 主控入口 | |||||
/// </summary> | |||||
public class MainConsole | |||||
{ | |||||
/// <summary> | |||||
/// 主业务线开始 | |||||
/// </summary> | |||||
public void Start() | |||||
{ | |||||
//网络相关 | |||||
InternetInfo.InitConfig(); | |||||
//业务插件初始化 | |||||
Plugin.GetInstance().Init(); | |||||
//主题初始化 | |||||
TopicDefine.GetInstance().Initialize(Plugin.GetInstance().GetPlugin<DeviceMgr>().GetDevices()); | |||||
//MQTT 重连成功 | |||||
MqttHelper.GetInstance().Reconnection = new Action(() => | |||||
{ | |||||
MqttHelper.GetInstance().MqttSubscriptionAsync(TopicDefine.GetInstance().SubscribTopics.ToArray()); | |||||
}); | |||||
//MQTT 连接 | |||||
MqttHelper.GetInstance().MqttInitAsync(InternetInfo.MqttUserName, InternetInfo.MqttPassword, | |||||
InternetInfo.MqttAddress, InternetInfo.MqttPort, DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss")); | |||||
} | |||||
/// <summary> | |||||
/// 主业务线停止 | |||||
/// </summary> | |||||
public void Stop() | |||||
{ | |||||
} | |||||
} | |||||
} |
@@ -27,6 +27,11 @@ namespace BPASmartClient.Business | |||||
LoadDevice(); | LoadDevice(); | ||||
} | } | ||||
public List<IDevice> GetDevices() | |||||
{ | |||||
return devices; | |||||
} | |||||
/// <summary> | /// <summary> | ||||
/// 设备加载 | /// 设备加载 | ||||
/// </summary> | /// </summary> | ||||
@@ -54,6 +59,8 @@ namespace BPASmartClient.Business | |||||
} | } | ||||
} | } | ||||
public void StartService() | public void StartService() | ||||
{ | { | ||||
this.devices.ForEach(device => device.StartMain()); | this.devices.ForEach(device => device.StartMain()); |
@@ -0,0 +1,44 @@ | |||||
using HBLConsole.Communication; | |||||
using System; | |||||
using System.Collections.Concurrent; | |||||
using System.Collections.Generic; | |||||
using System.Linq; | |||||
using System.Text; | |||||
using System.Threading.Tasks; | |||||
namespace BPASmartClient.Business | |||||
{ | |||||
public class MQTTMgr : IPlugin | |||||
{ | |||||
//消息缓存 | |||||
private ConcurrentQueue<string> msg = new ConcurrentQueue<string>(); | |||||
public void Initialize() | |||||
{ | |||||
//MQTT 重连成功 | |||||
MqttHelper.GetInstance().Reconnection = new Action(() => | |||||
{ | |||||
MqttHelper.GetInstance().MqttSubscriptionAsync(TopicDefine.GetInstance().SubscribTopics.ToArray()); | |||||
}); | |||||
//MQTT 连接成功 | |||||
MqttHelper.GetInstance().ConnectOk = new Action(() => | |||||
{ | |||||
MqttHelper.GetInstance().MqttSubscriptionAsync(TopicDefine.GetInstance().SubscribTopics.ToArray()); | |||||
}); | |||||
//MQTT 数据接收 | |||||
MqttHelper.GetInstance().MqttReceive = new Action<MQTTnet.MqttApplicationMessageReceivedEventArgs>((receivce) => | |||||
{ | |||||
msg.Enqueue(Encoding.UTF8.GetString(receivce.ApplicationMessage.Payload)); | |||||
}); | |||||
//MQTT 初始化 | |||||
MqttHelper.GetInstance().MqttInitAsync(InternetInfo.MqttUserName, InternetInfo.MqttPassword, | |||||
InternetInfo.MqttAddress, InternetInfo.MqttPort, DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss")); | |||||
} | |||||
public void Dispose() | |||||
{ | |||||
MqttHelper.GetInstance().Close(); | |||||
} | |||||
} | |||||
} |
@@ -0,0 +1,20 @@ | |||||
using HBLConsole.Communication; | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Linq; | |||||
using System.Text; | |||||
using System.Threading.Tasks; | |||||
namespace BPASmartClient.Business | |||||
{ | |||||
public class OrderProxy : IPlugin | |||||
{ | |||||
public void Initialize() | |||||
{ | |||||
} | |||||
public void Dispose() | |||||
{ | |||||
} | |||||
} | |||||
} |
@@ -0,0 +1,39 @@ | |||||
using BPA.Message; | |||||
using BPA.Message.Enum; | |||||
using BPASmartClient.Device; | |||||
using BPASmartClient.Helper; | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Linq; | |||||
using System.Text; | |||||
using System.Threading.Tasks; | |||||
namespace BPASmartClient.Business | |||||
{ | |||||
/// <summary> | |||||
/// 主题定义 | |||||
/// </summary> | |||||
public class TopicDefine : Singleton<TopicDefine> | |||||
{ | |||||
/// <summary> | |||||
/// 获取订阅主题 | |||||
/// </summary> | |||||
public List<string> SubscribTopics { get; private set; } | |||||
/// <summary> | |||||
/// 获取心跳上报主题 | |||||
/// </summary> | |||||
public Dictionary<DeviceClientType, string> PushHeartbeatTopics { get; set; } | |||||
public void Initialize(List<IDevice> devices) | |||||
{ | |||||
SubscribTopics = new List<string>(); | |||||
PushHeartbeatTopics = new Dictionary<DeviceClientType, string>(); | |||||
foreach (var device in devices) | |||||
{ | |||||
SubscribTopics.Add(TOPIC.GetInstance.GetOrderPushTopic(device.DeviceType, InternetInfo.ClientId)); | |||||
SubscribTopics.Add(TOPIC.GetInstance.GetBusinessTopic(device.DeviceType, InternetInfo.ClientId)); | |||||
PushHeartbeatTopics.Add(device.DeviceType, TOPIC.GetInstance.GetHeatbeatTopic(device.DeviceType)); | |||||
} | |||||
} | |||||
} | |||||
} |
@@ -4,6 +4,10 @@ | |||||
<TargetFramework>net6.0</TargetFramework> | <TargetFramework>net6.0</TargetFramework> | ||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | |||||
<PackageReference Include="BPA.Message" Version="1.0.9" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | <ItemGroup> | ||||
<ProjectReference Include="..\BPASmartClient.Peripheral\BPASmartClient.Peripheral.csproj" /> | <ProjectReference Include="..\BPASmartClient.Peripheral\BPASmartClient.Peripheral.csproj" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
@@ -1,4 +1,5 @@ | |||||
using BPASmartClient.Peripheral; | |||||
using BPA.Message.Enum; | |||||
using BPASmartClient.Peripheral; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
@@ -20,7 +21,14 @@ namespace BPASmartClient.Device | |||||
/// 设备所有状态 | /// 设备所有状态 | ||||
/// </summary> | /// </summary> | ||||
public DeviceStatus Status { get; set; } | public DeviceStatus Status { get; set; } | ||||
/// <summary> | |||||
/// 设备名称 | |||||
/// </summary> | |||||
public string Name { get; set; } | public string Name { get; set; } | ||||
/// <summary> | |||||
/// 设备类型 | |||||
/// </summary> | |||||
public abstract DeviceClientType DeviceType { get; } | |||||
public void Initliaze() | public void Initliaze() | ||||
{ | { | ||||
@@ -1,4 +1,5 @@ | |||||
using BPASmartClient.Peripheral; | |||||
using BPA.Message.Enum; | |||||
using BPASmartClient.Peripheral; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
@@ -16,8 +17,15 @@ namespace BPASmartClient.Device | |||||
/// 设备ID | /// 设备ID | ||||
/// </summary> | /// </summary> | ||||
string DeviceId { get; set; } | string DeviceId { get; set; } | ||||
/// <summary> | |||||
/// 设备名称 | |||||
/// </summary> | |||||
string Name { get; set; } | string Name { get; set; } | ||||
/// <summary> | /// <summary> | ||||
/// 设备类型 | |||||
/// </summary> | |||||
DeviceClientType DeviceType { get; } | |||||
/// <summary> | |||||
/// 设备所有状态 | /// 设备所有状态 | ||||
/// </summary> | /// </summary> | ||||
DeviceStatus Status { get; set; } | DeviceStatus Status { get; set; } | ||||
@@ -1,12 +0,0 @@ | |||||
<Project Sdk="Microsoft.NET.Sdk"> | |||||
<PropertyGroup> | |||||
<TargetFramework>net6.0</TargetFramework> | |||||
</PropertyGroup> | |||||
<ItemGroup> | |||||
<ProjectReference Include="..\BPASmartClient.Device\BPASmartClient.Device.csproj" /> | |||||
<ProjectReference Include="..\BPASmartClient.Helper\BPASmartClient.Helper.csproj" /> | |||||
</ItemGroup> | |||||
</Project> |
@@ -1,26 +0,0 @@ | |||||
using BPASmartClient.Device; | |||||
using BPASmartClient.Helper; | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Linq; | |||||
using System.Text; | |||||
using System.Threading.Tasks; | |||||
namespace BPASmartClient.DeviceProxy | |||||
{ | |||||
/// <summary> | |||||
/// 设备管理器,统一管理所有设备资源 | |||||
/// </summary> | |||||
public class DeviceMgr:Singleton<DeviceMgr> | |||||
{ | |||||
//设备集合 | |||||
private List<IDevice> devices=new List<IDevice>(); | |||||
/// <summary> | |||||
/// 设备加载 | |||||
/// </summary> | |||||
public void LoadDevice() { | |||||
} | |||||
} | |||||
} |
@@ -8,13 +8,9 @@ using System.Threading; | |||||
namespace HBLConsole.Communication | namespace HBLConsole.Communication | ||||
{ | { | ||||
public class MqttHelper | |||||
public class MqttHelper:Singleton<MqttHelper> | |||||
{ | { | ||||
private volatile static MqttHelper _Instance; | |||||
public static MqttHelper GetInstance => _Instance ?? (_Instance = new MqttHelper()); | |||||
private MqttHelper() { } | |||||
private IMqttClient client; | private IMqttClient client; | ||||
IMqttClientOptions options; | IMqttClientOptions options; | ||||
@@ -71,7 +67,10 @@ namespace HBLConsole.Communication | |||||
MessageLog.GetInstance.Show("MQTT连接成功!"); | MessageLog.GetInstance.Show("MQTT连接成功!"); | ||||
if (ConnectOk != null) ConnectOk(); | if (ConnectOk != null) ConnectOk(); | ||||
} | } | ||||
} | |||||
public async void Close() { | |||||
await client.DisconnectAsync(); | |||||
} | } | ||||
private void Reconnect() | private void Reconnect() | ||||
@@ -4,6 +4,10 @@ | |||||
<TargetFramework>net6.0</TargetFramework> | <TargetFramework>net6.0</TargetFramework> | ||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | |||||
<PackageReference Include="BPA.Message" Version="1.0.9" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | <ItemGroup> | ||||
<ProjectReference Include="..\BPASmartClient.Device\BPASmartClient.Device.csproj" /> | <ProjectReference Include="..\BPASmartClient.Device\BPASmartClient.Device.csproj" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
@@ -10,6 +10,8 @@ namespace BPASmartClient.MorkT | |||||
{ | { | ||||
public class Device_MorkT : BaseDevice | public class Device_MorkT : BaseDevice | ||||
{ | { | ||||
public override global::BPA.Message.Enum.DeviceClientType DeviceType { get { return BPA.Message.Enum.DeviceClientType.MORKIC; } } | |||||
public override void StartMain() | public override void StartMain() | ||||
{ | { | ||||
} | } | ||||
@@ -1,7 +0,0 @@ | |||||
namespace BPASmartClient.OrderProxy | |||||
{ | |||||
public class Class1 | |||||
{ | |||||
} | |||||
} |
@@ -0,0 +1,25 @@ | |||||
<?xml version="1.0" encoding="utf-8" ?> | |||||
<configuration> | |||||
<appSettings> | |||||
<!--通用配置--> | |||||
<!--测试服务 Consul 地址--> | |||||
<add key="ConsulAddress" value="http://111.9.47.105:9011/" /> | |||||
<!--正式服务 Consul 地址--> | |||||
<!--<add key="ConsulAddress" value="http://162.14.105.138:9005" />--> | |||||
<!--客户端ID--> | |||||
<!--1:且时且多冰淇淋咖啡机,2:且时且多煮面机,3:海科煮面机测试店铺--> | |||||
<add key="ClientId" value="12"/> | |||||
<add key="COM_Coffee" value="COM3"/> | |||||
<add key="BAUD_Coffee" value="115200"/> | |||||
<add key="COM_IceCream" value="COM12"/> | |||||
<add key="BAUD_IceCream" value="9600"/> | |||||
<add key="IceCream_CXB_Threshold" value="90"/> | |||||
<add key="COM_ICChip" value="COM6"/> | |||||
<add key="BAUD_IChip" value="9600"/> | |||||
</appSettings> | |||||
</configuration> |
@@ -5,6 +5,7 @@ | |||||
<TargetFramework>net6.0-windows</TargetFramework> | <TargetFramework>net6.0-windows</TargetFramework> | ||||
<Nullable>enable</Nullable> | <Nullable>enable</Nullable> | ||||
<UseWPF>true</UseWPF> | <UseWPF>true</UseWPF> | ||||
<StartupObject>BPASmartClient.App</StartupObject> | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -25,8 +25,8 @@ namespace BPASmartClient | |||||
{ | { | ||||
public MainWindow() | public MainWindow() | ||||
{ | { | ||||
Plugin.GetInstance().Init(); | |||||
InitializeComponent(); | InitializeComponent(); | ||||
new MainConsole().Start(); | |||||
} | } | ||||
private void Button_Click(object sender, RoutedEventArgs e) | private void Button_Click(object sender, RoutedEventArgs e) | ||||
@@ -41,8 +41,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.Helper", "BP | |||||
EndProject | EndProject | ||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.Message", "BPASmartClient.Message\BPASmartClient.Message.csproj", "{C517D33F-8800-405E-9D59-E1F6CA201431}" | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.Message", "BPASmartClient.Message\BPASmartClient.Message.csproj", "{C517D33F-8800-405E-9D59-E1F6CA201431}" | ||||
EndProject | EndProject | ||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.DeviceProxy", "BPASmartClient.DeviceProxy\BPASmartClient.DeviceProxy.csproj", "{9D26C2D6-CF32-4FB6-A15E-8A1455DACD69}" | |||||
EndProject | |||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.Status", "BPASmartClient.Status\BPASmartClient.Status.csproj", "{2C8DAB92-D5EB-4462-87C1-0BED75B26C54}" | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.Status", "BPASmartClient.Status\BPASmartClient.Status.csproj", "{2C8DAB92-D5EB-4462-87C1-0BED75B26C54}" | ||||
EndProject | EndProject | ||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.IoT", "BPASmartClient.IoT\BPASmartClient.IoT.csproj", "{D3DBCC2D-086E-4E3A-B70A-22A79FB295CF}" | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.IoT", "BPASmartClient.IoT\BPASmartClient.IoT.csproj", "{D3DBCC2D-086E-4E3A-B70A-22A79FB295CF}" | ||||
@@ -63,9 +61,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.OrderProxy", | |||||
EndProject | EndProject | ||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.MessageCommunication", "BPASmartClient.MessageCommunication\BPASmartClient.MessageCommunication.csproj", "{DCC07B39-E342-4841-B9E4-4D44DA2978FD}" | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.MessageCommunication", "BPASmartClient.MessageCommunication\BPASmartClient.MessageCommunication.csproj", "{DCC07B39-E342-4841-B9E4-4D44DA2978FD}" | ||||
EndProject | EndProject | ||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BPASmartClient.EventBus", "BPASmartClient.EventBus\BPASmartClient.EventBus.csproj", "{C7FC5FC8-4C72-4CD3-973E-327BDA880DF5}" | |||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.EventBus", "BPASmartClient.EventBus\BPASmartClient.EventBus.csproj", "{C7FC5FC8-4C72-4CD3-973E-327BDA880DF5}" | |||||
EndProject | EndProject | ||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BPASmartClient.Model", "BPASmartClient.Model\BPASmartClient.Model.csproj", "{268012B6-C4FC-4C40-802C-74D5FAD3CA45}" | |||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.Model", "BPASmartClient.Model\BPASmartClient.Model.csproj", "{268012B6-C4FC-4C40-802C-74D5FAD3CA45}" | |||||
EndProject | EndProject | ||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.Business", "BPASmartClient.Business\BPASmartClient.Business.csproj", "{EF5EF8EF-4A44-4E44-9594-D878CABC4182}" | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.Business", "BPASmartClient.Business\BPASmartClient.Business.csproj", "{EF5EF8EF-4A44-4E44-9594-D878CABC4182}" | ||||
EndProject | EndProject | ||||
@@ -74,7 +72,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution | |||||
.editorconfig = .editorconfig | .editorconfig = .editorconfig | ||||
EndProjectSection | EndProjectSection | ||||
EndProject | EndProject | ||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BPASmartClient.CustomResource", "BPASmartClient.CustomResource\BPASmartClient.CustomResource.csproj", "{CB1BC55F-D267-4724-89BE-96E3A5E432A6}" | |||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.CustomResource", "BPASmartClient.CustomResource\BPASmartClient.CustomResource.csproj", "{CB1BC55F-D267-4724-89BE-96E3A5E432A6}" | |||||
EndProject | EndProject | ||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lebai.SDK", "Lebai.SDK\Lebai.SDK.csproj", "{3A55F68A-D526-4CFC-A5A6-B69FB76716C2}" | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lebai.SDK", "Lebai.SDK\Lebai.SDK.csproj", "{3A55F68A-D526-4CFC-A5A6-B69FB76716C2}" | ||||
EndProject | EndProject | ||||
@@ -136,10 +134,6 @@ Global | |||||
{C517D33F-8800-405E-9D59-E1F6CA201431}.Debug|Any CPU.Build.0 = Debug|Any CPU | {C517D33F-8800-405E-9D59-E1F6CA201431}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||||
{C517D33F-8800-405E-9D59-E1F6CA201431}.Release|Any CPU.ActiveCfg = Release|Any CPU | {C517D33F-8800-405E-9D59-E1F6CA201431}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||||
{C517D33F-8800-405E-9D59-E1F6CA201431}.Release|Any CPU.Build.0 = Release|Any CPU | {C517D33F-8800-405E-9D59-E1F6CA201431}.Release|Any CPU.Build.0 = Release|Any CPU | ||||
{9D26C2D6-CF32-4FB6-A15E-8A1455DACD69}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |||||
{9D26C2D6-CF32-4FB6-A15E-8A1455DACD69}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||||
{9D26C2D6-CF32-4FB6-A15E-8A1455DACD69}.Release|Any CPU.ActiveCfg = Release|Any CPU | |||||
{9D26C2D6-CF32-4FB6-A15E-8A1455DACD69}.Release|Any CPU.Build.0 = Release|Any CPU | |||||
{2C8DAB92-D5EB-4462-87C1-0BED75B26C54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | {2C8DAB92-D5EB-4462-87C1-0BED75B26C54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||||
{2C8DAB92-D5EB-4462-87C1-0BED75B26C54}.Debug|Any CPU.Build.0 = Debug|Any CPU | {2C8DAB92-D5EB-4462-87C1-0BED75B26C54}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||||
{2C8DAB92-D5EB-4462-87C1-0BED75B26C54}.Release|Any CPU.ActiveCfg = Release|Any CPU | {2C8DAB92-D5EB-4462-87C1-0BED75B26C54}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||||
@@ -180,10 +174,6 @@ Global | |||||
{DCC07B39-E342-4841-B9E4-4D44DA2978FD}.Debug|Any CPU.Build.0 = Debug|Any CPU | {DCC07B39-E342-4841-B9E4-4D44DA2978FD}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||||
{DCC07B39-E342-4841-B9E4-4D44DA2978FD}.Release|Any CPU.ActiveCfg = Release|Any CPU | {DCC07B39-E342-4841-B9E4-4D44DA2978FD}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||||
{DCC07B39-E342-4841-B9E4-4D44DA2978FD}.Release|Any CPU.Build.0 = Release|Any CPU | {DCC07B39-E342-4841-B9E4-4D44DA2978FD}.Release|Any CPU.Build.0 = Release|Any CPU | ||||
{CB1BC55F-D267-4724-89BE-96E3A5E432A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |||||
{CB1BC55F-D267-4724-89BE-96E3A5E432A6}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||||
{CB1BC55F-D267-4724-89BE-96E3A5E432A6}.Release|Any CPU.ActiveCfg = Release|Any CPU | |||||
{CB1BC55F-D267-4724-89BE-96E3A5E432A6}.Release|Any CPU.Build.0 = Release|Any CPU | |||||
{C7FC5FC8-4C72-4CD3-973E-327BDA880DF5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | {C7FC5FC8-4C72-4CD3-973E-327BDA880DF5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||||
{C7FC5FC8-4C72-4CD3-973E-327BDA880DF5}.Debug|Any CPU.Build.0 = Debug|Any CPU | {C7FC5FC8-4C72-4CD3-973E-327BDA880DF5}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||||
{C7FC5FC8-4C72-4CD3-973E-327BDA880DF5}.Release|Any CPU.ActiveCfg = Release|Any CPU | {C7FC5FC8-4C72-4CD3-973E-327BDA880DF5}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||||
@@ -196,6 +186,10 @@ Global | |||||
{EF5EF8EF-4A44-4E44-9594-D878CABC4182}.Debug|Any CPU.Build.0 = Debug|Any CPU | {EF5EF8EF-4A44-4E44-9594-D878CABC4182}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||||
{EF5EF8EF-4A44-4E44-9594-D878CABC4182}.Release|Any CPU.ActiveCfg = Release|Any CPU | {EF5EF8EF-4A44-4E44-9594-D878CABC4182}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||||
{EF5EF8EF-4A44-4E44-9594-D878CABC4182}.Release|Any CPU.Build.0 = Release|Any CPU | {EF5EF8EF-4A44-4E44-9594-D878CABC4182}.Release|Any CPU.Build.0 = Release|Any CPU | ||||
{CB1BC55F-D267-4724-89BE-96E3A5E432A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |||||
{CB1BC55F-D267-4724-89BE-96E3A5E432A6}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||||
{CB1BC55F-D267-4724-89BE-96E3A5E432A6}.Release|Any CPU.ActiveCfg = Release|Any CPU | |||||
{CB1BC55F-D267-4724-89BE-96E3A5E432A6}.Release|Any CPU.Build.0 = Release|Any CPU | |||||
{3A55F68A-D526-4CFC-A5A6-B69FB76716C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | {3A55F68A-D526-4CFC-A5A6-B69FB76716C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||||
{3A55F68A-D526-4CFC-A5A6-B69FB76716C2}.Debug|Any CPU.Build.0 = Debug|Any CPU | {3A55F68A-D526-4CFC-A5A6-B69FB76716C2}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||||
{3A55F68A-D526-4CFC-A5A6-B69FB76716C2}.Release|Any CPU.ActiveCfg = Release|Any CPU | {3A55F68A-D526-4CFC-A5A6-B69FB76716C2}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||||
@@ -218,7 +212,6 @@ Global | |||||
{B399BCFF-82E8-4940-9CE5-B7DCDDFDC696} = {9FB27073-61A0-4FE3-94DB-5FDDE062332F} | {B399BCFF-82E8-4940-9CE5-B7DCDDFDC696} = {9FB27073-61A0-4FE3-94DB-5FDDE062332F} | ||||
{A2A5CB83-11C7-4534-A65D-6F957B60EEFF} = {1A9920BA-7C8D-4BDC-8D7D-6544A71AF3CF} | {A2A5CB83-11C7-4534-A65D-6F957B60EEFF} = {1A9920BA-7C8D-4BDC-8D7D-6544A71AF3CF} | ||||
{C517D33F-8800-405E-9D59-E1F6CA201431} = {1A9920BA-7C8D-4BDC-8D7D-6544A71AF3CF} | {C517D33F-8800-405E-9D59-E1F6CA201431} = {1A9920BA-7C8D-4BDC-8D7D-6544A71AF3CF} | ||||
{9D26C2D6-CF32-4FB6-A15E-8A1455DACD69} = {6CEA3385-6F62-452A-8275-033A6037235D} | |||||
{2C8DAB92-D5EB-4462-87C1-0BED75B26C54} = {6CEA3385-6F62-452A-8275-033A6037235D} | {2C8DAB92-D5EB-4462-87C1-0BED75B26C54} = {6CEA3385-6F62-452A-8275-033A6037235D} | ||||
{D3DBCC2D-086E-4E3A-B70A-22A79FB295CF} = {6CEA3385-6F62-452A-8275-033A6037235D} | {D3DBCC2D-086E-4E3A-B70A-22A79FB295CF} = {6CEA3385-6F62-452A-8275-033A6037235D} | ||||
{2BA531E8-7F85-4EBF-AE97-811CD7C83EF2} = {8712125E-14CD-4E1B-A1CE-4BDE03805942} | {2BA531E8-7F85-4EBF-AE97-811CD7C83EF2} = {8712125E-14CD-4E1B-A1CE-4BDE03805942} | ||||
@@ -229,10 +222,10 @@ Global | |||||
{9F5E2879-972A-45FB-913C-89E9F0CEB189} = {666CB1A9-562E-453A-A2C7-FD9D77CFDFDD} | {9F5E2879-972A-45FB-913C-89E9F0CEB189} = {666CB1A9-562E-453A-A2C7-FD9D77CFDFDD} | ||||
{EBDFF87C-0B98-4BB5-8760-D86964E38A88} = {6CEA3385-6F62-452A-8275-033A6037235D} | {EBDFF87C-0B98-4BB5-8760-D86964E38A88} = {6CEA3385-6F62-452A-8275-033A6037235D} | ||||
{DCC07B39-E342-4841-B9E4-4D44DA2978FD} = {3D1D0E04-03FD-480A-8CF8-6E01A2E28625} | {DCC07B39-E342-4841-B9E4-4D44DA2978FD} = {3D1D0E04-03FD-480A-8CF8-6E01A2E28625} | ||||
{CB1BC55F-D267-4724-89BE-96E3A5E432A6} = {8712125E-14CD-4E1B-A1CE-4BDE03805942} | |||||
{C7FC5FC8-4C72-4CD3-973E-327BDA880DF5} = {1A9920BA-7C8D-4BDC-8D7D-6544A71AF3CF} | {C7FC5FC8-4C72-4CD3-973E-327BDA880DF5} = {1A9920BA-7C8D-4BDC-8D7D-6544A71AF3CF} | ||||
{268012B6-C4FC-4C40-802C-74D5FAD3CA45} = {1A9920BA-7C8D-4BDC-8D7D-6544A71AF3CF} | {268012B6-C4FC-4C40-802C-74D5FAD3CA45} = {1A9920BA-7C8D-4BDC-8D7D-6544A71AF3CF} | ||||
{EF5EF8EF-4A44-4E44-9594-D878CABC4182} = {6CEA3385-6F62-452A-8275-033A6037235D} | {EF5EF8EF-4A44-4E44-9594-D878CABC4182} = {6CEA3385-6F62-452A-8275-033A6037235D} | ||||
{CB1BC55F-D267-4724-89BE-96E3A5E432A6} = {8712125E-14CD-4E1B-A1CE-4BDE03805942} | |||||
{3A55F68A-D526-4CFC-A5A6-B69FB76716C2} = {666CB1A9-562E-453A-A2C7-FD9D77CFDFDD} | {3A55F68A-D526-4CFC-A5A6-B69FB76716C2} = {666CB1A9-562E-453A-A2C7-FD9D77CFDFDD} | ||||
EndGlobalSection | EndGlobalSection | ||||
GlobalSection(ExtensibilityGlobals) = postSolution | GlobalSection(ExtensibilityGlobals) = postSolution | ||||