StableVersion4.3/HL_FristAidPlatform_DataBase/Service/T_Service_EnshrineDB.cs

306 lines
12 KiB
C#
Raw Normal View History

2024-03-11 09:47:34 +08:00
using HL_FristAidPlatform_Help;
using HL_FristAidPlatform_IDataBase;
using HL_FristAidPlatform_Models;
using SqlSugar;
namespace HL_FristAidPlatform_DataBase
{
/// <summary>
/// 我的收藏
/// </summary>
public class T_Service_EnshrineDB : BaseDB, IT_Service_Enshrine
{
public SqlSugarClient db = GetClient();
#region 增
/// <summary>
/// 新增
/// </summary>
/// <param name="model">实体</param>
/// <returns></returns>
public bool Add(T_Service_Enshrine model)
{
return db.Insertable(model).ExecuteCommand() == 0 ? false : true;
}
/// <summary>
/// 新增 仅更新赋值的字段
/// </summary>
/// <param name="model">实体类</param>
/// <returns></returns>
public int AddNotNullColumns(T_Service_Enshrine model)
{
return db.Insertable(model).IgnoreColumns(ignoreNullColumn: true).ExecuteCommand();
}
/// <summary>
/// 新增 仅更新赋值的字段
/// 用于移动端
/// </summary>
/// <param name="model">实体类</param>
/// <returns></returns>
public int AddForApp(T_Service_Enshrine model)
{
return db.Insertable(model).IgnoreColumns(ignoreNullColumn: true).ExecuteCommand();
}
#endregion
#region 删
/// <summary>
/// 删除一条数据
/// </summary>
public bool Delete(long ID)
{
return db.Deleteable<T_Service_Enshrine>(it => it.ID == ID).ExecuteCommand() == 0 ? false : true; ;
}
/// <summary>
/// 逻辑删除
/// </summary>
/// <param name="model">实体类</param>
/// <returns></returns>
public int LogicalDelete(T_Service_Enshrine model)
{
return db.Updateable(model).UpdateColumns(it => new { it.DeleteFlag, it.EditorID, it.Editor, it.EditTime }).ExecuteCommand();
}
/// <summary>
/// 删除
/// 用于移动端
/// </summary>
/// <param name="model">实体类ID必填</param>
/// <returns></returns>
public int DeleteForApp(T_Service_Enshrine model)
{
return db.Updateable(model).UpdateColumns(it => new { it.DeleteFlag, it.EditorID, it.Editor, it.EditTime }).ExecuteCommand();
}
#endregion
#region 改
/// <summary>
/// 更新一条数据
/// </summary>
public bool Update(T_Service_Enshrine model)
{
return db.Updateable(model).ExecuteCommand() == 0 ? false : true;
}
/// <summary>
/// 仅更新赋值的字段
/// </summary>
/// <param name="model">实体类</param>
/// <returns></returns>
public int UpdateNotNullColumns(T_Service_Enshrine model)
{
return db.Updateable(model).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand();
}
/// <summary>
/// 修改--仅更新赋值的字段
/// 用于移动端
/// </summary>
/// <param name="model">实体类</param>
/// <returns></returns>
public int UpdateForApp(T_Service_Enshrine model)
{
return db.Updateable(model).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand();
}
#endregion
#region 查
/// <summary>
/// 得到一个对象实体
/// </summary>
public T_Service_Enshrine GetModel(long ID)
{
return db.Queryable<T_Service_Enshrine>().First(it => it.ID == ID);
}
/// <summary>
/// 得到一个对象实体
/// 用于移动端
/// </summary>
/// <param name="id">患者编号</param>
/// <param name="guid">GUID</param>
/// <returns></returns>
public TableModel<T_Service_Enshrine> GetModelForApp(long id, string guid)
{
TableModel<T_Service_Enshrine> t = new TableModel<T_Service_Enshrine>();
var listMode = db.Queryable<T_Service_Enshrine>()
.Where(it => it.DeleteFlag == 0)
.WhereIF(id > 0, it => it.ID == id && it.DeleteFlag == 0)
.WhereIF(!string.IsNullOrEmpty(guid), it => it.GUID == guid).ToList();
t.Code = 0;
t.PageCount = listMode.Count;
t.TotalNumber = listMode.Count;
t.Data = listMode;
t.Msg = "成功";
return t;
}
/// <summary>
/// 根据分页获得数据列表
/// </summary>
/// <param name="pageIndex">起始页</param>
/// <param name="pageSize">每页条数</param>
/// <param name="userGuid">用户编号</param>
/// <param name="type">类型 1:病例</param>
public TableModel<T_Service_EnshrineModel> GetPageList(int pageIndex, int pageSize, long userId, int type)
{
int TotalNumber = 0;
TableModel<T_Service_EnshrineModel> t = new TableModel<T_Service_EnshrineModel>();
//病例
if (type == 1)
{
var listMode = db.Queryable<T_Service_Enshrine, T_Service_Pathography, T_Service_Patient>((Enshrine, Pathography, Patient) => new object[] {
JoinType.Left,Enshrine.DynamicGuid==Pathography.GUID,
JoinType.Left,Pathography.PatientGuid==Patient.GUID,
})
.Where((Enshrine, Pathography, Patient) => Enshrine.UserID == userId && Enshrine.Type == type && Enshrine.DeleteFlag == 0 && Patient.DeleteFlag == 0)
.Select((Enshrine, Pathography, Patient) => new T_Service_EnshrineModel
{
ID = Enshrine.ID,
GUID = Enshrine.GUID,
UserID = Enshrine.UserID,
Type = Enshrine.Type,
DynamicGuid = Enshrine.DynamicGuid,
DeleteFlag = Enshrine.DeleteFlag,
CreationDate = Enshrine.CreationDate,
CreatorID = Enshrine.CreatorID,
Creator = Enshrine.Creator,
EditTime = Enshrine.EditTime,
EditorID = Enshrine.EditorID,
Editor = Enshrine.Editor,
Content = Pathography.Editor,
Name = Patient.Creator,
Gender = Patient.Gender,
Age = Patient.Age,
Age_Unit = Patient.Age_Unit,
}).OrderBy(Patient => Patient.CreationDate, OrderByType.Desc).ToPageList(pageIndex, pageSize, ref TotalNumber);
t.Code = 0;
t.PageCount = listMode.Count;
t.TotalNumber = TotalNumber;
t.Data = listMode;
t.Msg = "成功";
return t;
}
else
{
return null;
}
}
/// <summary>
/// 根据分页获得数据列表
/// 用于移动端
/// </summary>
/// <param name="pageIndex">起始页</param>
/// <param name="pageSize">每页条数</param>
/// <param name="userGuid">用户编号</param>
/// <param name="type">类型 1:病例</param>
public TableModel<T_Service_EnshrineModel> GetPageListForApp(int pageIndex, int pageSize, long userId, int type)
{
int TotalNumber = 0;
TableModel<T_Service_EnshrineModel> t = new TableModel<T_Service_EnshrineModel>();
//病例
if (type == 1)
{
var listMode = db.Queryable<T_Service_Enshrine, T_Service_Pathography, T_Service_Patient>((Enshrine, Pathography, Patient) => new object[] {
JoinType.Left,Enshrine.DynamicGuid==Pathography.GUID,
JoinType.Left,Pathography.PatientGuid==Patient.GUID,
})
.Where((Enshrine, Pathography, Patient) => Enshrine.UserID == userId && Enshrine.Type == type && Enshrine.DeleteFlag == 0 && Patient.DeleteFlag == 0)
.Select((Enshrine, Pathography, Patient) => new T_Service_EnshrineModel
{
ID = Enshrine.ID,
GUID = Enshrine.GUID,
UserID = Enshrine.UserID,
Type = Enshrine.Type,
DynamicGuid = Enshrine.DynamicGuid,
DeleteFlag = Enshrine.DeleteFlag,
CreationDate = Enshrine.CreationDate,
CreatorID = Enshrine.CreatorID,
Creator = Enshrine.Creator,
EditTime = Enshrine.EditTime,
EditorID = Enshrine.EditorID,
Editor = Enshrine.Editor,
Content = Pathography.Editor,
Name = Patient.Creator,
Gender = Patient.Gender,
Age = Patient.Age,
Age_Unit = Patient.Age_Unit,
}).OrderBy(Patient => Patient.CreationDate, OrderByType.Desc).ToPageList(pageIndex, pageSize, ref TotalNumber);
t.Code = 0;
t.PageCount = listMode.Count;
t.TotalNumber = TotalNumber;
t.Data = listMode;
t.Msg = "成功";
return t;
}
else
{
return null;
}
}
/// <summary>
/// 查询具体收藏
/// </summary>
/// <param name="userGuid">用户编号</param>
/// <param name="type">类型 1:病例</param>
/// <param name="dynamicGuid">动态编号</param>
/// <returns></returns>
public TableModel<T_Service_EnshrineModel> GetModelByDynamicGuid(long userId, int type, string dynamicGuid)
{
TableModel<T_Service_EnshrineModel> t = new TableModel<T_Service_EnshrineModel>();
//病例
if (type == 1)
{
var listMode = db.Queryable<T_Service_Enshrine, T_Service_Pathography, T_Service_Patient>((Enshrine, Pathography, Patient) => new object[] {
JoinType.Left,Enshrine.DynamicGuid==Pathography.GUID,
JoinType.Left,Pathography.PatientGuid==Patient.GUID,
})
.Where((Enshrine, Pathography, Patient) => Enshrine.UserID == userId && Pathography.GUID == dynamicGuid && Enshrine.Type == type && Enshrine.DeleteFlag == 0 && Patient.DeleteFlag == 0)
.Select((Enshrine, Pathography, Patient) => new T_Service_EnshrineModel
{
ID = Enshrine.ID,
GUID = Enshrine.GUID,
UserID = Enshrine.UserID,
Type = Enshrine.Type,
DynamicGuid = Enshrine.DynamicGuid,
DeleteFlag = Enshrine.DeleteFlag,
CreationDate = Enshrine.CreationDate,
CreatorID = Enshrine.CreatorID,
Creator = Enshrine.Creator,
EditTime = Enshrine.EditTime,
EditorID = Enshrine.EditorID,
Editor = Enshrine.Editor,
Content = Pathography.Editor,
Name = Patient.Creator,
Gender = Patient.Gender,
Age = Patient.Age,
Age_Unit = Patient.Age_Unit,
}).OrderBy(Patient => Patient.CreationDate, OrderByType.Desc).ToList();
t.Code = 0;
t.PageCount = listMode.Count;
t.TotalNumber = listMode.Count;
t.Data = listMode;
t.Msg = "成功";
return t;
}
else
{
return null;
}
}
#endregion
}
}