diff --git a/SlnMesnac.Business/Class1.cs b/SlnMesnac.Business/Class1.cs deleted file mode 100644 index 8124245..0000000 --- a/SlnMesnac.Business/Class1.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System; - -namespace SlnMesnac.Business -{ - public class Class1 - { - //业务逻辑类 - } -} diff --git a/SlnMesnac.Business/SlnMesnac.Business.csproj b/SlnMesnac.Business/SlnMesnac.Business.csproj index 8ef8970..4e2cf5e 100644 --- a/SlnMesnac.Business/SlnMesnac.Business.csproj +++ b/SlnMesnac.Business/SlnMesnac.Business.csproj @@ -5,4 +5,9 @@ enable + + + + + diff --git a/SlnMesnac.Business/base/BaseBusiness.cs b/SlnMesnac.Business/base/BaseBusiness.cs new file mode 100644 index 0000000..644ff4d --- /dev/null +++ b/SlnMesnac.Business/base/BaseBusiness.cs @@ -0,0 +1,106 @@ +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}"); + } + } + } +}