using HL_FristAidPlatform_Help;
using HL_FristAidPlatform_IDataBase;
using HL_FristAidPlatform_Models;
using SqlSugar;
namespace HL_FristAidPlatform_DataBase
{
///
/// 我的收藏
///
public class T_Service_EnshrineDB : BaseDB, IT_Service_Enshrine
{
public SqlSugarClient db = GetClient();
#region 增
///
/// 新增
///
/// 实体
///
public bool Add(T_Service_Enshrine model)
{
return db.Insertable(model).ExecuteCommand() == 0 ? false : true;
}
///
/// 新增 仅更新赋值的字段
///
/// 实体类
///
public int AddNotNullColumns(T_Service_Enshrine model)
{
return db.Insertable(model).IgnoreColumns(ignoreNullColumn: true).ExecuteCommand();
}
///
/// 新增 仅更新赋值的字段
/// 用于移动端
///
/// 实体类
///
public int AddForApp(T_Service_Enshrine model)
{
return db.Insertable(model).IgnoreColumns(ignoreNullColumn: true).ExecuteCommand();
}
#endregion
#region 删
///
/// 删除一条数据
///
public bool Delete(long ID)
{
return db.Deleteable(it => it.ID == ID).ExecuteCommand() == 0 ? false : true; ;
}
///
/// 逻辑删除
///
/// 实体类
///
public int LogicalDelete(T_Service_Enshrine model)
{
return db.Updateable(model).UpdateColumns(it => new { it.DeleteFlag, it.EditorID, it.Editor, it.EditTime }).ExecuteCommand();
}
///
/// 删除
/// 用于移动端
///
/// 实体类,ID必填
///
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 改
///
/// 更新一条数据
///
public bool Update(T_Service_Enshrine model)
{
return db.Updateable(model).ExecuteCommand() == 0 ? false : true;
}
///
/// 仅更新赋值的字段
///
/// 实体类
///
public int UpdateNotNullColumns(T_Service_Enshrine model)
{
return db.Updateable(model).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand();
}
///
/// 修改--仅更新赋值的字段
/// 用于移动端
///
/// 实体类
///
public int UpdateForApp(T_Service_Enshrine model)
{
return db.Updateable(model).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand();
}
#endregion
#region 查
///
/// 得到一个对象实体
///
public T_Service_Enshrine GetModel(long ID)
{
return db.Queryable().First(it => it.ID == ID);
}
///
/// 得到一个对象实体
/// 用于移动端
///
/// 患者编号
/// GUID
///
public TableModel GetModelForApp(long id, string guid)
{
TableModel t = new TableModel();
var listMode = db.Queryable()
.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;
}
///
/// 根据分页获得数据列表
///
/// 起始页
/// 每页条数
/// 用户编号
/// 类型 1:病例
public TableModel GetPageList(int pageIndex, int pageSize, long userId, int type)
{
int TotalNumber = 0;
TableModel t = new TableModel();
//病例
if (type == 1)
{
var listMode = db.Queryable((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;
}
}
///
/// 根据分页获得数据列表
/// 用于移动端
///
/// 起始页
/// 每页条数
/// 用户编号
/// 类型 1:病例
public TableModel GetPageListForApp(int pageIndex, int pageSize, long userId, int type)
{
int TotalNumber = 0;
TableModel t = new TableModel();
//病例
if (type == 1)
{
var listMode = db.Queryable((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;
}
}
///
/// 查询具体收藏
///
/// 用户编号
/// 类型 1:病例
/// 动态编号
///
public TableModel GetModelByDynamicGuid(long userId, int type, string dynamicGuid)
{
TableModel t = new TableModel();
//病例
if (type == 1)
{
var listMode = db.Queryable((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
}
}