Example #1
0
        public ActionResult Index(IEnumerable <string> chbx)
        {
            ViewBag.P_ID = Session["PatientID"];
            PresentModel p = new PresentModel();

            //查詢選擇的藥物劑量
            List <Dictionary <string, object> > mRet_Dose = new List <Dictionary <string, object> >();

            mRet_Dose = p.GetChecklistMed(chbx, Session["PatientID"].ToString());

            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);

            ViewBag.item_MedDose = jsonSeries_mRet_Dose;


            /*以下是病患基本數值會用到的參數*/
            IEnumerable <PresentViewModel> getPatientData = p.GetP_ID_Value_Session(Session["PatientID"].ToString());
            string jsonSeries = JsonConvert.SerializeObject(getPatientData);

            ViewBag.item = jsonSeries;

            //抓側邊欄藥物名稱
            IEnumerable <PresentViewModel> vm_med = p.GetMed(Session["PatientID"].ToString());

            //病歷時間
            List <string> vm_medTime = p.GetMedTime_Session(Session["PatientID"].ToString());
            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'}";
                }
            }
            ViewBag.item_medTime = medTimeStr;

            return(View(vm_med));
        }