using DataRWDAL.Base; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Reflection; using XImagingXhandler.XDAL; namespace DataRWDAL { /// /// 耗材类型库表操作类 /// public class LabwareTypeDB:BaseDB { #region 查询返回耗材类型数据 by 查询请求类型Id /// /// 查询返回耗材类型数据 by 查询请求类型Id /// /// 耗材类型Id /// 耗材类型数据 public static LabwareType GetLabwareTypeInfo(int labwareTypeId) { using (var db = GetInstance()) { return db.Queryable().Single(it => it.labwaretype_id.Equals(labwareTypeId.ToString())); } } #endregion #region 查询返回耗材类型数据集 by 查询请求类型 /// /// 查询返回耗材类型数据集 by 查询请求类型 /// /// 1:系统默认类型;2:自定义类型:0:所有可用类型 /// 耗材类型数据集 public static ObservableCollection GetLabwareTypeFromdb(int lType) { using (var db = GetInstance()) { if (lType == 1) { return new ObservableCollection(db.Queryable().Where(it => it.is_default_type.Equals(1) &&it.labware_type_status.Equals(1)).OrderBy(it=>it.labwaretype_id,SqlSugar.OrderByType.Asc).ToList()); } else if(lType== 2) { return new ObservableCollection(db.Queryable().Where(it => it.is_default_type.Equals(0) && it.labware_type_status.Equals(1)).OrderBy(it => it.labwaretype_id, SqlSugar.OrderByType.Asc).ToList()); } else { return new ObservableCollection(db.Queryable().Where(it => it.labware_type_status.Equals(1)).OrderBy(it => it.labwaretype_id, SqlSugar.OrderByType.Asc).ToList()); } } } #endregion #region 添加一条新的耗材类型 by 耗材类型对象 /// /// 添加一条新的耗材类型 by 耗材类型对象 /// /// 耗材类型对象 /// 1:成功;0:失败 public static int AddLabwareTypeIntodb(LabwareType labwareType) { using (var db = GetInstance()) { return db.Insertable(labwareType).ExecuteCommand(); } } #endregion #region 查询返回是否存在重名耗材类型 by 耗材类型对象 /// /// 查询返回是否存在重名耗材类型 by 耗材类型对象 /// /// 耗材类型对象 /// true:存在重名;false:不存在重名 public static bool GetIsDoubleLabwareTypeOndb(LabwareType labwareType) { bool isExistUser = false; using (var db = GetInstance()) { if(labwareType.labwaretype_id != null) { var query1 = db.Queryable().Where(it => it.labwaretype_name.Equals(labwareType.labwaretype_name) &&it.labware_type_status.Equals(labwareType.labware_type_status) &&!it.labwaretype_id.Equals(labwareType.labwaretype_id)).ToList().Count; var query2 = db.Queryable().Where(it => it.labware_well_name_en.Equals(labwareType.labware_well_name_en) &&it.labware_type_status.Equals(labwareType.labware_type_status) &&it.labwaretype_id.Equals(labwareType.labwaretype_id)).ToList().Count; if(query1>0) { isExistUser = true; } if(query2>0) { isExistUser = true; } else { isExistUser = false; } } else { var query1 = db.Queryable().Where(it => it.labwaretype_name.Equals(labwareType.labwaretype_name) && it.labware_type_status.Equals(labwareType.labware_type_status)).ToList().Count; var query2 = db.Queryable().Where(it => it.labware_well_name_en.Equals(labwareType.labware_well_name_en) && it.labware_type_status.Equals(labwareType.labware_type_status)).ToList().Count; if (query1 > 0) { isExistUser = true; } if (query2 > 0) { isExistUser = true; } else { isExistUser = false; } } } return isExistUser; } #endregion #region 删除一条耗材类型数据 by 耗材类型Id /// /// 删除一条耗材类型数据 by 耗材类型Id /// /// 耗材类型Id /// 1:成功;0:失败 public static int DeleteLabwareTypeFromdb(string labwaretypeid) { using (var db = GetInstance()) { return db.Updateable().Where(it=>it.labwaretype_id.Equals(labwaretypeid)).ExecuteCommand(); } } #endregion #region 修改一条耗材类型数据 by 耗材类型对象 /// /// 修改一条耗材类型数据 by 耗材类型对象 /// /// 耗材类型对象 /// 1:成功;0:失败 public static int UpdateLabwareTypeFromdb(LabwareType labwareType) { using (var db = GetInstance()) { return db.Updateable(labwareType).ExecuteCommand(); } } #endregion #region 构建圆形皿耗材规格分格可选数据集合 /// /// 构建圆形皿耗材规格分格可选数据集合 /// /// public static ObservableCollection GetLabwareRoundShapeData() { ObservableCollection labwareRoundShapes = new ObservableCollection(); LabwareRoundShape labwareRoundShape = new LabwareRoundShape(); labwareRoundShape.roundshape_id = 1; labwareRoundShape.roundshape_name = "1格"; labwareRoundShapes.Add(labwareRoundShape); labwareRoundShape = new LabwareRoundShape(); labwareRoundShape.roundshape_id = 2; labwareRoundShape.roundshape_name = "2格"; labwareRoundShapes.Add(labwareRoundShape); labwareRoundShape = new LabwareRoundShape(); labwareRoundShape.roundshape_id = 3; labwareRoundShape.roundshape_name = "3格"; labwareRoundShapes.Add(labwareRoundShape); labwareRoundShape = new LabwareRoundShape(); labwareRoundShape.roundshape_id = 4; labwareRoundShape.roundshape_name = "4格"; labwareRoundShapes.Add(labwareRoundShape); return labwareRoundShapes; } #endregion #region 构建圆形皿耗材规格直径可选数据集合 /// /// 构建圆形皿耗材规格直径可选数据集合 /// /// public static ObservableCollection GetLabwareRoundDiameterData() { ObservableCollection labwareRoundDiameters = new ObservableCollection(); LabwareRoundDiameter labwareRoundShape = new LabwareRoundDiameter(); labwareRoundShape.roundiameter_id = 1; labwareRoundShape.roundiameter_name = "35"; labwareRoundDiameters.Add(labwareRoundShape); labwareRoundShape = new LabwareRoundDiameter(); labwareRoundShape.roundiameter_id = 2; labwareRoundShape.roundiameter_name = "55"; labwareRoundDiameters.Add(labwareRoundShape); labwareRoundShape = new LabwareRoundDiameter(); labwareRoundShape.roundiameter_id = 3; labwareRoundShape.roundiameter_name = "60"; labwareRoundDiameters.Add(labwareRoundShape); labwareRoundShape = new LabwareRoundDiameter(); labwareRoundShape.roundiameter_id = 4; labwareRoundShape.roundiameter_name = "65"; labwareRoundDiameters.Add(labwareRoundShape); labwareRoundShape = new LabwareRoundDiameter(); labwareRoundShape.roundiameter_id = 5; labwareRoundShape.roundiameter_name = "75"; labwareRoundDiameters.Add(labwareRoundShape); labwareRoundShape = new LabwareRoundDiameter(); labwareRoundShape.roundiameter_id = 6; labwareRoundShape.roundiameter_name = "90"; labwareRoundDiameters.Add(labwareRoundShape); labwareRoundShape = new LabwareRoundDiameter(); labwareRoundShape.roundiameter_id = 7; labwareRoundShape.roundiameter_name = "100"; labwareRoundDiameters.Add(labwareRoundShape); labwareRoundShape = new LabwareRoundDiameter(); labwareRoundShape.roundiameter_id = 8; labwareRoundShape.roundiameter_name = "120"; labwareRoundDiameters.Add(labwareRoundShape); labwareRoundShape = new LabwareRoundDiameter(); labwareRoundShape.roundiameter_id = 9; labwareRoundShape.roundiameter_name = "150"; labwareRoundDiameters.Add(labwareRoundShape); labwareRoundShape = new LabwareRoundDiameter(); labwareRoundShape.roundiameter_id = 10; labwareRoundShape.roundiameter_name = "180"; labwareRoundDiameters.Add(labwareRoundShape); labwareRoundShape = new LabwareRoundDiameter(); labwareRoundShape.roundiameter_id = 11; labwareRoundShape.roundiameter_name = "200"; labwareRoundDiameters.Add(labwareRoundShape); return labwareRoundDiameters; } #endregion #region 构建圆形皿耗材规格高度可选数据集合 /// /// 构建圆形皿耗材规格高度可选数据集合 /// /// public static ObservableCollection GetLabwareRoundHeightData() { ObservableCollection labwareRoundHeights = new ObservableCollection(); LabwareRoundHeight labwareRoundHeight = new LabwareRoundHeight(); labwareRoundHeight.roundheight_id = 1; labwareRoundHeight.roundheight_name = "9"; labwareRoundHeights.Add(labwareRoundHeight); labwareRoundHeight = new LabwareRoundHeight(); labwareRoundHeight.roundheight_id = 2; labwareRoundHeight.roundheight_name = "10"; labwareRoundHeights.Add(labwareRoundHeight); labwareRoundHeight = new LabwareRoundHeight(); labwareRoundHeight.roundheight_id = 3; labwareRoundHeight.roundheight_name = "15"; labwareRoundHeights.Add(labwareRoundHeight); labwareRoundHeight = new LabwareRoundHeight(); labwareRoundHeight.roundheight_id = 4; labwareRoundHeight.roundheight_name = "20"; labwareRoundHeights.Add(labwareRoundHeight); return labwareRoundHeights; } #endregion } }