// GET: Prescription details public ActionResult Prescription() { string id = Request.QueryString["id"]; if (string.IsNullOrEmpty(id)) { return(View("PatientList", "Pharmacy", null)); } List <FormExamineMedicine> medicinelist = _unitOfWork.FormExamineMedicineRepository.Get(x => x.FormExamine.FormMedicalID.Value.ToString() == id && x.RowStatus == 0).ToList(); PrescriptionModel prescriptionModel = new PrescriptionModel(); prescriptionModel.FormMedicalID = long.Parse(id); //get stock var _ids = medicinelist.Select(x => x.ProductID).Distinct(); var _stockCollections = _unitOfWork.ProductInGudangRepository.Get(x => _ids.Contains(x.ProductId)).Select(x => new { x.ProductId, x.stock }); foreach (var item in medicinelist) { FormExamineMedicineModel medicineModel = Mapper.Map <FormExamineMedicine, FormExamineMedicineModel>(item); FormExamineMedicineDetail detail = _unitOfWork.FormExamineMedicineDetailRepository.Get(x => x.FormExamineMedicineID.Value == item.ID && x.RowStatus == 0).FirstOrDefault(); if (detail != null) { medicineModel.Detail = Mapper.Map <FormExamineMedicineDetail, FormExamineMedicineDetailModel>(detail); } if (medicineModel.MedicineJenis != null) { switch (medicineModel.MedicineJenis.ToLower()) { case "racikan": medicineModel.Detail.ProcessType = "Racik"; break; case "non racikan": medicineModel.Detail.ProcessType = "Request"; break; default: medicineModel.Detail.ProcessType = string.Empty; break; } } prescriptionModel.Medicines.Add(medicineModel); } return(View(prescriptionModel)); }
private PoliExamineModel GeneratePoliExamineModel( string formExamineID, string loketID, string anamnesa, string diagnose, string therapy, string receipt, string finalState, string icdInformation, string poliToID, string doctorToID, List <string> concoctionMedicineList, List <string> medicineList, List <string> injectionList, List <string> labList, List <string> radiologyList, List <string> serviceList) { QueuePoli queue = _unitOfWork.RegistrationRepository.GetById(int.Parse(loketID)); PoliExamineModel model = new PoliExamineModel(); // For new registration data if (!string.IsNullOrEmpty(doctorToID)) { model.DoctorToID = int.Parse(doctorToID); } model.PoliToID = int.Parse(poliToID); // Registration model.LoketData = Mapper.Map <QueuePoli, LoketModel>(queue); // FormExamine model.ExamineData.Anamnesa = anamnesa; model.ExamineData.Diagnose = diagnose; model.ExamineData.Therapy = therapy; model.ExamineData.Result = finalState; model.ExamineData.PoliID = queue.PoliTo; model.ExamineData.DoctorID = queue.DoctorID; model.ExamineData.FormMedicalID = queue.FormMedicalID; model.ExamineData.ICDInformation = icdInformation; // FormExamineMedicine foreach (var item in medicineList) { string[] values = item.Split('|'); FormExamineMedicineModel medModel = new FormExamineMedicineModel { ProductID = int.Parse(values[0]), FormExamineID = long.Parse(formExamineID), Dose = values[1], Qty = int.Parse(values[2]), RemarkUse = values[3], TypeID = ((int)MedicineTypeEnum.Medicine).ToString() }; model.MedicineDataList.Add(medModel); } //concoction Medicine foreach (var item in concoctionMedicineList) { string[] values = item.Split('|'); FormExamineMedicineModel medModel = new FormExamineMedicineModel { ConcoctionMedicine = values[0], FormExamineID = long.Parse(formExamineID), Dose = values[1], MedicineJenis = values[2], RemarkUse = values[3], Qty = Convert.ToDouble(values[4]), TypeID = ((int)MedicineTypeEnum.Concoction).ToString() }; model.MedicineDataList.Add(medModel); } // FormExamineInjection foreach (var item in injectionList) { string[] values = item.Split('|'); FormExamineMedicineModel medModel = new FormExamineMedicineModel { ProductID = int.Parse(values[0]), FormExamineID = long.Parse(formExamineID), RemarkUse = values[2], TypeID = ((int)MedicineTypeEnum.Injection).ToString() }; model.MedicineDataList.Add(medModel); } if (!string.IsNullOrEmpty(receipt)) { FormExamineMedicineModel medModel = new FormExamineMedicineModel { FormExamineID = long.Parse(formExamineID), ConcoctionMedicine = receipt, TypeID = ((int)MedicineTypeEnum.Concoction).ToString() }; model.MedicineDataList.Add(medModel); } // FormExamineLab foreach (var item in labList) { FormExamineLabModel labModel = new FormExamineLabModel { LabItemID = int.Parse(item), LabType = ((int)LabTypeEnum.Laboratorium).ToString() }; model.LabDataList.Add(labModel); } // FormExamineRadiology foreach (var item in radiologyList) { FormExamineLabModel labModel = new FormExamineLabModel { LabItemID = int.Parse(item), LabType = ((int)LabTypeEnum.Radiology).ToString() }; model.LabDataList.Add(labModel); } // FormExamineRadiology foreach (var item in serviceList) { FormExamineServiceModel serviceModel = new FormExamineServiceModel { ServiceID = int.Parse(item) }; model.ServiceDataList.Add(serviceModel); } return(model); }