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