using HL_FristAidPlatform_Help; using HL_FristAidPlatform_IDataBase; using HL_FristAidPlatform_Models; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HL_FristAidPlatform_DataBase { public class T_Service_ApoplexyScreenFamilyHistoryDB : BaseDB, IT_Service_ApoplexyScreenFamilyHistory { public SqlSugarClient db = GetClient(); /// /// 保存家族史 /// /// /// public bool SaveScreenFamilyHistory(T_Service_ApoplexyScreenFamilyHistory familyHistory) { try { db.Ado.BeginTran(); var oneClass = db.Queryable().Where(i => i.PatientGUID == familyHistory.PatientGUID && i.Flag == familyHistory.Flag && i.DeleteFlag == 0).First(); if (oneClass != null) { if (oneClass.FillinStatus == "0") { T_Service_ApoplexyScreenInfo screenInfo = new T_Service_ApoplexyScreenInfo(); screenInfo = db.Queryable().Where(i => i.GUID == familyHistory.PatientGUID).First(); screenInfo.RescreeningStatus = screenInfo.RescreeningStatus + 1; db.Updateable(screenInfo).UpdateColumns(it => new { it.RescreeningStatus }).ExecuteCommand(); } familyHistory.GUID = oneClass.GUID; db.Updateable(familyHistory).IgnoreColumns(i => new { i.ID, i.CreateID, i.CreateTime }).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand() ; } else { familyHistory.GUID = Guid.NewGuid().ToString(); familyHistory.CreateTime = DateTime.Now; db.Insertable(familyHistory).IgnoreColumns(ignoreNullColumn: true).ExecuteCommand(); T_Service_ApoplexyScreenInfo screenInfo = new T_Service_ApoplexyScreenInfo(); screenInfo = db.Queryable().Where(i => i.GUID == familyHistory.PatientGUID).First(); screenInfo.RescreeningStatus = screenInfo.RescreeningStatus + 1; db.Updateable(screenInfo).UpdateColumns(it => new { it.RescreeningStatus }).ExecuteCommand(); } db.Ado.CommitTran(); return true; } catch (Exception ex) { db.Ado.RollbackTran(); Help.WriteErrorLog("卒中高危筛查保存家族史(SaveScreenFamilyHistory)", ex.ToString()); return false; } } /// /// 获取家族史 /// /// /// public T_Service_ApoplexyScreenFamilyHistory GetScreenFamilyHistory(string patientGuid, string flag) { return db.Queryable().Where(i => i.PatientGUID == patientGuid && i.Flag == flag && i.DeleteFlag == 0).First(); } } }