using Yw.DAL.SQLite;
namespace HStation.DAL.SQLite
{
///
///
///
public partial class AssetsPumpPartMain : BaseDAL_Sorter, IAssetsPumpPartMain
{
///
///
///
public override ConnectionConfig ConnectionConfig
{
get { return Assets.ConfigHelper.SQLiteConnectionConfig; }
}
//插入拓展
public long InsertsEx(Entity.AssetsPumpPartMain part, List AssetsPumpPropContents, Entity.AssetsPumpMainAndPartMap partmap)
{
if (part == null)
{
return default;
}
using (var db = new SqlSugarClient(ConnectionConfig))
{
try
{
db.BeginTran();
var result = db.Insertable(part).ExecuteReturnSnowflakeId();
if (result < 0)
{
db.RollbackTran();
return default;
}
else
{
if (partmap != null)
{
partmap.PumpPartID = result;
var mainandpartmap = db.Insertable(partmap).ExecuteReturnSnowflakeId();
if (mainandpartmap < 0)
{
db.RollbackTran();
return default;
}
else
{
if (AssetsPumpPropContents != null)
{
foreach (var item in AssetsPumpPropContents)
{
item.PartID = result;
}
var content = db.Insertable(AssetsPumpPropContents).ExecuteReturnSnowflakeId();
if (content < 0)
{
db.RollbackTran();
return default;
}
}
}
}
}
db.CommitTran();
return result;
}
catch (Exception ex)
{
db.RollbackTran();
throw;
}
}
}
//编辑拓展
public bool UpdateEx(Entity.AssetsPumpPartMain part, List AssetsPumpPropContents)
{
if (part == null)
{
return default;
}
using (var db = new SqlSugarClient(ConnectionConfig))
{
try
{
db.BeginTran();
var result = db.Updateable(part).ExecuteCommandHasChange();
if (!result)
{
db.RollbackTran();
return default;
}
else
{
if (AssetsPumpPropContents != null)
{
var propresult = db.Updateable(AssetsPumpPropContents).ExecuteCommandHasChange();
if (!propresult)
{
db.RollbackTran();
return default;
}
}
}
db.CommitTran();
return result;
}
catch (Exception ex)
{
db.RollbackTran();
throw;
}
}
}
//删除拓展 (删除产品表及属性表)
public bool DeleteEx(Entity.AssetsPumpPartMain part, List AssetsPumpPropContents)
{
if (part == null)
{
return default;
}
using (var db = new SqlSugarClient(ConnectionConfig))
{
try
{
db.BeginTran();
var result = db.Deleteable(part).ExecuteCommand() > 0;
if (!result)
{
db.RollbackTran();
return default;
}
else
{
if (AssetsPumpPropContents != null)
{
var propresult = db.Deleteable(AssetsPumpPropContents).ExecuteCommand() > 0;
if (!propresult)
{
db.RollbackTran();
return default;
}
}
}
db.CommitTran();
return result;
}
catch (Exception ex)
{
db.RollbackTran();
throw;
}
}
}
}
}