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;
}
}
}
}