using System;
using System.Data;
using System.Collections.Generic;
using WMS.Info;
using WMS.Util;
namespace WMS.Core
{
///
/// 描 述:部门管理
///
public class ACLUserDept
{
///
/// 获取列表数据
///
///
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_USERDEPT 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
{
SysDbCore.GetDbCtx().Deleteable().Where(it => it.F_NO == keyValue).ExecuteCommand();
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 保存实体数据(新增、修改)
/// 主键
///
///
public void SaveEntity(LoginUserInfo loginUserInfo, string keyValue, ACL_USERDEPT 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;
}
}
public List GetTree()
{
try
{
IEnumerable list = GetList("");
List treeList = new List();
foreach (var item in list)
{
TreeModel node = new TreeModel
{
id = item.F_NO,
text = item.F_NAME,
value = item.F_NO,
showcheck = false,
checkstate = 0,
isexpand = true,
parentId = ""
};
treeList.Add(node);
}
return treeList.ToTree();
}
catch (Exception ex)
{
throw ex;
}
}
public string GetIsProDep(LoginUserInfo user)
{
var Gteuser = SysDbCore.GetDbCtx().Queryable().Where(v=>v.F_NO== user.UserNo).First();
switch (Gteuser.F_DEPTNO)
{
case "P001":
return "cost_DEP_SC";
default:
return "cost";
}
}
}
}