using Yw.DAL.PostgreSql;
namespace HStation.DAL.PostgreSql
{
///
///
///
public partial class AssetsCompressorPartMain : BaseDAL_Sorter, IAssetsCompressorPartMain
{
///
///
///
public override ConnectionConfig ConnectionConfig
{
get { return Assets.ConfigHelper.PostgreSqlConnectionConfig; }
}
//插入拓展
public long InsertsEx(Entity.AssetsCompressorPartMain part, List AssetsCompressorPropContents, Entity.AssetsCompressorMainAndPartMapping 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.PartID = result;
var mainandpartmap = db.Insertable(partmap).ExecuteReturnSnowflakeId();
if (mainandpartmap < 0)
{
db.RollbackTran();
return default;
}
else
{
if (AssetsCompressorPropContents != null)
{
foreach (var item in AssetsCompressorPropContents)
{
item.PartID = result;
}
var content = db.Insertable(AssetsCompressorPropContents).ExecuteReturnSnowflakeId();
if (content < 0)
{
db.RollbackTran();
return default;
}
}
}
}
}
db.CommitTran();
return result;
}
catch (Exception ex)
{
db.RollbackTran();
throw;
}
}
}
//编辑拓展
public bool UpdateEx(Entity.AssetsCompressorPartMain part, List AssetsCompressorPropContents)
{
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 (AssetsCompressorPropContents != null)
{
var propresult = db.Updateable(AssetsCompressorPropContents).ExecuteCommandHasChange();
if (!propresult)
{
db.RollbackTran();
return default;
}
}
}
db.CommitTran();
return result;
}
catch (Exception ex)
{
db.RollbackTran();
throw;
}
}
}
//删除拓展 (删除产品表及属性表)
public bool DeleteEx(Entity.AssetsCompressorPartMain part, List AssetsCompressorPropContents)
{
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 (AssetsCompressorPropContents != null)
{
var propresult = db.Deleteable(AssetsCompressorPropContents).ExecuteCommand() > 0;
if (!propresult)
{
db.RollbackTran();
return default;
}
}
}
db.CommitTran();
return result;
}
catch (Exception ex)
{
db.RollbackTran();
throw;
}
}
}
}
}