using HL_FristAidPlatform_Help;
using HL_FristAidPlatform_IDataBase;
using HL_FristAidPlatform_Models;
using SqlSugar;
using System.Collections.Generic;
namespace HL_FristAidPlatform_DataBase
{
///
/// 时间轴排序模板,实现按不同来院方式进行展示
///
public class T_Base_TimeAxis_TempletDB : BaseDB, IT_Base_TimeAxis_Templet
{
public SqlSugarClient db = GetClient();
#region 增
///
/// 增加一条数据
///
public bool Add(T_Base_TimeAxis_Templet model)
{
return db.Insertable(model).IgnoreColumns(ignoreNullColumn: true).ExecuteCommand() == 1 ? true : false;
}
#endregion
#region 删
///
/// 删除一条数据
///
public bool Delete(int id)
{
return db.Deleteable().Where(new T_Base_TimeAxis_Templet() { ID = id }).ExecuteCommand() == 1 ? true : false;
}
#endregion
#region 改
///
/// 更新一条数据
///
public bool Update(T_Base_TimeAxis_Templet model)
{
return db.Updateable(model).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand() == 1 ? true : false;
}
#endregion
#region 查
///
/// 获得数据列表
///
/// 关键词
/// 模块ID
/// 来院方式
///
public TableModel GetList(string keyWord, long systemModuleID, string hospitalModeValue)
{
TableModel t = new TableModel();
var listMode = db.Queryable((a, b, c) => new object[] {
JoinType.Left,a.SystemModuleID==b.ID,
JoinType.Left,a.HospitalModeValue==c.Value && a.SystemModuleID==c.SystemModuleID
}).
Where((a, b) => a.SystemModuleID == systemModuleID && b.DeleteFlag == 0).
WhereIF(!string.IsNullOrEmpty(keyWord), (a) => a.TempletName.Contains(keyWord)).
WhereIF(!string.IsNullOrEmpty(hospitalModeValue), (a) => a.HospitalModeValue == hospitalModeValue).
Select((a, b, c) => new T_Base_TimeAxis_TempletModel
{
ID = a.ID,
GUID = a.GUID.ToString(),
SystemModuleID = a.SystemModuleID,
TempletName = a.TempletName,
HospitalModeValue = a.HospitalModeValue,
IsGreenChannel = a.IsGreenChannel,
TotalPerRow = a.TotalPerRow,
IncrementalInterval_X = a.IncrementalInterval_X,
IncrementalInterval_Y = a.IncrementalInterval_Y,
LocationX_Start = a.LocationX_Start,
LocationY_Start = a.LocationY_Start,
Remark = a.Remark,
DeleteFlag = a.DeleteFlag,
OrderBy = a.OrderBy,
CreationDate = a.CreationDate,
ModificationDate = a.ModificationDate,
Thrombolysis = a.Thrombolysis,
Interventional_Therapy = a.Interventional_Therapy,
SystemModule = b.SystemName.ToString(),
HospitalModeName = c.Content,
}).OrderBy((a) => a.OrderBy).ToList();
t.Code = 0;
t.TotalNumber = listMode.Count;
t.Data = listMode;
t.Msg = "成功";
return t;
}
///
/// 获得前几行数据
///
public T_Base_TimeAxis_Templet Get(int id)
{
return db.Queryable().First(it => it.ID == id);
}
///
/// 根据系统模块编号数据列表
///
/// 系统模块编号
///
public TableModel GetListBySystemModuleID(long systemModuleID)
{
List data = db.Queryable().Where(it => it.SystemModuleID == systemModuleID && it.DeleteFlag == 0).ToList();
TableModel list = new TableModel();
list.Code = 0;
list.TotalNumber = data.Count;
list.Data = data;
list.Msg = "成功";
return list;
}
///
/// 判断是否存在 存在返回实体
///
/// 实体
///
public TableModel CheckIsExist(T_Base_TimeAxis_Templet model)
{
TableModel t = new TableModel();
var listMode = db.Queryable()
.Where(a => a.SystemModuleID == model.SystemModuleID && a.HospitalModeValue == model.HospitalModeValue && a.IsGreenChannel == model.IsGreenChannel && a.Thrombolysis == model.Thrombolysis && a.Interventional_Therapy == model.Interventional_Therapy && a.DeleteFlag == 0)
.WhereIF(model.ID > 0, a => a.ID != model.ID).ToList();
t.Code = 0;
t.PageCount = listMode.Count;
t.TotalNumber = listMode.Count;
t.Data = listMode;
t.Msg = "成功";
return t;
}
#endregion
}
}