From cec8d92bdca1da0b2eafe6eb3130f4bf6f03028b Mon Sep 17 00:00:00 2001 From: duheng <2286773002@qq.com> Date: 星期三, 12 三月 2025 10:21:09 +0800 Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0 --- Service/HStation.Service.Xhs.Core/04-dal/02-postgresql/XhsProject.cs | 143 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 143 insertions(+), 0 deletions(-) diff --git a/Service/HStation.Service.Xhs.Core/04-dal/02-postgresql/XhsProject.cs b/Service/HStation.Service.Xhs.Core/04-dal/02-postgresql/XhsProject.cs new file mode 100644 index 0000000..9fa3fdc --- /dev/null +++ b/Service/HStation.Service.Xhs.Core/04-dal/02-postgresql/XhsProject.cs @@ -0,0 +1,143 @@ +锘縰sing Yw.DAL.PostgreSql; + +namespace HStation.DAL.PostgreSql +{ + /// <summary> + /// + /// </summary> + public partial class XhsProject : BaseDAL_Paras_Flags_TagName_TreeSorter<Entity.XhsProject>, IXhsProject + { + /// <summary> + /// + /// </summary> + public override ConnectionConfig ConnectionConfig + { + get { return Xhs.ConfigHelper.PostgreSqlConnectionConfig; } + } + + /// <summary> + /// 鎻掑叆鎷撳睍 + /// </summary> + public long InsertEx(Entity.XhsProject entityProject, List<Entity.XhsProjectSite> entityProjectSiteList) + { + if (entityProject == null) + { + return default; + } + using (var db = new SqlSugarClient(ConnectionConfig)) + { + try + { + db.BeginTran(); + if (entityProject.ID < 1) + { + entityProject.ID = db.Insertable(entityProject).ExecuteReturnSnowflakeId(); + if (entityProject.ID < 1) + { + db.RollbackTran(); + return default; + } + } + else + { + var bol = db.Insertable(entityProject).ExecuteCommand() > 0; + if (!bol) + { + db.RollbackTran(); + return default; + } + } + + if (entityProjectSiteList != null && entityProjectSiteList.Count > 0) + { + foreach (var entityProjectSite in entityProjectSiteList) + { + entityProjectSite.ProjectID = entityProject.ID; + if (entityProjectSite.ID < 1) + { + entityProjectSite.ID = db.Insertable(entityProjectSite).ExecuteReturnSnowflakeId(); + if (entityProjectSite.ID < 1) + { + db.RollbackTran(); + return default; + } + } + else + { + var bol = db.Insertable(entityProjectSite).ExecuteCommand() >= 0; + if (!bol) + { + db.RollbackTran(); + return default; + } + } + } + } + db.CommitTran(); + return entityProject.ID; + } + catch + { + db.RollbackTran(); + throw; + } + } + } + + /// <summary> + /// 缂栬緫鎷撳睍 + /// </summary> + public bool UpdateEx(Entity.XhsProject entityProject, List<Entity.XhsProjectSite> entityProjectSiteList) + { + if (entityProject == null) + { + return false; + } + if (entityProject.ID < 1) + { + return false; + } + using (var db = new SqlSugarClient(ConnectionConfig)) + { + try + { + db.BeginTran(); + var bol = db.Updateable(entityProject).ExecuteCommandHasChange(); + if (!bol) + { + db.RollbackTran(); + return false; + } + if (entityProjectSiteList != null && entityProjectSiteList.Count > 0) + { + foreach (var entityProjectSite in entityProjectSiteList) + { + entityProjectSite.ProjectID = entityProject.ID; + if (entityProjectSite.ID < 1) + { + db.RollbackTran(); + return false; + } + bol = db.Updateable(entityProjectSite).ExecuteCommandHasChange(); + if (!bol) + { + db.RollbackTran(); + return false; + } + } + } + db.CommitTran(); + return true; + } + catch + { + db.RollbackTran(); + throw; + } + } + } + + + + } +} \ No newline at end of file -- Gitblit v1.9.3