iT邦幫忙

0

想請問有辦法在顯示所有資料的狀態下依據條件的狀況決定是否新增資料到資料庫嗎?

  • 分享至 

  • xImage

https://ithelp.ithome.com.tw/upload/images/20190510/20110132Z024uow7cP.jpg

這是我的其中一個頁面的畫面,功能大略上是完成,但仍有一些小瑕疵

我的排床位置若有床位的話,排床狀態就是顯示已處理,反之就是未處理

雖然已經成功地顯示出來,但是由於我的排床狀態並沒有值,所以無法用上面兩個

radiobutton做查詢的動作,所以我想在載入頁面時根據有沒有床位的判斷

來決定要塞入什麼值到資料庫裡

以下是我的程式碼

 public List<HDRequireDto> FindRequire(string cid, DateTime StartDate, DateTime EndDate ,string status)
        {
            string amsg = string.Empty;
            string NAME_OF_NOT_FOUND = "錯誤";
            string bedstatus = "未排床";
            try
            {
                EndDate = new DateTime(EndDate.Year, EndDate.Month, EndDate.Day, 0, 0, 0).AddDays(1);
         
                var query = (from x in _repo.HD_REQUIRE
                             where (x.CID == cid && x.NOTICE_DATETIME >= StartDate && x.NOTICE_DATETIME < EndDate)&&
                             (status == null || status == x.STATUS)
                             select new HDRequireDto
                             {
                                 GUID = x.GUID,
                                 CID = x.CID,
                                 NOTICE_DATETIME = x.NOTICE_DATETIME,
                                 NOTICE_EMP_ID = x.NOTICE_EMP_ID,
                                 PAT_GUID = x.PAT_GUID,
                                 PAT_SOURCE = x.PAT_SOURCE,
                                 PATNO = x.PATNO,
                                 IPD_BED_NO = x.IPD_BED_NO,
                                 HD_METHOD = x.HD_METHOD,                                 
                                 FREQ = x.FREQ,
                                 MEMO = x.MEMO,
                                 STATUS=x.STATUS,
                                 CRE_DATE = x.CRE_DATE,                                
                                 CRE_UID = x.CRE_UID,
                                 MOD_DATE = x.MOD_DATE,
                                 MOD_UID = x.MOD_UID                          
                             }).OrderByDescending(x => x.NOTICE_DATETIME).ToList<HDRequireDto>();
             
                //方式
                List<NCODE> codList = _repo.NCODE.Where(x => x.CID == cid && x.NC_ID == NcId.MethodList).ToList<NCODE>();
         
                //頻率
                List<NCODE> codList2 = _repo.NCODE.Where(x => x.CID == cid && x.NC_ID == NcId.FreqList).ToList<NCODE>();
             
                foreach (HDRequireDto dto in query)
                {
                   
                    //護士名字                  
                    var Name = _repo.EMPLOYEE.FirstOrDefault(x => x.CID == dto.CID && x.EMP_ID == dto.NOTICE_EMP_ID);
                    dto.Name = (Name == null) ? NAME_OF_NOT_FOUND : Name.EMP_NAME;
                 
                    //來源
                  
                    var Source = _repo.NCODE.FirstOrDefault(x => x.CID == dto.CID && x.NC_ID == NcId.PatSourceList && x.NC_CODE == dto.PAT_SOURCE);
                    dto.Source = (Source == null) ? NAME_OF_NOT_FOUND : Source.NC_NAME;
                    //病患名字
                 
                    var PatName = _repo.PATIENT.FirstOrDefault(x => x.CID == dto.CID && x.GUID == dto.PAT_GUID);
                    dto.PatName = (PatName == null) ? NAME_OF_NOT_FOUND : PatName.PAT_NAME;

                 

                    var BedArrangeStatus = _repo.PAT_SCHEDULE.FirstOrDefault(x => x.PAT_GUID == dto.PAT_GUID && x.DIA_DATE == DbFunctions.TruncateTime(dto.NOTICE_DATETIME));
                    dto.BedArrangeStatus = (BedArrangeStatus == null) ? bedstatus : BedArrangeStatus.BED_NO;

                    if (dto.BedArrangeStatus != "未排床")
                    {
                        dto.STATUS = "已處理";

                    }
                                                 
                    if (String.IsNullOrWhiteSpace(dto.FREQ)) continue;
                    string[] freq = dto.FREQ.Split(',');
                    if (freq == null || freq.Length == 0) continue;
                    for (int i = 0; i < freq.Length; i++)
                    {
                        string freqname = GetFreqName(freq[i], codList2);
                        dto.FreqName += freqname;
                        if (i != (freq.Length - 1)) dto.FreqName += ",";
                    }
                }

                return query;
            }
        
        }
小魚 iT邦大師 1 級 ‧ 2019-05-10 13:53:11 檢舉
沒有值的話,
總是有判斷的方式吧,
用同樣方式判斷就好.
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答