using HL_FristAidPlatform_Help;
using HL_FristAidPlatform_IDataBase;
using HL_FristAidPlatform_Models;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Data;
namespace HL_FristAidPlatform_DataBase
{
///
/// 出院带药 V2.1版
///
public class T_Service_ChestPain_OutDrugDetailDB : BaseDB, IT_Service_ChestPain_OutDrugDetail
{
public SqlSugarClient db = GetClient();
#region 增
///
/// 新增
///
/// 实体
///
public bool Add(T_Service_ChestPain_OutDrugDetail model)
{
return db.Insertable(model).ExecuteCommand() == 0 ? false : true;
}
///
/// 新增 仅更新赋值的字段
///
/// 实体类
///
public int AddNotNullColumns(T_Service_ChestPain_OutDrugDetail model)
{
return db.Insertable(model).IgnoreColumns(ignoreNullColumn: true).ExecuteCommand();
}
///
/// 新增 仅更新赋值的字段
/// 用于移动端
///
/// 实体类
///
public int AddForApp(T_Service_ChestPain_OutDrugDetail 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_ChestPain_OutDrugDetail model)
{
return db.Updateable(model).UpdateColumns(it => new { it.DeleteFlag, it.EditorID, it.Editor, it.EditTime }).Where(it => it.ID == model.ID).ExecuteCommand();
//return db.Updateable(model).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand();
//更新忽略null字段
}
///
/// 删除
/// 用于移动端
///
/// 实体类,ID必填
///
public int DeleteForApp(T_Service_ChestPain_OutDrugDetail model)
{
return db.Updateable(model).UpdateColumns(it => new { it.DeleteFlag, it.EditorID, it.Editor, it.EditTime }).ExecuteCommand();
}
#endregion
#region 改
///
/// 更新一条数据
///
public bool Update(T_Service_ChestPain_OutDrugDetail model)
{
return db.Updateable(model).ExecuteCommand() == 0 ? false : true;
}
///
/// 仅更新赋值的字段
///
/// 实体类
///
public int UpdateNotNullColumns(T_Service_ChestPain_OutDrugDetail model)
{
return db.Updateable(model).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand();
}
///
/// 修改--仅更新赋值的字段
/// 用于移动端
///
/// 实体类
///
public int UpdateForApp(T_Service_ChestPain_OutDrugDetail model)
{
return db.Updateable(model).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand();
}
#endregion
#region 查
///
/// 得到一个对象实体
///
public T_Service_ChestPain_OutDrugDetail 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;
}
///
/// 获得前几行数据
///
/// 起始页
/// 每页条数
///
public TableModel GetPageList(int pageIndex, int pageSize)
{
int total = 0;
List data = db.Queryable().Where(it => it.DeleteFlag == 0).ToPageList(pageIndex, pageSize, ref total);
TableModel t = new TableModel();
t.Code = 0;
t.PageCount = data.Count;
t.TotalNumber = total;
t.Data = data;
t.Msg = "成功";
return t;
}
///
/// 根据患者编号(GUID) 获取数据信息
///
/// 病人编号(GUID)
///
public string GetByPatientGuid(string patientGuid)
{
try
{
//case when 是为了将T_Base_PublicDictionary表中的药物类型与字典表里的类型相对应匹配
string SqlStr = string.Format(@"SELECT a.*,(SELECT [TEXT] FROM T_Base_PublicDictionary WHERE Type=(CASE a.Type WHEN 1 THEN '4' WHEN 2 THEN '5' WHEN 3 THEN '6' WHEN 4 THEN '7' END) AND Value=a.Name) AS NameText FROM T_Service_ChestPain_OutDrugDetail a WHERE a.PatientGuid='{0}' AND a.DeleteFlag=0", patientGuid);
DataTable dt = db.Ado.GetDataTable(SqlStr);
return Help.DataTableToJsonStr(dt);
}
catch (Exception)
{
throw;
}
}
///
/// 根据患者编号(GUID) 获取数据信息
/// 用于移动端
///
/// 病人编号(GUID)
///
public string GetByPatientGuidForApp(string patientGuid)
{
try
{
//case when 是为了将T_Base_PublicDictionary表中的药物类型与字典表里的类型相对应匹配
string SqlStr = string.Format(@"SELECT a.*,(SELECT [TEXT] FROM T_Base_PublicDictionary WHERE Type=(CASE a.Type WHEN 1 THEN '4' WHEN 2 THEN '5' WHEN 3 THEN '6' WHEN 4 THEN '7' END) AND Value=a.Name) AS NameText FROM T_Service_ChestPain_OutDrugDetail a WHERE a.PatientGuid='{0}' AND a.DeleteFlag=0", patientGuid);
DataTable dt = db.Ado.GetDataTable(SqlStr);
return Help.DataTableToJsonStr(dt);
}
catch (Exception)
{
throw;
}
}
#endregion
///
/// 逻辑删除 出院带药
///
///
///
public bool UpdateDelete(T_Service_ChestPain_OutDrugDetail model)
{
var oneClass = db.Queryable().Where(i => i.GUID == model.GUID).First();
if (oneClass != null)
{
//oneClass.DeleteFlag = model.DeleteFlag;
//oneClass.Editor = model.Editor;
//oneClass.EditorID = model.EditorID;
//oneClass.EditTime = DateTime.Now;
//return db.Updateable().IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand() == 1 ? true : false;
return db.Updateable(model).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand() == 0 ? false : true;
}
else
{
return false;
}
}
}
}