using Yw.DAL.SQLite;
namespace HStation.DAL.SQLite
{
///
///
///
public partial class XhsProject : BaseDAL_Paras_Flags_TagName_Sorter_UseStatus, IXhsProject
{
///
///
///
public override ConnectionConfig ConnectionConfig
{
get { return Xhs.ConfigHelper.SQLiteConnectionConfig; }
}
///
/// 插入拓展
///
public long InsertEx(Entity.XhsProject project, Entity.XhsProjectItem Item, Entity.XhsProjectItemModel Model, Entity.XhsProjectItemModelMap Map)
{
if (project == null || Item == null || Model == null || Map == null)
{
return default;
}
using (var db = new SqlSugarClient(ConnectionConfig))
{
try
{
db.BeginTran();
project.SortCode = db.Queryable().ToList().Max(x => x.SortCode) + 1;
project.UseStatus = 1;
var result = db.Insertable(project).ExecuteReturnSnowflakeId();
if (result < 0)
{
db.RollbackTran();
return default;
}
else
{
Item.ProjectID = result;
Item.UseStatus = 1;
Item.SortCode = db.Queryable().ToList().Max(x => x.SortCode) + 1;
var itemresult = db.Insertable(Item).ExecuteReturnSnowflakeId();
if (itemresult < 0)
{
db.RollbackTran();
return default;
}
else
{
Model.ProjectID = result;
Model.UseStatus = 1;
Model.SortCode = db.Queryable().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.CommitTran();
return result;
}
catch (Exception ex)
{
db.RollbackTran();
throw;
}
}
}
///
/// 删除拓展
///
public bool DeleteEx(long ID)
{
if (ID < 0)
{
return default;
}
using (var db = new SqlSugarClient(ConnectionConfig))
{
try
{
db.BeginTran();
var project = db.Queryable().ToList().Where(x => x.ID == ID).First();
var result = db.Deleteable(project).Where(x => x.ID == project.ID).ExecuteCommand() > 0;
if (!result)
{
db.RollbackTran();
return default;
}
else
{
var Item = db.Queryable().ToList();
var itemresult = db.Deleteable(Item).Where(x => x.ProjectID == project.ID).ExecuteCommand() > 0;
if (!itemresult)
{
db.RollbackTran();
return default;
}
else
{
var Model = db.Queryable().ToList();
var Modelresult = db.Deleteable(Model).Where(x => x.ProjectID == project.ID).ExecuteCommand() > 0;
if (!Modelresult)
{
db.RollbackTran();
return default;
}
else
{
var Map = db.Queryable().ToList();
var Mapresult = db.Deleteable(Map).Where(x => x.ProjectID == project.ID).ExecuteCommand() > 0;
if (Mapresult)
{
db.RollbackTran();
return default;
}
}
}
}
db.CommitTran();
return result;
}
catch (Exception ex)
{
db.RollbackTran();
throw;
}
}
}
///
/// 编辑拓展
///
public bool UpdateEx(Entity.XhsProject project, Entity.XhsProjectItem Item)
{
if (project == null || Item == null)
{
return default;
}
using (var db = new SqlSugarClient(ConnectionConfig))
{
try
{
db.BeginTran();
var result = db.Updateable(project).ExecuteCommand() > 0;
if (!result)
{
db.RollbackTran();
return default;
}
else
{
var itemresult = db.Updateable(Item).ExecuteCommand() > 0;
if (!itemresult)
{
db.RollbackTran();
return default;
}
}
db.CommitTran();
return true;
}
catch (Exception ex)
{
db.RollbackTran();
return default;
throw;
}
}
}
}
}