using DataEntity;
using DataRWDAL;
using DataRWDAL.Base;
using HxEnum;
using MySql.Data.MySqlClient;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using XCommon.Log;
using XCommon.MySql;
namespace XImagingXhandler.XDAL
{
///
/// 台面模板内板位关联操作类
///
public class TabletopRelLatticeDB:BaseDB
{
#region 删除某台面模板内的所有板位数据
///
/// 删除某台面模板内的所有板位数据
///
/// 台面模板Id
/// 1:成功;0:失败;
public static int DeleteTabletopRelLatticeIntodb(string tabletopid)
{
using (var db = GetInstance())
{
int sum = 0;//执行的总数
var query = db.Queryable().Where(it => it.tabletopid.Equals(tabletopid)).ToList();
if(query!=null&&query.Count()>0)
{
foreach(var item in query)
{
Lattice lattice = LatticeDB.GetLatticeDataByIdFromdb(item.lattice_id.ToString());
lattice.lattice_state = 0;
int ret=DeleteLatticeFromdb(lattice);
if (ret == 1)
{
sum++;
}
}
if (sum == query.Count)
{
return 1;
}
}
return 0;
}
}
#endregion
#region 删除指定的台面模板内的板位数据
///
/// 删除指定的台面模板内的板位数据
///
/// 板位
/// 1:成功;0:失败;
public static int DeleteLatticeFromdb(Lattice lattice)
{
using (var db = GetInstance())
{
return db.Updateable(lattice).ExecuteCommand();
}
}
#endregion
#region 更新指定的台面模板内的板位数据
///
/// 更新指定的台面模板内的板位数据
///
/// 板位
/// 1:成功;0:失败;
public static int UpdateLatticeFromdb(Lattice lattice)
{
using (var db = GetInstance())
{
return db.Updateable(lattice).ExecuteCommand();
}
}
#endregion
#region 更新指定的台面模板与板位关系数据
///
/// 更新指定的台面模板与板位关系数据
///
/// 台面与板位关系对象
/// 1:成功;0:失败;
public static int UpdateTabletopRelLatticeFromdb(TabletopRelLattice tabletopRelLattice)
{
using (var db = GetInstance())
{
return db.Updateable(tabletopRelLattice).Where(it=>it.tabletopid.Equals(tabletopRelLattice.tabletopid)
&&it.lattice_id.Equals(tabletopRelLattice.lattice_id)).ExecuteCommand();
}
}
#endregion
#region 获取当前最大的台面板位Id
///
/// 获取当前最大的台面板位Id
///
/// 最大板位Id
public static int GetMaxLattceId()
{
using (var db = GetInstance())
{
return db.Queryable().ToList().Count;
}
}
#endregion
#region 获取台面板位关系数据 通过台面Id和板位Id
///
/// 获取台面板位关系数据 通过台面Id和板位Id
///
/// 板位Id
/// 台面Id
/// 台面板位关系数据
public static TabletopRelLattice GetTabletopRelLatticeByTabletopIdAndLatticeId(string tabletopId,int latticeId)
{
using (var db = GetInstance())
{
return db.Queryable().Single(it => it.tabletopid.Equals(tabletopId) && it.lattice_id.Equals(latticeId));
}
}
#endregion
#region 批量添加板位数据
///
/// 批量添加板位数据
///
/// 板位对象
/// 开始板位Id
/// 台面模板Id
///
public static int AddLatticeIntodb(Lattice lattice,int startLatticeid,string tabletopId)
{
using (var db = GetInstance())
{
int sum = 0;//执行的总数
//for (int i = 0; i < lattices.Count; i++)
//{
lattice.lattice_id = (startLatticeid).ToString();
db.Insertable(lattice).ExecuteCommand();
int ret=db.Insertable(new TabletopRelLattice() { lattice_id = (startLatticeid), tabletopid = tabletopId,
lattice_pixel_x = lattice.lattice_pixel_x,
lattice_pixel_y = lattice.lattice_pixel_y,
labware_id= lattice.labware_id,
isbaselattice = 1
}).ExecuteCommand();
sum++;
//}
//if(sum==lattices.Count)
//{
if(ret>0)
{
return ret;
}
//}
return 0;
}
}
#endregion
}
}