diff --git a/SlnMesnac.Business/SlnMesnac.Business.csproj b/SlnMesnac.Business/SlnMesnac.Business.csproj
index 4e2cf5e..8ef8970 100644
--- a/SlnMesnac.Business/SlnMesnac.Business.csproj
+++ b/SlnMesnac.Business/SlnMesnac.Business.csproj
@@ -5,9 +5,4 @@
enable
-
-
-
-
-
diff --git a/SlnMesnac.Business/base/BaseBusiness.cs b/SlnMesnac.Business/base/BaseBusiness.cs
deleted file mode 100644
index 644ff4d..0000000
--- a/SlnMesnac.Business/base/BaseBusiness.cs
+++ /dev/null
@@ -1,106 +0,0 @@
-using SlnMesnac.Plc;
-using SlnMesnac.Rfid;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-#region << 版 本 注 释 >>
-/*--------------------------------------------------------------------
-* 版权所有 (c) 2024 WenJY 保留所有权利。
-* CLR版本:4.0.30319.42000
-* 机器名称:LAPTOP-E0N2L34V
-* 命名空间:SlnMesnac.Business.base
-* 唯一标识:b00d95c1-a164-43a3-9f34-2a5d2efb3f34
-*
-* 创建者:WenJY
-* 电子邮箱:wenjy@mesnac.com
-* 创建时间:2024-04-12 17:36:19
-* 版本:V1.0.0
-* 描述:
-*
-*--------------------------------------------------------------------
-* 修改人:
-* 时间:
-* 修改说明:
-*
-* 版本:V1.0.0
-*--------------------------------------------------------------------*/
-#endregion << 版 本 注 释 >>
-namespace SlnMesnac.Business.@base
-{
- internal class BaseBusiness
- {
- private readonly List _plcFactories;
-
- private readonly List _rfidFactories;
-
- public BaseBusiness(List plcFactories, List rfidFactories)
- {
- _plcFactories = plcFactories;
- _rfidFactories = rfidFactories;
- }
-
- ///
- /// 根据Key获取PLC连接信息
- ///
- ///
- ///
- ///
- ///
- public PlcAbsractFactory GetPlcByKey(string key)
- {
- if(_plcFactories == null)
- {
- throw new ArgumentNullException($"根据Key获取PLC连接信息异常:PLC 连接信息为空");
- }
-
- if (string.IsNullOrEmpty(key))
- {
- throw new ArgumentNullException("根据Key获取PLC连接信息异常:设备Key参数为空");
- }
-
- try
- {
- var info = _plcFactories.Where(x => x.ConfigKey == key).FirstOrDefault();
-
- return info;
- }catch(Exception ex)
- {
- throw new InvalidOperationException($"根据Key获取PLC连接信息异常:{ex.Message}");
- }
- }
-
-
- ///
- /// 根据Key获取Rfid连接信息
- ///
- ///
- ///
- ///
- ///
- public RfidAbsractFactory GetRfidByKey(string key)
- {
- if (_rfidFactories == null)
- {
- throw new ArgumentNullException($"根据Key获取RFID连接信息异常:PLC 连接信息为空");
- }
-
- if (string.IsNullOrEmpty(key))
- {
- throw new ArgumentNullException("根据Key获取RFID连接信息异常:设备Key参数为空");
- }
-
- try
- {
- var info = _rfidFactories.Where(x => x.ConfigKey == key).FirstOrDefault();
-
- return info;
- }
- catch (Exception ex)
- {
- throw new InvalidOperationException($"根据Key获取RFID连接信息异常:{ex.Message}");
- }
- }
- }
-}
diff --git a/SlnMesnac.Extensions/PlcFactorySetup.cs b/SlnMesnac.Extensions/PlcFactorySetup.cs
deleted file mode 100644
index 3298593..0000000
--- a/SlnMesnac.Extensions/PlcFactorySetup.cs
+++ /dev/null
@@ -1,131 +0,0 @@
-using Microsoft.AspNetCore.Builder;
-using Microsoft.Extensions.DependencyInjection;
-using Serilog;
-using SlnMesnac.Config;
-using SlnMesnac.Plc;
-using SlnMesnac.Plc.Factory;
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-#region << 版 本 注 释 >>
-/*--------------------------------------------------------------------
-* 版权所有 (c) 2024 WenJY 保留所有权利。
-* CLR版本:4.0.30319.42000
-* 机器名称:LAPTOP-E0N2L34V
-* 命名空间:SlnMesnac.Extensions
-* 唯一标识:9bf604b4-3937-476a-adb0-27adc6fbea28
-*
-* 创建者:WenJY
-* 电子邮箱:wenjy@mesnac.com
-* 创建时间:2024-04-12 15:25:47
-* 版本:V1.0.0
-* 描述:
-*
-*--------------------------------------------------------------------
-* 修改人:
-* 时间:
-* 修改说明:
-*
-* 版本:V1.0.0
-*--------------------------------------------------------------------*/
-#endregion << 版 本 注 释 >>
-namespace SlnMesnac.Extensions
-{
- ///
- /// PLC工厂
- ///
- public static class PlcFactorySetup
- {
-
- public static void AddPlcFactorySetup(this IServiceCollection services)
- {
- services.AddSingleton>(x =>
- {
- AppConfig appConfig = x.GetService();
-
- List absractFactories = new List();
-
- try
- {
- do
- {
- if (!HslCommunication.Authorization.SetAuthorizationCode("1839541f-8fb4-42c4-a13f-733b027fe5af"))
- {
- Log.Information("HslCommunication激活失败,可用时长为24小时");
- break;
- }
- else
- {
- Log.Information("HslCommunication激活成功");
- }
-
- if (appConfig.plcConfig != null)
- {
- foreach (var item in appConfig.plcConfig)
- {
- if (item.isFlage)
- {
- PlcAbsractFactory _plc = InitPlc(x, item.plcType);
-
- var connectResult = _plc.Connect(item.plcIp, item.plcPort);
- if (connectResult)
- {
- Log.Information($"PLC:{item.plcIp}:{item.plcPort};连接成功,时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
- _plc.ConfigKey = item.plcKey;
-
- if (absractFactories.Contains(_plc))
- {
- absractFactories.Remove(_plc);
- }
-
- absractFactories.Add(_plc);
- }
- else
- {
- Log.Information($"PLC:{item.plcIp}:{item.plcPort};连接失败,时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
- }
- }
- }
- }
- }while(false);
- }
- catch (Exception e)
- {
- Log.Error($"PLC初始化连接异常:{e.Message}");
- }
-
- return absractFactories;
- });
- }
-
- private static PlcAbsractFactory InitPlc(IServiceProvider serviceProvider,string plcType)
- {
- PlcAbsractFactory _plc = null;
- var _inovance = serviceProvider.GetRequiredService();
- var _melsecBinary = serviceProvider.GetRequiredService();
- var _omronNj = serviceProvider.GetRequiredService();
- var _siemens = serviceProvider.GetRequiredService();
-
- switch (plcType)
- {
- case "InovancePlc":
- _plc = _inovance;
- break;
- case "MelsecBinaryPlc":
- _plc = _melsecBinary;
- break;
- case "OmronNJPlc":
- _plc = _omronNj;
- break;
- case "SiemensPlc":
- _plc = _siemens;
- break;
- default:
- break;
- }
-
- return _plc;
- }
- }
-}
diff --git a/SlnMesnac.Extensions/RfidFactorySetup.cs b/SlnMesnac.Extensions/RfidFactorySetup.cs
deleted file mode 100644
index ac5e29f..0000000
--- a/SlnMesnac.Extensions/RfidFactorySetup.cs
+++ /dev/null
@@ -1,87 +0,0 @@
-using Microsoft.Extensions.DependencyInjection;
-using Serilog;
-using SlnMesnac.Config;
-using SlnMesnac.Plc;
-using SlnMesnac.Rfid;
-using SlnMesnac.Rfid.Factory;
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-#region << 版 本 注 释 >>
-/*--------------------------------------------------------------------
-* 版权所有 (c) 2024 WenJY 保留所有权利。
-* CLR版本:4.0.30319.42000
-* 机器名称:LAPTOP-E0N2L34V
-* 命名空间:SlnMesnac.Extensions
-* 唯一标识:007aaf92-2adf-42a1-8b64-4e02925e3d5b
-*
-* 创建者:WenJY
-* 电子邮箱:wenjy@mesnac.com
-* 创建时间:2024-04-12 17:08:27
-* 版本:V1.0.0
-* 描述:
-*
-*--------------------------------------------------------------------
-* 修改人:
-* 时间:
-* 修改说明:
-*
-* 版本:V1.0.0
-*--------------------------------------------------------------------*/
-#endregion << 版 本 注 释 >>
-namespace SlnMesnac.Extensions
-{
- public static class RfidFactorySetup
- {
- public static void AddRfidFactorySetup(this IServiceCollection services)
- {
- services.AddSingleton>(x =>
- {
- AppConfig appConfig = x.GetService();
- List absractFactories = new List();
-
- try
- {
- if (appConfig.rfidConfig != null)
- {
- foreach (var item in appConfig.rfidConfig)
- {
- if (item.isFlage)
- {
- RfidAbsractFactory _rfid = x.GetService();
- bool connectResult = _rfid.Connect(item.equipIp, item.equipPort);
- if (connectResult)
- {
- Log.Information($"RFID:{item.equipIp}:{item.equipPort};连接成功,时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
- _rfid.ConfigKey = item.equipKey;
-
- if (absractFactories.Contains(_rfid))
- {
- absractFactories.Remove(_rfid);
- }
-
- absractFactories.Add(_rfid);
- }
- else
- {
- Log.Information($"RFID:{item.equipIp}:{item.equipPort};连接失败,时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
- }
- }
- }
- }
- else
- {
- Log.Error("RFID配置信息为空");
- }
- }
- catch (Exception e)
- {
- Log.Error($"RFID初始化连接异常:{e.Message}");
- }
-
- return absractFactories;
- });
- }
- }
-}
diff --git a/SlnMesnac.Extensions/SlnMesnac.Extensions.csproj b/SlnMesnac.Extensions/SlnMesnac.Extensions.csproj
index cd6c9bd..5f586a4 100644
--- a/SlnMesnac.Extensions/SlnMesnac.Extensions.csproj
+++ b/SlnMesnac.Extensions/SlnMesnac.Extensions.csproj
@@ -7,8 +7,7 @@
-
-
+
diff --git a/SlnMesnac.Ioc/DependencyConfigurator.cs b/SlnMesnac.Ioc/DependencyConfigurator.cs
index 6234bb9..d995721 100644
--- a/SlnMesnac.Ioc/DependencyConfigurator.cs
+++ b/SlnMesnac.Ioc/DependencyConfigurator.cs
@@ -42,27 +42,15 @@ namespace SlnMesnac.Ioc
builder.RegisterGeneric(typeof(Repository<>)).As(typeof(Repository<>));
RegisterImplementations(builder, Assembly.LoadFrom("SlnMesnac.Repository.dll"));
- //注入Plc
- RegisterTypeTransient(builder, Assembly.LoadFrom("SlnMesnac.Plc.dll"));
-
- //注入Rfid
- RegisterTypeTransient(builder, Assembly.LoadFrom("SlnMesnac.Rfid.dll"));
-
//注入通用类
RegisterType(builder, Assembly.LoadFrom("SlnMesnac.Common.dll"));
- //注入MQTT
- RegisterType(builder, Assembly.LoadFrom("SlnMesnac.Mqtt.dll"));
-
//注入TouchSocket
builder.RegisterType(typeof(TcpService));
RegisterType(builder, Assembly.LoadFrom("SlnMesnac.TouchSocket.dll"));
//注入业务类
RegisterType(builder, Assembly.LoadFrom("SlnMesnac.Business.dll"));
-
- //注入代码生成
- RegisterType(builder, Assembly.LoadFrom("SlnMesnac.Generate.dll"));
}
diff --git a/SlnMesnac.TouchSocket/ApiServer.cs b/SlnMesnac.TouchSocket/ApiServer.cs
deleted file mode 100644
index d704959..0000000
--- a/SlnMesnac.TouchSocket/ApiServer.cs
+++ /dev/null
@@ -1,109 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using TouchSocket.Rpc;
-using TouchSocket.WebApi;
-
-#region << 版 本 注 释 >>
-/*--------------------------------------------------------------------
-* 版权所有 (c) 2024 WenJY 保留所有权利。
-* CLR版本:4.0.30319.42000
-* 机器名称:T14-GEN3-7895
-* 命名空间:SlnMesnac.TouchSocket
-* 唯一标识:649766cc-308e-4bf3-8d69-dea48ec40642
-*
-* 创建者:WenJY
-* 电子邮箱:
-* 创建时间:2024-09-04 10:51:54
-* 版本:V1.0.0
-* 描述:
-*
-*--------------------------------------------------------------------
-* 修改人:
-* 时间:
-* 修改说明:
-*
-* 版本:V1.0.0
-*--------------------------------------------------------------------*/
-#endregion << 版 本 注 释 >>
-namespace SlnMesnac.TouchSocket
-{
- public class ApiServer: RpcServer
- {
-
- public delegate void RefreshScanInfoInCenterStart();
- ///
- /// 入库开始事件刷新
- ///
- public event RefreshScanInfoInCenterStart RefreshScanInfoInCenterStartEvent;
-
- public delegate void RefreshScanInfoInCenterStop();
- ///
- /// 入库结束事件刷新
- ///
- public event RefreshScanInfoInCenterStop RefreshScanInfoInCenterStopEvent;
-
- public delegate void RefreshScanInfoOutCenterStart();
- ///
- /// 出库开始事件刷新
- ///
- public event RefreshScanInfoOutCenterStart RefreshScanInfoOutCenterStartEvent;
-
- public delegate void RefreshScanInfoOutCenterStop();
- ///
- /// 出库结束事件刷新
- ///
- public event RefreshScanInfoOutCenterStop RefreshScanInfoOutCenterStopEvent;
-
- ///
- /// 入库开始
- ///
- ///
- ///
- [EnableCors("cors")]
- [WebApi(HttpMethodType.POST)]
- public object getScanInfoInCenterStart(string messageHeader)
- {
- RefreshScanInfoInCenterStartEvent?.Invoke();
- return true;
- }
-
- ///
- /// 入库结束
- ///
- ///
- ///
- [EnableCors("cors")]
- [WebApi(HttpMethodType.POST)]
- public object getScanInfoInCenterStop(string messageHeader)
- {
- RefreshScanInfoInCenterStopEvent?.Invoke();
- return true;
- }
-
- ///
- /// 出库开始
- ///
- ///
- ///
- [WebApi(HttpMethodType.POST)]
- public object getScanInfoOutCenterStart(string messageHeader)
- {
- RefreshScanInfoOutCenterStartEvent?.Invoke();
- return true;
- }
-
- ///
- /// 出库结束
- ///
- ///
- ///
- [WebApi(HttpMethodType.POST)]
- public object getScanInfoOutCenterStop(string messageHeader)
- {
- RefreshScanInfoOutCenterStopEvent?.Invoke();
- return true;
- }
-
- }
-}
diff --git a/SlnMesnac.TouchSocket/TouchSocketSetup.cs b/SlnMesnac.TouchSocket/TouchSocketSetup.cs
index 637d77f..de34f28 100644
--- a/SlnMesnac.TouchSocket/TouchSocketSetup.cs
+++ b/SlnMesnac.TouchSocket/TouchSocketSetup.cs
@@ -40,8 +40,6 @@ namespace SlnMesnac.TouchSocket
var _server = app.ApplicationServices.GetService();
_server.Init(20108);
- var _apiServer = app.ApplicationServices.GetService();
- _apiServer.Init();
return app;
}
}
diff --git a/SlnMesnac.TouchSocket/WebApiServer.cs b/SlnMesnac.TouchSocket/WebApiServer.cs
deleted file mode 100644
index 7c85740..0000000
--- a/SlnMesnac.TouchSocket/WebApiServer.cs
+++ /dev/null
@@ -1,112 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Threading.Tasks;
-using TouchSocket.Core;
-using TouchSocket.Http;
-using TouchSocket.Rpc;
-using TouchSocket.Sockets;
-using TouchSocket.WebApi.Swagger;
-
-#region << 版 本 注 释 >>
-/*--------------------------------------------------------------------
-* 版权所有 (c) 2024 WenJY 保留所有权利。
-* CLR版本:4.0.30319.42000
-* 机器名称:T14-GEN3-7895
-* 命名空间:SlnMesnac.TouchSocket
-* 唯一标识:4e47989b-9d43-426e-b67a-529de3b1b0e8
-*
-* 创建者:WenJY
-* 电子邮箱:
-* 创建时间:2024-09-04 10:51:29
-* 版本:V1.0.0
-* 描述:
-*
-*--------------------------------------------------------------------
-* 修改人:
-* 时间:
-* 修改说明:
-*
-* 版本:V1.0.0
-*--------------------------------------------------------------------*/
-#endregion << 版 本 注 释 >>
-namespace SlnMesnac.TouchSocket
-{
- public class WebApiServer
- {
- private ApiServer _apiServer;
-
- public WebApiServer(ApiServer apiServer)
- {
- _apiServer = apiServer;
- }
-
- public void Init()
- {
- try
- {
- var service = new HttpService();
- service.Setup(new TouchSocketConfig()
- .SetListenIPHosts(7789)
- .ConfigureContainer(a =>
- {
- a.AddRpcStore(store =>
- {
-
- store.RegisterServer(_apiServer);//注册服务
- });
-
- a.AddCors(corsOption =>
- {
- corsOption.Add("cors", corsBuilder =>
- {
- corsBuilder.AllowAnyMethod()
- .AllowAnyOrigin();
- });
- });
-
- a.AddLogger(logger =>
- {
- logger.AddConsoleLogger();
- logger.AddFileLogger();
- });
- })
- .ConfigurePlugins(a =>
- {
- a.UseCheckClear();
-
- a.Add();
-
- a.UseWebApi()
- .ConfigureConverter(converter =>
- {
- converter.AddJsonSerializerFormatter(new Newtonsoft.Json.JsonSerializerSettings() { Formatting = Newtonsoft.Json.Formatting.None });
- });
-
- a.UseSwagger();//使用Swagger页面
- //.UseLaunchBrowser();
-
- a.UseDefaultHttpServicePlugin();
- }));
- service.Start();
-
- Console.WriteLine("以下连接用于测试webApi");
- Console.WriteLine($"使用:http://127.0.0.1:7789/swagger/index.html");
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.ToString());
- }
-
- //Console.ReadLine();
- }
- }
-
- internal class AuthenticationPlugin : PluginBase, IHttpPlugin
- {
- public async Task OnHttpRequest(IHttpSocketClient client, HttpContextEventArgs e)
- {
- await e.InvokeNext();
- }
- }
-}
diff --git a/SlnMesnac.WPF/App.xaml.cs b/SlnMesnac.WPF/App.xaml.cs
index ec3de3a..2b8b38b 100644
--- a/SlnMesnac.WPF/App.xaml.cs
+++ b/SlnMesnac.WPF/App.xaml.cs
@@ -7,10 +7,6 @@ using SlnMesnac.Config;
using System;
using System.Windows;
using Autofac.Extensions.DependencyInjection;
-using SlnMesnac.Plc;
-using System.Collections.Generic;
-using SlnMesnac.Rfid;
-
namespace SlnMesnac.WPF
{
///
diff --git a/SlnMesnac.WPF/MainWindow.xaml b/SlnMesnac.WPF/MainWindow.xaml
index 150870a..6c6a0a4 100644
--- a/SlnMesnac.WPF/MainWindow.xaml
+++ b/SlnMesnac.WPF/MainWindow.xaml
@@ -62,7 +62,6 @@
-
diff --git a/SlnMesnac.WPF/Page/Generate/GenerateControl.xaml b/SlnMesnac.WPF/Page/Generate/GenerateControl.xaml
deleted file mode 100644
index a0cb758..0000000
--- a/SlnMesnac.WPF/Page/Generate/GenerateControl.xaml
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/SlnMesnac.WPF/Page/Generate/GenerateControl.xaml.cs b/SlnMesnac.WPF/Page/Generate/GenerateControl.xaml.cs
deleted file mode 100644
index fd5a96e..0000000
--- a/SlnMesnac.WPF/Page/Generate/GenerateControl.xaml.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using SlnMesnac.WPF.ViewModel.Generate;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-
-namespace SlnMesnac.WPF.Page.Generate
-{
- ///
- /// GenerateControl.xaml 的交互逻辑
- ///
- public partial class GenerateControl : UserControl
- {
- public GenerateControl()
- {
- InitializeComponent();
- this.DataContext = new GenerateControlViewModel();
- }
- }
-}
diff --git a/SlnMesnac.WPF/SlnMesnac.WPF.csproj b/SlnMesnac.WPF/SlnMesnac.WPF.csproj
index 13b1f23..4891000 100644
--- a/SlnMesnac.WPF/SlnMesnac.WPF.csproj
+++ b/SlnMesnac.WPF/SlnMesnac.WPF.csproj
@@ -23,14 +23,10 @@
-
-
-
-
@@ -47,4 +43,8 @@
+
+
+
+
diff --git a/SlnMesnac.WPF/Startup.cs b/SlnMesnac.WPF/Startup.cs
index e4251dc..502d594 100644
--- a/SlnMesnac.WPF/Startup.cs
+++ b/SlnMesnac.WPF/Startup.cs
@@ -3,14 +3,11 @@ using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using SlnMesnac.Config;
-using SlnMesnac.Repository;
using SlnMesnac.Serilog;
using System;
using Autofac;
using Microsoft.Extensions.Configuration;
-using SlnMesnac.Rfid;
using SlnMesnac.Ioc;
-using SlnMesnac.Plc;
using SlnMesnac.Extensions;
using SlnMesnac.TouchSocket;
@@ -40,12 +37,6 @@ namespace SlnMesnac.WPF
//注册ORM
services.AddSqlSugarSetup();
-
- //注册PLC工厂
- services.AddPlcFactorySetup();
-
- //注册RFID工厂
- services.AddRfidFactorySetup();
}
///
diff --git a/SlnMesnac.WPF/ViewModel/Generate/GenerateControlViewModel.cs b/SlnMesnac.WPF/ViewModel/Generate/GenerateControlViewModel.cs
deleted file mode 100644
index e6e18cc..0000000
--- a/SlnMesnac.WPF/ViewModel/Generate/GenerateControlViewModel.cs
+++ /dev/null
@@ -1,163 +0,0 @@
-using GalaSoft.MvvmLight;
-using GalaSoft.MvvmLight.Command;
-using HslCommunication.LogNet;
-using Microsoft.Extensions.DependencyInjection;
-using Microsoft.WindowsAPICodePack.Dialogs;
-using SlnMesnac.Config;
-using SlnMesnac.Generate;
-using SqlSugar;
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.Data;
-using System.IO;
-using System.Linq;
-using System.Windows;
-
-#region << 版 本 注 释 >>
-/*--------------------------------------------------------------------
-* 版权所有 (c) 2024 WenJY 保留所有权利。
-* CLR版本:4.0.30319.42000
-* 机器名称:LAPTOP-E0N2L34V
-* 命名空间:SlnMesnac.WPF.ViewModel.Generate
-* 唯一标识:7f1ddac5-3ff3-4974-ac90-d6eb684167c8
-*
-* 创建者:WenJY
-* 电子邮箱:wenjy@mesnac.com
-* 创建时间:2024-04-11 09:31:46
-* 版本:V1.0.0
-* 描述:
-*
-*--------------------------------------------------------------------
-* 修改人:
-* 时间:
-* 修改说明:
-*
-* 版本:V1.0.0
-*--------------------------------------------------------------------*/
-#endregion << 版 本 注 释 >>
-namespace SlnMesnac.WPF.ViewModel.Generate
-{
- internal class GenerateControlViewModel : ViewModelBase
- {
- private readonly AppConfig _appConfig;
-
- private readonly GenerateCode _generateCode;
-
- public GenerateControlViewModel()
- {
- _appConfig = App.ServiceProvider.GetService();
-
- _generateCode = App.ServiceProvider.GetService();
-
- var configIds = _appConfig.sqlConfig.Select(x=>x.configId).ToList();
-
- // 初始化选项列表
- Options = new ObservableCollection();
-
- foreach(var configId in configIds)
- {
- Options.Add(configId);
- }
-
- QuerySearchCommand = new RelayCommand(Query);
-
- CreateCodeCommand = new RelayCommand(CreateCode);
- }
-
- #region 参数定义
- private ObservableCollection _options;
- public ObservableCollection Options
- {
- get { return _options; }
- set
- {
- _options = value;
- RaisePropertyChanged(nameof(Options));
- }
- }
-
- private string _selectedOption;
- public string SelectedOption
- {
- get { return _selectedOption; }
- set
- {
- _selectedOption = value;
- RaisePropertyChanged(nameof(SelectedOption));
- }
- }
-
- private ObservableCollection tablesDataGrid;
-
- public ObservableCollection TablesDataGrid
- {
- get { return tablesDataGrid; }
- set { tablesDataGrid = value; RaisePropertyChanged(() => TablesDataGrid); }
-
- }
- #endregion
-
- #region 事件定义
- public RelayCommand QuerySearchCommand { get; set; }
-
- public RelayCommand CreateCodeCommand { get;set; }
- #endregion
-
- ///
- /// 查询事件
- ///
- ///
- private void Query(string search)
- {
- var configId = _selectedOption;
-
- if (!string.IsNullOrEmpty(configId))
- {
- var db = App.ServiceProvider.GetService();
- var scope = db.AsTenant().GetConnectionScope(configId);
-
- List tables = scope.DbMaintenance.GetTableInfoList(false);
-
- if(tables != null)
- {
- TablesDataGrid = new ObservableCollection();
- tables.ForEach(t => { TablesDataGrid.Add(t); });
- }
- }
-
-
- }
-
- private void CreateCode(string tableName)
- {
- var info = tableName;
- var configId = _selectedOption;
-
- string nameSpace = "SlnMesnac.Repository";
-
- try
- {
- using (CommonOpenFileDialog dialog = new CommonOpenFileDialog())
- {
- dialog.IsFolderPicker = true; // 设置为选择文件夹
- if (dialog.ShowDialog() == CommonFileDialogResult.Ok)
- {
- string selectedPath = dialog.FileName;
-
- var res = _generateCode.CreateCode(configId, tableName, selectedPath, nameSpace);
-
- if (res)
- {
- MessageBox.Show($"{tableName}代码生成成功");
- }
- }
- }
- }catch(Exception ex)
- {
- MessageBox.Show($"{tableName}代码生成失败:{ex.Message}");
- }
- }
-
- }
-}
diff --git a/SlnMesnac.WPF/ViewModel/MainWindowViewModel.cs b/SlnMesnac.WPF/ViewModel/MainWindowViewModel.cs
index 104526c..566e0fd 100644
--- a/SlnMesnac.WPF/ViewModel/MainWindowViewModel.cs
+++ b/SlnMesnac.WPF/ViewModel/MainWindowViewModel.cs
@@ -2,7 +2,6 @@
using GalaSoft.MvvmLight.Command;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
-using SlnMesnac.WPF.Page.Generate;
using System;
using System.Windows;
@@ -12,9 +11,6 @@ namespace SlnMesnac.WPF.ViewModel
{
private readonly ILogger _logger;
- //代码生成
- private readonly GenerateControl generateControl = new GenerateControl();
-
#region 参数定义
///
/// PLC设备状态
@@ -103,7 +99,7 @@ namespace SlnMesnac.WPF.ViewModel
Application.Current.Shutdown();
break;
case "Generate":
- UserContent = generateControl;
+
break;
// 还原 或者 最大化当前窗口
case "Normal":
diff --git a/SlnMesnac.sln b/SlnMesnac.sln
index b713cfb..c1cc28c 100644
--- a/SlnMesnac.sln
+++ b/SlnMesnac.sln
@@ -3,8 +3,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.5.33502.453
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SlnMesnac", "SlnMesnac\SlnMesnac.csproj", "{19445879-B3F3-4C76-A670-EFAE9E25BAB4}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SlnMesnac.Common", "SlnMesnac.Common\SlnMesnac.Common.csproj", "{BB71F26A-7007-423E-83E9-7A3BAC25E934}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SlnMesnac.Config", "SlnMesnac.Config\SlnMesnac.Config.csproj", "{6EF7F087-7149-4689-885C-E0D05E1A9AA8}"
@@ -17,25 +15,15 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SlnMesnac.Quartz", "SlnMesn
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SlnMesnac.Serilog", "SlnMesnac.Serilog\SlnMesnac.Serilog.csproj", "{DEE2F305-733C-47C8-891C-502121ABAD00}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SlnMesnac.Plc", "SlnMesnac.Plc\SlnMesnac.Plc.csproj", "{D17E9024-9D25-4CE4-8E98-8A6C859CE436}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SlnMesnac.WPF", "SlnMesnac.WPF\SlnMesnac.WPF.csproj", "{B986555B-86D1-457A-95F5-B9135B9FBC55}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SlnMesnac.Business", "SlnMesnac.Business\SlnMesnac.Business.csproj", "{90296C1E-932E-4CD3-9B11-4376746C4C87}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SlnMesnac.TouchSocket", "SlnMesnac.TouchSocket\SlnMesnac.TouchSocket.csproj", "{3700E2BB-09C4-43C0-A9DC-C18137B76591}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SlnMesnac.Mqtt", "SlnMesnac.Mqtt\SlnMesnac.Mqtt.csproj", "{7D908FF5-88AE-42AB-A193-F2896EF44AB1}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SlnMesnac.Rfid", "SlnMesnac.Rfid\SlnMesnac.Rfid.csproj", "{40D23A4B-8372-4145-936C-08AE63C6D1F9}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SlnMesnac.Ioc", "SlnMesnac.Ioc\SlnMesnac.Ioc.csproj", "{30A3F86B-774E-4153-9A00-FD3173C710EB}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SlnMesnac.Generate", "SlnMesnac.Generate\SlnMesnac.Generate.csproj", "{00FC9358-2381-4C1B-BD45-6D31DD1DB7D3}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SlnMesnac.Extensions", "SlnMesnac.Extensions\SlnMesnac.Extensions.csproj", "{6D929802-24AA-42A7-92C5-303C3D59A990}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SlnMesnac.Redis", "SlnMesnac.Redis\SlnMesnac.Redis.csproj", "{0E041719-E755-43CD-8A0E-DF62E0B2E463}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SlnMesnac.Extensions", "SlnMesnac.Extensions\SlnMesnac.Extensions.csproj", "{6D929802-24AA-42A7-92C5-303C3D59A990}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -43,10 +31,6 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {19445879-B3F3-4C76-A670-EFAE9E25BAB4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {19445879-B3F3-4C76-A670-EFAE9E25BAB4}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {19445879-B3F3-4C76-A670-EFAE9E25BAB4}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {19445879-B3F3-4C76-A670-EFAE9E25BAB4}.Release|Any CPU.Build.0 = Release|Any CPU
{BB71F26A-7007-423E-83E9-7A3BAC25E934}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BB71F26A-7007-423E-83E9-7A3BAC25E934}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BB71F26A-7007-423E-83E9-7A3BAC25E934}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -71,10 +55,6 @@ Global
{DEE2F305-733C-47C8-891C-502121ABAD00}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DEE2F305-733C-47C8-891C-502121ABAD00}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DEE2F305-733C-47C8-891C-502121ABAD00}.Release|Any CPU.Build.0 = Release|Any CPU
- {D17E9024-9D25-4CE4-8E98-8A6C859CE436}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D17E9024-9D25-4CE4-8E98-8A6C859CE436}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D17E9024-9D25-4CE4-8E98-8A6C859CE436}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D17E9024-9D25-4CE4-8E98-8A6C859CE436}.Release|Any CPU.Build.0 = Release|Any CPU
{B986555B-86D1-457A-95F5-B9135B9FBC55}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B986555B-86D1-457A-95F5-B9135B9FBC55}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B986555B-86D1-457A-95F5-B9135B9FBC55}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -87,30 +67,14 @@ Global
{3700E2BB-09C4-43C0-A9DC-C18137B76591}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3700E2BB-09C4-43C0-A9DC-C18137B76591}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3700E2BB-09C4-43C0-A9DC-C18137B76591}.Release|Any CPU.Build.0 = Release|Any CPU
- {7D908FF5-88AE-42AB-A193-F2896EF44AB1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7D908FF5-88AE-42AB-A193-F2896EF44AB1}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7D908FF5-88AE-42AB-A193-F2896EF44AB1}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7D908FF5-88AE-42AB-A193-F2896EF44AB1}.Release|Any CPU.Build.0 = Release|Any CPU
- {40D23A4B-8372-4145-936C-08AE63C6D1F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {40D23A4B-8372-4145-936C-08AE63C6D1F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {40D23A4B-8372-4145-936C-08AE63C6D1F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {40D23A4B-8372-4145-936C-08AE63C6D1F9}.Release|Any CPU.Build.0 = Release|Any CPU
{30A3F86B-774E-4153-9A00-FD3173C710EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{30A3F86B-774E-4153-9A00-FD3173C710EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{30A3F86B-774E-4153-9A00-FD3173C710EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{30A3F86B-774E-4153-9A00-FD3173C710EB}.Release|Any CPU.Build.0 = Release|Any CPU
- {00FC9358-2381-4C1B-BD45-6D31DD1DB7D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {00FC9358-2381-4C1B-BD45-6D31DD1DB7D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {00FC9358-2381-4C1B-BD45-6D31DD1DB7D3}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {00FC9358-2381-4C1B-BD45-6D31DD1DB7D3}.Release|Any CPU.Build.0 = Release|Any CPU
{6D929802-24AA-42A7-92C5-303C3D59A990}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6D929802-24AA-42A7-92C5-303C3D59A990}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6D929802-24AA-42A7-92C5-303C3D59A990}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6D929802-24AA-42A7-92C5-303C3D59A990}.Release|Any CPU.Build.0 = Release|Any CPU
- {0E041719-E755-43CD-8A0E-DF62E0B2E463}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0E041719-E755-43CD-8A0E-DF62E0B2E463}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0E041719-E755-43CD-8A0E-DF62E0B2E463}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0E041719-E755-43CD-8A0E-DF62E0B2E463}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE