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