using DataRWDAL.Base;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Reflection;
using XImagingXhandler.XDAL;
namespace DataRWDAL
{
///
/// 菌落库表操作类
///
public class BacteriaDB: BaseDB
{
#region 根据菌落Id,获取菌落信息
///
/// 根据菌落Id,获取菌落信息
///
/// 菌落Id
/// 菌落对象
public static Bacteria GetABacteriaFromdb(string bacteriaid)
{
using (var db = GetInstance())
{
return db.Queryable().Single(it => it.bacteria_id.Equals(bacteriaid));
}
}
#endregion
#region 添加一条新的菌数据 by 菌落对象
///
/// 添加一条新的菌落数据 by 菌落对象
///
/// 菌落对象
/// 1:成功;0:失败
public static int AddBacteriaIntodb(Bacteria bacteria)
{
using (var db = GetInstance())
{
return db.Insertable(bacteria).ExecuteCommand();
}
}
#endregion
#region 查询菌落是否重名 by 菌落对象
///
/// 查询菌落是否重名 by 菌落对象
///
/// 菌落对象
/// true:存在;false:不存在
public static bool GetIsDoubleBacteriaOndb(Bacteria bacteria)
{
bool isExistUser = false;
int count = 0;
using (var db = GetInstance())
{
if (bacteria.bacteria_id != "")
{
count= db.Queryable().Where(it => it.bacteria_name.Equals(bacteria.bacteria_name)&&!it.bacteria_id.Equals(bacteria.bacteria_id)&&it.bacteria_status.Equals(1)).Count();
}
else
{
count = db.Queryable().Where(it => it.bacteria_name.Equals(bacteria.bacteria_name) && it.bacteria_status.Equals(1)).Count();
}
if(count>0)
{
isExistUser = true;
}
else
{
isExistUser = false;
}
}
return isExistUser;
}
#endregion
#region 修改一条新的菌落数据 by 菌落对象
///
/// 修改一条新的菌落数据 by 菌落对象
///
/// 菌落对象
/// 1:成功;0:失败
public static int UpdateBacteriaIntodb(Bacteria bacteria)
{
using (var db = GetInstance())
{
return db.Updateable(bacteria).ExecuteCommand();
}
}
#endregion
#region 查询返回菌落数据集 by 默认类型
///
/// 查询返回菌落数据集 by 默认类型
///
/// 1:系统默认;0:非默认;2:全部
///
public static ObservableCollection GetBacteriaListFromdb(int isDefault)
{
using (var db = GetInstance())
{
if (isDefault == 2)
{
return new ObservableCollection(db.Queryable().Where(it => it.bacteria_status.Equals(1)).ToList());
}
else
{
return new ObservableCollection(db.Queryable().Where(it => it.bacteria_status.Equals(1)&&it.is_default_type.Equals(isDefault)).ToList());
}
}
}
#endregion
#region 构建返回挑菌位置数据集合信息
///
/// 构建返回挑菌位置数据集合信息
///
/// 挑菌位置实体集合
public static ObservableCollection GetBacteriaPositionListFromdb()
{
ObservableCollection dropdowns = new ObservableCollection();
DropdownName dropdown = new DropdownName();
dropdown.dropdown_id = "1";
dropdown.dropdown_name = "距离皿底距离";
dropdowns.Add(dropdown);
dropdown = new DropdownName();
dropdown.dropdown_id = "2";
dropdown.dropdown_name = "菌表面距离";
dropdowns.Add(dropdown);
return dropdowns;
}
#endregion
}
}