public ActionResult FormExamine() { var id = Request.QueryString["id"]; if (id == null) { return(View("Index", "Home", null)); } var request = new LoketRequest { Data = new LoketModel { Id = long.Parse(id.ToString()) } }; LoketResponse resp = new LoketHandler(_unitOfWork).GetDetail(request); PoliExamineModel model = new PoliExamineModel(); try { model.LoketData = resp.Entity; model.PatientAge = CommonUtils.GetPatientAge(model.LoketData.PatientBirthDateStr); var necessityTypeList = GetGeneralMasterByType(Constants.MasterType.NECESSITY_TYPE); var paymentTypeList = GetGeneralMasterByType(Constants.MasterType.PAYMENT_TYPE); model.NecessityTypeStr = necessityTypeList.FirstOrDefault(x => x.Value == model.LoketData.NecessityType.ToString()).Text; model.PaymentTypeStr = paymentTypeList.FirstOrDefault(x => x.Value == model.LoketData.PaymentType.ToString()).Text; // get default services List <PoliService> poliServicelist = _unitOfWork.PoliServicesRepository.Get(x => x.PoliID == model.LoketData.PoliToID && x.RowStatus == 0).ToList(); foreach (var item in poliServicelist) { ServiceModel servModel = Mapper.Map <Service, ServiceModel>(item.Service); model.DefaultServiceList.Add(servModel); } // get form examine if any FormPreExamine formPreExamine = _unitOfWork.FormPreExamineRepository.GetFirstOrDefault(x => x.FormMedicalID == model.LoketData.FormMedicalID); if (formPreExamine != null) { model.PreExamineData = Mapper.Map <FormPreExamine, PreExamineModel>(formPreExamine); } // get form examine if any FormExamine formExamine = _unitOfWork.FormExamineRepository.GetFirstOrDefault(x => x.FormMedicalID == model.LoketData.FormMedicalID); if (formExamine != null) { model.ExamineData = Mapper.Map <FormExamine, FormExamineModel>(formExamine); if (model.ExamineData.ICDInformation != null) { string[] arrIcds = model.ExamineData.ICDInformation.Split('|'); if (arrIcds.Length > 0) { model.ICDInformation1 = arrIcds[0]; model.ICDInformation2 = arrIcds[1]; model.ICDInformation3 = arrIcds[2]; } } // get form examine medicine if any List <FormExamineMedicine> formExamineMedicines = _unitOfWork.FormExamineMedicineRepository.Get(x => x.FormExamineID == formExamine.ID); foreach (var formExamineMedicine in formExamineMedicines) { if (formExamineMedicine.TypeID == ((int)MedicineTypeEnum.Medicine).ToString() || formExamineMedicine.TypeID == ((int)MedicineTypeEnum.Concoction).ToString()) { model.MedicineDataList.Add(Mapper.Map <FormExamineMedicine, FormExamineMedicineModel>(formExamineMedicine)); } else if (formExamineMedicine.TypeID == ((int)MedicineTypeEnum.Injection).ToString()) { model.InjectionDataList.Add(Mapper.Map <FormExamineMedicine, FormExamineMedicineModel>(formExamineMedicine)); } //else if (formExamineMedicine.TypeID == ((int)MedicineTypeEnum.Concoction).ToString()) // model.ConcoctionMedicine = formExamineMedicine.ConcoctionMedicine; } // get form examine lab and radiology if any List <FormExamineLab> formExamineLabs = _unitOfWork.FormExamineLabRepository.Get(x => x.FormMedicalID == formExamine.FormMedicalID); foreach (var formExamineLab in formExamineLabs) { if (formExamineLab.LabType == ((int)LabTypeEnum.Laboratorium).ToString()) { model.LabDataList.Add(Mapper.Map <FormExamineLab, FormExamineLabModel>(formExamineLab)); } else if (formExamineLab.LabType == ((int)LabTypeEnum.Radiology).ToString()) { model.RadiologyDataList.Add(Mapper.Map <FormExamineLab, FormExamineLabModel>(formExamineLab)); } } // get form examine service if any List <FormExamineService> formExamineServices = _unitOfWork.FormExamineServiceRepository.Get(x => x.FormExamineID == formExamine.ID); foreach (var formExamineService in formExamineServices) { if (!model.DefaultServiceList.Any(x => x.Id == formExamineService.ServiceID)) { model.ServiceDataList.Add(Mapper.Map <FormExamineService, FormExamineServiceModel>(formExamineService)); } } } else { model.ExamineData.DoctorID = model.LoketData.DoctorID; model.ExamineData.PoliID = model.LoketData.PoliToID; } var tempPoliList = BindDropDownPoliList(model.LoketData.PoliToID); ViewBag.PoliList = tempPoliList; ViewBag.DoctorList = BindDropDownDoctorList(int.Parse(tempPoliList[0].Value)); ViewBag.FinalStateList = BindDropDownFinalStateList(); ViewBag.ICDInfo = BindDropDownICDInfo(); } catch { return(BadRequestResponse); } return(View(model)); }
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); }
public ActionResult FormExamine( 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) { if (concoctionMedicineList == null) { concoctionMedicineList = new List <string>(); } if (medicineList == null) { medicineList = new List <string>(); } if (injectionList == null) { injectionList = new List <string>(); } if (labList == null) { labList = new List <string>(); } if (radiologyList == null) { radiologyList = new List <string>(); } if (serviceList == null) { serviceList = new List <string>(); } PoliExamineModel model = GeneratePoliExamineModel(formExamineID, loketID, anamnesa, diagnose, therapy, receipt, finalState, icdInformation, poliToID, doctorToID, concoctionMedicineList, medicineList, injectionList, labList, radiologyList, serviceList); model.Account = Account; var request = new FormExamineRequest { Data = model, }; FormExamineResponse _response = new FormExamineValidator(_unitOfWork, _context).Validate(request); if (_response.Status) { // Notify to all RegistrationHub.BroadcastDataToAllClients(); } ViewBag.Response = $"{_response.Status};{_response.Message}"; var tempPoliList = BindDropDownPoliList(model.LoketData.PoliToID); ViewBag.PoliList = tempPoliList; ViewBag.DoctorList = BindDropDownDoctorList(int.Parse(tempPoliList[0].Value)); ViewBag.FinalStateList = BindDropDownFinalStateList(); ViewBag.ICDInfo = BindDropDownICDInfo(); return(Json(new { Status = _response.Status, Message = _response.Message }, JsonRequestBehavior.AllowGet)); }