Example #1
0
        public ActionResult SearchPatient(PresentViewModel vm)
        {
            Session["PatientID"] = vm.P_ID_Value; //紀錄patientID
            PresentModel p = new PresentModel();

            //病患資料
            IEnumerable <PresentViewModel> getPatientData = p.GetP_ID_Value(vm);
            string jsonSeries = JsonConvert.SerializeObject(getPatientData);

            TempData["item"] = jsonSeries; //要跨Action要使用TempData才能記住資料

            //病患藥物劑量
            List <Dictionary <string, object> > mRet_Dose = new List <Dictionary <string, object> >();

            mRet_Dose = p.GetMedDose(vm);

            List <Dictionary <string, object> > samedateDose = new List <Dictionary <string, object> >();

            for (int i = 0; i < mRet_Dose.Count; i++)
            {
                if (samedateDose.Count == 0)
                {
                    Dictionary <string, object> dict = new Dictionary <string, object>();
                    //拿MedPRS的時間
                    dict.Add("MedPRS", mRet_Dose[i]["MedPRS"]);
                    dict.Add("Time13", mRet_Dose[i]["Time13"]);
                    dict.Add("Dose", mRet_Dose[i]["Dose"]);
                    dict.Add("DoseUnit", mRet_Dose[i]["DoseUnit"]);
                    dict.Add("MedPRS_Name", mRet_Dose[i]["MedPRS_Name"]);
                    samedateDose.Add(dict);
                }
                else
                {
                    var  mRet_DoseCount = samedateDose.Count;
                    bool IsExist        = false;
                    for (int n = 0; n < mRet_DoseCount; n++)
                    {
                        if (samedateDose[n].ContainsValue(mRet_Dose[i]["MedPRS"]) && samedateDose[n].ContainsValue(mRet_Dose[i]["Time13"]))
                        {
                            IsExist = true;
                            samedateDose[n]["Dose"] = float.Parse(samedateDose[n]["Dose"].ToString()) + float.Parse(mRet_Dose[i]["Dose"].ToString());
                            break;
                        }
                        else
                        {
                            IsExist = false;
                        }
                    }

                    if (IsExist == false)
                    {
                        Dictionary <string, object> dict = new Dictionary <string, object>();
                        //拿MedPRS的時間
                        dict.Add("MedPRS", mRet_Dose[i]["MedPRS"]);
                        dict.Add("Time13", mRet_Dose[i]["Time13"]);
                        dict.Add("Dose", mRet_Dose[i]["Dose"]);
                        dict.Add("DoseUnit", mRet_Dose[i]["DoseUnit"]);
                        dict.Add("MedPRS_Name", mRet_Dose[i]["MedPRS_Name"]);
                        samedateDose.Add(dict);
                    }
                }
            }
            string jsonSeries_mRet_Dose = JsonConvert.SerializeObject(samedateDose);

            TempData["item_MedDose"] = jsonSeries_mRet_Dose;

            //病歷時間
            List <string> vm_medTime = p.GetMedTime(vm);
            string        medTimeStr = "";

            for (int i = 0; i < vm_medTime.Count; i++)
            {
                if (i == 0)
                {
                    medTimeStr = "[ { x:" + vm_medTime[i] + ", title:'R' }";
                }
                else if (i == (vm_medTime.Count - 1))
                {
                    medTimeStr = medTimeStr + ",{ x:" + vm_medTime[i] + ", title:'R' }]";
                }
                else
                {
                    medTimeStr = medTimeStr + ",{ x:" + vm_medTime[i] + ", title:'R'}";
                }
            }
            TempData["item_medTime"] = medTimeStr;

            return(RedirectToAction("Index")); //將頁面導到 Index_0430TesT
        }