StableVersion4.3/HL_FristAidPlatform_DataBase/Service/T_Service_EnshrineDB.cs

306 lines
12 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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
}
}