public ActionResult ExportSuratRujukanLabKeluar2Pdf(string FormMedId) { var _model = new LabReferenceLetterModel { FormMedicalID = FormMedId == null ? 0 : Convert.ToInt64(FormMedId) }; if (Session["UserLogon"] != null) { _model.Account = (AccountModel)Session["UserLogon"]; } var request = new RujukanLabRequest { Data = _model }; var response = new RujukanLabHandler(_unitOfWork, _context).GetDetailSuratRujukanLab(request); var _suratrujukankeluarmodel = new SuratRujukanKeluarModel { NoSurat = response.Entity.SuratRujukanLabKeluar.NoSurat, DokterPengirim = response.Entity.SuratRujukanLabKeluar.DokterPengirim, }; var labrefmodel = new LabReferenceLetterModel { FormMedicalID = request.Data.FormMedicalID, PatientData = response.Patient, strCekdate = response.Entity.strCekdate, SuratRujukanLabKeluar = _suratrujukankeluarmodel }; if (labrefmodel.LabItems == null) { labrefmodel.LabItems = new List <Entities.MasterData.LabItemModel>(); } labrefmodel.LabItems = response.ListLabs; labrefmodel.PatientAge = response.Entity.PatientAge; ViewBag.NoSurat = response.Entity.SuratRujukanLabKeluar.NoSurat; return(new PartialViewAsPdf(labrefmodel) { PageOrientation = Orientation.Landscape, PageSize = Size.Folio, FileName = "PrintSuratRujukanKeluar.pdf" }); //return View(labrefmodel); }
public RujukanLabResponse GetDetailSuratRujukanLab(RujukanLabRequest request) { var response = new RujukanLabResponse { }; response.Entity = new LabReferenceLetterModel(); response.Entity.SuratRujukanLabKeluar = new SuratRujukanKeluarModel(); if (request.Data.Account != null) { var _detail = _unitOfWork.LetterRepository.Get(x => x.FormMedicalID == request.Data.FormMedicalID).FirstOrDefault(); var _miscData = _unitOfWork.SuratRujukanLabKeluarRepository.GetFirstOrDefault(x => x.FormMedicalID == request.Data.FormMedicalID); var suratrujukanlabkeluar = new SuratRujukanKeluarModel { DokterPengirim = _miscData.DokterPengirim, NoSurat = _miscData.NoSurat, }; var _detailPatient = _unitOfWork.PatientRepository.GetById(_detail.ForPatient); var _labSelected = _context.SuratRujukanLabKeluars.Where(x => x.FormMedicalID == request.Data.FormMedicalID).Select(x => new { LabId = x.LabItemId, LabItemName = x.LabItem.Name, LabItemCategoryID = x.LabItem.LabItemCategoryID, Category = x.LabItem.LabItemCategory.Name }); List <int> selectedLabId = _labSelected.Select(x => x.LabId).ToList(); var _notSelectedLab = _unitOfWork.FormExamineLabRepository .Get(x => x.FormMedicalID == request.Data.FormMedicalID && !selectedLabId.Contains((int)x.LabItemID)) .Select(x => new { LabId = x.LabItemID ?? 0, LabItemName = x.LabItem.Name, LabItemCategoryID = x.LabItem.LabItemCategoryID, Category = x.LabItem.LabItemCategory.Name }); response.Entity.PatientAge = _detail.PatientAge; response.Entity.strCekdate = _detail.Cekdate == null ? "" : ((DateTime)_detail.Cekdate).ToString("dd/MM/yyyy"); response.Patient = Mapper.Map <Patient, PatientModel>(_detailPatient); if (response.ListLabs == null) { response.ListLabs = new List <LabItemModel>(); } foreach (var item in _labSelected) { response.ListLabs.Add(new LabItemModel { Id = item.LabId, Name = item.LabItemName, LabItemCategoryName = item.Category, LabItemCategoryID = item.LabItemCategoryID, Code = "v" }); } foreach (var item2 in _notSelectedLab) { response.ListLabs.Add(new LabItemModel { Id = item2.LabId, Name = item2.LabItemName, LabItemCategoryName = item2.Category, LabItemCategoryID = item2.LabItemCategoryID, Code = "" }); } response.Entity.SuratRujukanLabKeluar = suratrujukanlabkeluar; } else { response.Status = false; response.Message = Resources.Messages.UnauthorizedAccess; } return(response); }