using AutoMapper; using Model.ModelDto.SysDto; using System; using System.Collections.Generic; using System.Security.Cryptography; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; using SqlSugar; using WMS.DAL; using WMS.Entity.Context; using WMS.Entity.SysEntity; using WMS.IBLL.ISysServer; using WMS.IDAL.ISysInterface; using Utility; using Microsoft.AspNetCore.Identity; namespace WMS.BLL.SysServer { public class FunSettingServer : DbHelper, IFunSettingServer { private static readonly SqlSugarScope Db = DataContext.Db; /// /// 依赖注入 /// private readonly IFunSettingRepository _setting; private readonly IMapper _mapper; private readonly UserManager _userManager; /// /// 构造函数 /// /// 功能设定 /// automapper public FunSettingServer(IFunSettingRepository setting, IMapper mapper, UserManager userManager) : base(Db) { _setting = setting;//功能设定 _mapper = mapper;//automapper _userManager = userManager; } /// /// 获取功能设定信息列表 /// /// 功能名称 /// 开启状态 /// 组号 /// public async Task> GetFunSettingList(string FunSetName, string IsEnable, string GroupNo) { return await Db.Queryable() .LeftJoin((a, b) => a.CreateUser == b.Id) .WhereIF(!string.IsNullOrEmpty(FunSetName), a => a.FunSetName.Contains(FunSetName)) .WhereIF(!string.IsNullOrEmpty(GroupNo), a => a.GroupNo.Contains(GroupNo)) .WhereIF(!string.IsNullOrEmpty(IsEnable), a => a.IsEnable == IsEnable) .Where(a => a.IsDel == "0") .Select((a, b) => new FunSettingDto() { CreateName = b.RealName }, true) .ToListAsync(); } /// /// 根据id查询功能设定信息 /// /// 功能id /// public async Task GetFunSettingById(int id) { return await Db.Queryable().FirstAsync(s => s.Id == id); } /// /// 根据编号查询功能设定消息 /// /// 功能编号 /// public async Task GetFunSettingByNo(string funSetNo) { return await Db.Queryable().FirstAsync(a => a.IsDel == "0" && a.FunSetNo == funSetNo); } ///// ///// 根据编号查询功能设定信息 ///// ///// 功能编号 ///// //public int GetFunSettingByNo(string FunSetNo) //{ // List funSettings = _setting.GetFunSettingByNo(FunSetNo); // return funSettings.Count; //} /// /// 新增功能信息 /// /// 功能设定dto /// /// 捕获异常 public async Task AddFunSettings(FunSettingDto settingdto) { //映射模型 SysFunSetting setting = _mapper.Map(settingdto); var setData = await Db.Queryable().FirstAsync(m => m.IsDel == "0" && m.GroupNo == settingdto.GroupNo && m.SetValue == settingdto.SetValue); if (setData != null) { throw Oops.Bah("同组内设定值重复"); } setting.CreateTime = DateTime.Now; setting.CreateUser = _userManager.UserId; return await Db.Insertable(setting).ExecuteCommandAsync(); } /// /// 删除功能信息 /// /// 功能设定实体模型 /// /// 捕获异常 public async Task DelFunSettings(SysFunSetting funSetting) { return await Db.Updateable() .Where(s => s.Id == funSetting.Id) .SetColumns(s => s.IsDel == "1") .SetColumns(s => s.UpdateTime == DateTime.Now) .SetColumns(s => s.UpdateUser == _userManager.UserId) .ExecuteCommandAsync(); } /// /// 编辑功能信息 /// /// 功能设定实体 /// /// 捕获异常 public async Task ExitFunSettings(FunSettingDto settingdto) { SysFunSetting setting = _mapper.Map(settingdto); var setData = await Db.Queryable() .FirstAsync(m => m.IsDel == "0" && m.GroupNo == settingdto.GroupNo && m.SetValue == settingdto.SetValue && m.Id != settingdto.Id); if (setData != null) { throw Oops.Bah("同组内设定值重复"); } setting.UpdateUser = _userManager.UserId; setting.UpdateTime = DateTime.Now; return await Db.Updateable(setting) .UpdateColumns(s => new { s.FunSetName, s.SetValue, s.FunText, s.IsEnable, s.Ord, s.GroupNo, s.UpdateUser, s.UpdateTime }) .ExecuteCommandAsync(); } } }