using Yw.DAL.PostgreSql;
|
|
namespace HStation.DAL.PostgreSql
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public partial class XhsProject : BaseDAL_Paras_Flags_TagName_Sorter_UseStatus<Entity.XhsProject>, IXhsProject
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public override ConnectionConfig ConnectionConfig
|
{
|
get { return Xhs.ConfigHelper.PostgreSqlConnectionConfig; }
|
}
|
|
/// <summary>
|
/// 插入拓展
|
/// </summary>
|
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();
|
var prjlist = db.Queryable<Entity.XhsProject>().ToList();
|
if (prjlist.Count > 0)
|
{
|
project.SortCode = prjlist.Max(x => x.SortCode) + 1;
|
}
|
else
|
{
|
project.SortCode = 0;
|
}
|
project.UseStatus = 1;
|
var nowday = prjlist.Where(x => x.CreateTime.Date == DateTime.Now.Date).ToList();
|
project.PrjNumber = "Prj" + DateTime.Now.ToString("yyyyMMdd") + (nowday.Count + 1).ToString("D4");
|
var result = db.Insertable(project).ExecuteReturnSnowflakeId();
|
if (result < 0)
|
{
|
db.RollbackTran();
|
return default;
|
}
|
else
|
{
|
Item.ProjectID = result;
|
Item.UseStatus = 1;
|
var itemlist = db.Queryable<Entity.XhsProjectItem>().ToList();
|
if (itemlist.Count > 0)
|
{
|
Item.SortCode = itemlist.Max(x => x.SortCode) + 1;
|
}
|
else
|
{
|
Item.SortCode = 0;
|
}
|
var itemresult = db.Insertable(Item).ExecuteReturnSnowflakeId();
|
if (itemresult < 0)
|
{
|
db.RollbackTran();
|
return default;
|
}
|
else
|
{
|
Model.ProjectID = result;
|
Model.UseStatus = 1;
|
var modellist = db.Queryable<Entity.XhsProjectItemModel>().ToList();
|
if (modellist.Count > 0)
|
{
|
Model.SortCode = modellist.Max(x => x.SortCode) + 1;
|
}
|
else
|
{
|
Model.SortCode = 0;
|
}
|
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;
|
}
|
}
|
}
|
|
/// <summary>
|
/// 编辑拓展
|
/// </summary>
|
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;
|
}
|
}
|
}
|
|
/// <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)
|
{
|
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)
|
{
|
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)
|
{
|
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)
|
{
|
db.RollbackTran();
|
return default;
|
}
|
}
|
}
|
}
|
db.CommitTran();
|
return result;
|
}
|
catch (Exception ex)
|
{
|
db.RollbackTran();
|
throw;
|
}
|
}
|
}
|
}
|
}
|