From 80f7f4e4bed46064b44ea12fadf650cb7edb97ee Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期二, 23 七月 2024 10:58:47 +0800 Subject: [PATCH] 修复报错 --- Service/HStation.Service.Xhs.Core/04-dal/03-sqlite/XhsProject.cs | 202 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 202 insertions(+), 0 deletions(-) diff --git a/Service/HStation.Service.Xhs.Core/04-dal/03-sqlite/XhsProject.cs b/Service/HStation.Service.Xhs.Core/04-dal/03-sqlite/XhsProject.cs new file mode 100644 index 0000000..a508240 --- /dev/null +++ b/Service/HStation.Service.Xhs.Core/04-dal/03-sqlite/XhsProject.cs @@ -0,0 +1,202 @@ +锘縰sing Yw.DAL.SQLite; + +namespace HStation.DAL.SQLite +{ + /// <summary> + /// + /// </summary> + public partial class XhsProject : BaseDAL_Paras_Flags_TagName_TreeSorter<Entity.XhsProject>, IXhsProject + { + /// <summary> + /// + /// </summary> + public override ConnectionConfig ConnectionConfig + { + get { return Xhs.ConfigHelper.SQLiteConnectionConfig; } + } + + /// <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; + } + } + } + + /// <summary> + /// 鏇存柊寮�濮嬫椂闂� + /// </summary> + public virtual bool UpdateStartTime(long ID, DateTime StartTime) + { + using (SqlSugarClient db = new(ConnectionConfig)) + { + return db.Updateable<Entity.XhsProject>() + .SetColumns(x => x.StartTime == StartTime) + .Where(x => x.ID == ID) + .ExecuteCommand() > 0; + } + } + + /// <summary> + /// 鏇存柊缁撴潫鏃堕棿 + /// </summary> + public virtual bool UpdateEndTime(long ID, DateTime EndTime) + { + using (SqlSugarClient db = new(ConnectionConfig)) + { + return db.Updateable<Entity.XhsProject>() + .SetColumns(x => x.EndTime == EndTime) + .Where(x => x.ID == ID) + .ExecuteCommand() > 0; + } + } + + /// <summary> + /// 閫氳繃 ID 鍒犻櫎 锛堟嫇灞曪級 + /// </summary> + public bool DeleteExByID(long ID) + { + if (ID < 1) + { + return false; + } + using (var db = new SqlSugarClient(ConnectionConfig)) + { + try + { + db.BeginTran(); + var bol = db.Deleteable<Entity.XhsProject>().Where(x => x.ID == ID).ExecuteCommandHasChange(); + if (!bol) + { + db.RollbackTran(); + return false; + } + db.Deleteable<Entity.XhsProjectSite>().Where(x => x.ProjectID == ID).ExecuteCommandHasChange(); + db.CommitTran(); + return true; + } + catch + { + db.RollbackTran(); + throw; + } + } + } + + + } +} \ No newline at end of file -- Gitblit v1.9.3