| | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | public partial class XhsProject : BaseDAL_Paras_Flags_TagName_Sorter_UseStatus<Entity.XhsProject>, IXhsProject |
| | | public partial class XhsProject : BaseDAL_Paras_Flags_TagName_TreeSorter<Entity.XhsProject>, IXhsProject |
| | | { |
| | | /// <summary> |
| | | /// |
| | |
| | | /// <summary> |
| | | /// 插入拓展 |
| | | /// </summary> |
| | | public long InsertEx(Entity.XhsProject project, Entity.XhsProjectItem Item, Entity.XhsProjectItemModel Model, Entity.XhsProjectItemModelMap Map) |
| | | public long InsertEx(Entity.XhsProject entityProject, List<Entity.XhsProjectSite> entityProjectSiteList) |
| | | { |
| | | if (project == null || Item == null || Model == null || Map == null) |
| | | if (entityProject == null) |
| | | { |
| | | return default; |
| | | } |
| | |
| | | try |
| | | { |
| | | db.BeginTran(); |
| | | project.SortCode = db.Queryable<Entity.XhsProject>().ToList().Max(x => x.SortCode) + 1; |
| | | project.UseStatus = 1; |
| | | var result = db.Insertable(project).ExecuteReturnSnowflakeId(); |
| | | if (result < 0) |
| | | if (entityProject.ID < 1) |
| | | { |
| | | db.RollbackTran(); |
| | | return default; |
| | | } |
| | | else |
| | | { |
| | | Item.ProjectID = result; |
| | | Item.UseStatus = 1; |
| | | Item.SortCode = db.Queryable<Entity.XhsProjectItem>().ToList().Max(x => x.SortCode) + 1; |
| | | var itemresult = db.Insertable(Item).ExecuteReturnSnowflakeId(); |
| | | if (itemresult < 0) |
| | | entityProject.ID = db.Insertable(entityProject).ExecuteReturnSnowflakeId(); |
| | | if (entityProject.ID < 1) |
| | | { |
| | | db.RollbackTran(); |
| | | return default; |
| | | } |
| | | else |
| | | } |
| | | else |
| | | { |
| | | var bol = db.Insertable(entityProject).ExecuteCommand() > 0; |
| | | if (!bol) |
| | | { |
| | | Model.ProjectID = result; |
| | | Model.UseStatus = 1; |
| | | Model.SortCode = db.Queryable<Entity.XhsProjectItemModel>().ToList().Max(x => x.SortCode) + 1; |
| | | var Modelresult = db.Insertable(Model).ExecuteReturnSnowflakeId(); |
| | | if (Modelresult < 0) |
| | | { |
| | | db.RollbackTran(); |
| | | return default; |
| | | } |
| | | else |
| | | { |
| | | Map.ProjectID = result; |
| | | Map.ItemID = itemresult; |
| | | Map.ModelID = Modelresult; |
| | | Map.UseStatus = 1; |
| | | var Mapresult = db.Insertable(Map).ExecuteReturnSnowflakeId(); |
| | | if (Mapresult < 0) |
| | | { |
| | | db.RollbackTran(); |
| | | return default; |
| | | } |
| | | } |
| | | db.RollbackTran(); |
| | | return default; |
| | | } |
| | | } |
| | | db.CommitTran(); |
| | | return result; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | db.RollbackTran(); |
| | | throw; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 删除拓展 |
| | | /// </summary> |
| | | public bool DeleteEx(long ID) |
| | | { |
| | | if (ID < 0) |
| | | { |
| | | return default; |
| | | } |
| | | using (var db = new SqlSugarClient(ConnectionConfig)) |
| | | { |
| | | try |
| | | { |
| | | db.BeginTran(); |
| | | var project = db.Queryable<Entity.XhsProject>().ToList().Where(x => x.ID == ID).First(); |
| | | var result = db.Deleteable(project).Where(x => x.ID == project.ID).ExecuteCommand() > 0; |
| | | if (!result) |
| | | if (entityProjectSiteList != null && entityProjectSiteList.Count > 0) |
| | | { |
| | | db.RollbackTran(); |
| | | return default; |
| | | } |
| | | else |
| | | { |
| | | var Item = db.Queryable<Entity.XhsProjectItem>().ToList(); |
| | | var itemresult = db.Deleteable(Item).Where(x => x.ProjectID == project.ID).ExecuteCommand() > 0; |
| | | if (!itemresult) |
| | | foreach (var entityProjectSite in entityProjectSiteList) |
| | | { |
| | | db.RollbackTran(); |
| | | return default; |
| | | } |
| | | else |
| | | { |
| | | var Model = db.Queryable<Entity.XhsProjectItemModel>().ToList(); |
| | | var Modelresult = db.Deleteable(Model).Where(x => x.ProjectID == project.ID).ExecuteCommand() > 0; |
| | | if (!Modelresult) |
| | | entityProjectSite.ProjectID = entityProject.ID; |
| | | if (entityProjectSite.ID < 1) |
| | | { |
| | | db.RollbackTran(); |
| | | return default; |
| | | entityProjectSite.ID = db.Insertable(entityProjectSite).ExecuteReturnSnowflakeId(); |
| | | if (entityProjectSite.ID < 1) |
| | | { |
| | | db.RollbackTran(); |
| | | return default; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | var Map = db.Queryable<Entity.XhsProjectItemModelMap>().ToList(); |
| | | var Mapresult = db.Deleteable(Map).Where(x => x.ProjectID == project.ID).ExecuteCommand() > 0; |
| | | if (Mapresult) |
| | | var bol = db.Insertable(entityProjectSite).ExecuteCommand() >= 0; |
| | | if (!bol) |
| | | { |
| | | db.RollbackTran(); |
| | | return default; |
| | |
| | | } |
| | | } |
| | | db.CommitTran(); |
| | | return result; |
| | | return entityProject.ID; |
| | | } |
| | | catch (Exception ex) |
| | | catch |
| | | { |
| | | db.RollbackTran(); |
| | | throw; |
| | |
| | | /// <summary> |
| | | /// 编辑拓展 |
| | | /// </summary> |
| | | public bool UpdateEx(Entity.XhsProject project, Entity.XhsProjectItem Item) |
| | | public bool UpdateEx(Entity.XhsProject entityProject, List<Entity.XhsProjectSite> entityProjectSiteList) |
| | | { |
| | | if (project == null || Item == null) |
| | | if (entityProject == null) |
| | | { |
| | | return default; |
| | | return false; |
| | | } |
| | | if (entityProject.ID < 1) |
| | | { |
| | | return false; |
| | | } |
| | | using (var db = new SqlSugarClient(ConnectionConfig)) |
| | | { |
| | | try |
| | | { |
| | | db.BeginTran(); |
| | | var result = db.Updateable(project).ExecuteCommand() > 0; |
| | | if (!result) |
| | | var bol = db.Updateable(entityProject).ExecuteCommandHasChange(); |
| | | if (!bol) |
| | | { |
| | | db.RollbackTran(); |
| | | return default; |
| | | return false; |
| | | } |
| | | else |
| | | if (entityProjectSiteList != null && entityProjectSiteList.Count > 0) |
| | | { |
| | | var itemresult = db.Updateable(Item).ExecuteCommand() > 0; |
| | | if (!itemresult) |
| | | foreach (var entityProjectSite in entityProjectSiteList) |
| | | { |
| | | db.RollbackTran(); |
| | | return default; |
| | | 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 (Exception ex) |
| | | catch |
| | | { |
| | | db.RollbackTran(); |
| | | return default; |
| | | throw; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <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; |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | } |