using System; using System.Collections.Generic; using WMS.Info; using WMS.Util; using System.Linq; using WMS.Core._02Entity; namespace WMS.Core { public class FxBasePoint { /// /// 获取列表数据 /// /// 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 GetListByWare(ViewParams t) { try { var data = SysDbCore.GetDbCtx().Queryable().Where(it => it.F_isDelete == 0); if (data == null) return null; if (data.Count() <= 0) return null; var resData = data.ToList(); if (!string.IsNullOrEmpty(t.txt_WareaNo)) { string[] wareaNO = t.txt_WareaNo.Split(','); resData = resData.Where(v => wareaNO.Contains(v.F_no) || wareaNO.Contains(v.F_no)).ToList(); } if (!string.IsNullOrEmpty(t.txt_WareaCellNo)) { resData = resData.Where(v => v.F_no.Contains(t.txt_WareaCellNo)).ToList(); } return resData; } catch (Exception ex) { throw ex; } } /// /// 获取分页数据 /// /// public IEnumerable GetPageList(string keyword,string F_no, 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)); db.WhereIF(!F_no.IsEmpty(), v => v.F_no == F_no); List list = null; 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 BASE_POINT 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(); SysDbCore.GetDbCtx().Updateable().UpdateColumns(it => new BASE_POINT { F_isDelete = 1 }).Where(it => it.F_no == keyValue).ExecuteCommand(); } catch (Exception ex) { throw ex; } } /// /// 保存实体数据(新增、修改) /// 主键 /// /// public void SaveEntity(LoginUserInfo loginUserInfo, string keyValue, BASE_POINT 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)) { var item = SysDbCore.GetDbCtx().Queryable().First(v => v.F_no == entity.F_no); if (item != null) { throw SysExCore.ThrowFailException("货位编号不能重复。"); } 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; } } } }