using System;
using System.Data;
using System.Collections.Generic;
using WMS.Info;
using WMS.Util;
using SqlSugar;
namespace WMS.Core
{
///
/// 描 述:用户组管理
///
public class ACLUserGrp
{
///
/// 获取列表数据
///
///
public IEnumerable GetList(string keyword)
{
try
{
return SysDbCore.GetDbCtx().Queryable().Where(it => it.F_ISDELETE == 0).WhereIF(!keyword.IsEmpty(), it => it.F_NO.Contains(keyword) || it.F_NAME.Contains(keyword)).ToList();
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 获取分页数据
///
///
public IEnumerable GetPageList(string keyword, Pagination pagination)
{
try
{
int count = 0;
var db = SysDbCore.GetDbCtx().Queryable().Where(it => it.F_ISDELETE == 0).WhereIF(!keyword.IsEmpty(), it => it.F_NO.Contains(keyword) || it.F_NAME.Contains(keyword));
List list = new List();
if (pagination.sord.ToUpper() == "ASC")
{
list = db.OrderBy(pagination.sidx).ToPageList(pagination.page, pagination.rows, ref count);
}
else
{
string orderstr = pagination.sidx + " desc";
list = db.OrderBy(orderstr).ToPageList(pagination.page, pagination.rows, ref count);
}
pagination.records = count;
return list;
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 获取实体数据
/// 主键
///
///
public ACL_USERGRP GetEntity(string keyValue)
{
try
{
return SysDbCore.GetDbCtx().Queryable().Where(it => it.F_ISDELETE == 0 && it.F_NO == keyValue).First();
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 删除实体数据
/// 主键
///
///
public void DeleteEntity(string keyValue)
{
try
{
void action(SqlSugarClient ctx)
{
ctx.Deleteable().Where(it => it.F_OBJTYPENUM == (int)EACLObjType.UserGrp && it.F_ITEMNO == keyValue).ExecuteCommand();
ctx.Deleteable().Where(it => it.F_OBJTYPENUM == (int)EACLObjType.UserGrp && it.F_OBJNO == keyValue).ExecuteCommand();
ctx.Deleteable().Where(it => it.F_NO == keyValue).ExecuteCommand();
}
SysDbCore.DbTranExec(action);
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 保存实体数据(新增、修改)
/// 主键
///
///
public void SaveEntity(LoginUserInfo loginUserInfo, string keyValue, ACL_USERGRP 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;
entity.F_ISDELETE = 0;
entity.F_ISSTOP = 0;
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 Dictionary GetMap()
{
try
{
Dictionary dics = new Dictionary();
SysDbCore.GetDbCtx().Queryable().ToList().ForEach(it => dics.Add(it.F_NO, it));
return dics;
}
catch (Exception ex)
{
throw ex;
}
}
}
}