using System; using System.Data; using System.Collections.Generic; using WMS.Info; using WMS.Util; using SqlSugar; namespace WMS.Core { /// /// 描 述:权限常量 /// public class ACLConst { SysModuleCore SysModule = new SysModuleCore(); /// /// 获取列表数据 /// /// public IEnumerable GetList(string keyword) { SqlSugarClient ctx = SysDbCore.GetDbCtx(); try { if (string.IsNullOrEmpty(keyword)) { return ctx.Queryable().Where(it=> 1==1).ToList(); } else { var lst = ctx.Queryable().Where(it => it.F_NAME.Contains(keyword)).Select(v=>v.F_NO).ToList(); return ctx.Queryable().Where(v => lst.Contains(v.F_PNO) || v.F_NAME.Contains(keyword)).ToList(); } } catch (Exception ex) { throw ex; } finally { ctx.Dispose(); } } /// /// 删除实体数据 /// 主键 /// /// public void DeleteEntity(string keyValue) { try { SysDbCore.GetDbCtx().Deleteable().Where(it => it.F_NO == keyValue).ExecuteCommand(); } catch (Exception ex) { throw ex; } } /// /// 保存实体数据(新增、修改) /// 主键 /// /// public void SaveEntity(LoginUserInfo loginUserInfo, string keyValue, ACL_ACLCONST entity) { try { if (entity == null) { throw SysExCore.ThrowFailException("输入数据为空。"); } if (string.IsNullOrWhiteSpace(entity.F_NO)) { throw SysExCore.ThrowFailException("编号为空。"); } if (string.IsNullOrWhiteSpace(entity.F_NAME)) { throw SysExCore.ThrowFailException("名称为空。"); } entity.F_EDITTIME = DateTime.Now; entity.F_EDITUSERNO = loginUserInfo.UserNo; if (string.IsNullOrEmpty(keyValue)) { entity.F_ADDTIME = DateTime.Now; entity.F_ADDUSERNO = loginUserInfo.UserNo; SysDbCore.GetDbCtx().Insertable(entity).ExecuteCommand(); } else { SysDbCore.GetDbCtx().Updateable(entity).IgnoreColumns(it => new { it.F_ADDTIME, it.F_ADDUSERNO }).Where(it => it.F_NO == keyValue).ExecuteCommand(); } } catch (Exception ex) { throw ex; } } public void SaveWebACLConst(LoginUserInfo loginUser) { try { var list = SysModule.GetList(); if (list == null) { return; } var db = SysDbCore.GetDbCtx(); db.Deleteable().Where(it => it.F_APPTYPENUM == (int)EAppType.PC).ExecuteCommand(); foreach (var item in list) { if (item.F_NO.Contains("Web_DevelopmentM")) { continue; } ACL_ACLCONST aCL_ACLCONST = new ACL_ACLCONST() { F_ACLITEM = item.F_NO, F_ADDTIME = DateTime.Now, F_ADDUSERNO = loginUser.UserNo, F_APPTYPENUM = (int)EAppType.PC, F_NO = item.F_NO, F_EDITTIME = DateTime.Now, F_EDITUSERNO = loginUser.UserNo, F_NAME = item.F_NAME, F_PNO = item.F_PNO, F_SORTNUM = item.F_SORTNUM }; db.Insertable(aCL_ACLCONST).ExecuteCommand(); } } catch (Exception ex) { throw ex; } } public void SaveWebACLBtnConst(LoginUserInfo loginUser, string keyValue, List AclList) { try { var db = SysDbCore.GetDbCtx(); db.Deleteable().Where(it => it.F_PNO == keyValue).ExecuteCommand(); List list = new List(); if (AclList == null) { return; } AclList.ForEach(it => { int i = 0; it.F_ADDTIME = DateTime.Now; it.F_ADDUSERNO = loginUser.UserNo; it.F_APPTYPENUM = (int)EAppType.PC; it.F_EDITTIME = DateTime.Now; it.F_EDITUSERNO = loginUser.UserNo; it.F_PNO = keyValue; it.F_SORTNUM = i++; it.F_NO = it.F_ACLITEM; }); db.Insertable(AclList).ExecuteCommand(); } catch (Exception ex) { throw ex; } } } }