public JsonResult CreateSuratRujukanLab() { var _model = new LabReferenceLetterModel { }; if (Request.Form["forPatient"] != null) { _model.ForPatient = long.Parse(Request.Form["forPatient"].ToString()); } if (Request.Form["FormMedicalID"] != null) { _model.FormMedicalID = long.Parse(Request.Form["FormMedicalID"].ToString()); } if (Request.Form["TglPeriksa"] != null) { _model.Cekdate = DateTime.Parse(Request.Form["TglPeriksa"].ToString()); } if (Session["UserLogon"] != null) { _model.Account = (AccountModel)Session["UserLogon"]; } _model.CreatedDate = DateTime.Now; var request = new RujukanLabRequest { Data = _model }; var response = new RujukanLabResponse { }; response = new RujukanLabValidator(_unitOfWork, _context).Validate(request); if (response.ListLabs == null) { response.ListLabs = new List <Entities.MasterData.LabItemModel>(); } response.ListLabs = new RujukanLabHandler(_unitOfWork).GetPreviousSelectedLabItem(_model.FormMedicalID); return(Json(new { Status = response.Status, Message = response.Message, PatientName = response.Patient == null ? "" : response.Patient.Name, Gender = response.Patient == null ? "" : response.Patient.Gender, SAP = response.Patient == null ? "" : response.Patient.EmployeeID.ToString(), NoHP = response.Patient == null ? "" : response.Patient.HPNumber, BirthDate = response.Patient == null ? "" : response.Patient.BirthDateStr, Usia = response.Entity.PatientAge, TglPeriksa = response.Entity.strCekdate.ToString(), FormMedicalId = response.Entity.FormMedicalID, Data = response.ListLabs }, JsonRequestBehavior.AllowGet)); }
public RujukanLabResponse SaveAndPreview(RujukanLabRequest request) { var response = new RujukanLabResponse(); int result = 0; try { var _existingIds = _unitOfWork.SuratRujukanLabKeluarRepository.Get(x => x.FormMedicalID == request.Data.SuratRujukanLabKeluar.FormMedicalID).Select(x => x.Id); foreach (var _id in _existingIds) { _unitOfWork.SuratRujukanLabKeluarRepository.Delete(_id); } var delResult = _unitOfWork.Save(); foreach (int labId in request.Data.SuratRujukanLabKeluar.ListOfLabItemId) { var entity = new SuratRujukanLabKeluar { FormMedicalID = request.Data.SuratRujukanLabKeluar.FormMedicalID, NoSurat = GetNoSurat(request.Data.SuratRujukanLabKeluar.FormMedicalID), DokterPengirim = request.Data.SuratRujukanLabKeluar.DokterPengirim, LabItemId = labId, CreatedDate = DateTime.Now, CreatedBy = request.Data.Account.UserName }; _unitOfWork.SuratRujukanLabKeluarRepository.Insert(entity); } result = _unitOfWork.Save(); if (result > 0) { if (response.Entity == null) { response.Entity = new LabReferenceLetterModel(); } response.Status = true; response.Entity.FormMedicalID = request.Data.SuratRujukanLabKeluar.FormMedicalID; } } catch (Exception) { response.Status = false; response.Message = Messages.GeneralError; } return(response); }
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 SaveSuratRujukanLab(RujukanLabRequest request) { int _resultAffected = 0; request.Data.LetterType = LetterEnum.LabReferenceLetter.ToString(); request.Data.AutoNumber = GetLatestAutoNoSurat(LetterEnum.LabReferenceLetter.ToString()) + 1; request.Data.Year = DateTime.Now.Year; var _dob = _unitOfWork.PatientRepository.GetById(request.Data.ForPatient); if (_dob != null) { request.Data.PatientAge = CommonUtils.GetPatientAge(_dob.BirthDate); } var response = new RujukanLabResponse { }; try { var cekExist = _unitOfWork.LetterRepository.Get(x => x.FormMedicalID == request.Data.FormMedicalID && x.LetterType == request.Data.LetterType); if (!cekExist.Any()) { var _entity = Mapper.Map <LabReferenceLetterModel, Letter>(request.Data); _unitOfWork.LetterRepository.Insert(_entity); _resultAffected = _unitOfWork.Save(); } //get detail patient var _pasien = _unitOfWork.PatientRepository.GetById(request.Data.ForPatient); response.Patient = Mapper.Map <Patient, PatientModel>(_pasien); if (response.Entity == null) { response.Entity = new LabReferenceLetterModel(); } response.Entity.PatientAge = request.Data.PatientAge; response.Entity.strCekdate = request.Data.Cekdate == null ? "" : ((DateTime)request.Data.Cekdate).ToString("MM-dd-yyyy"); response.Entity.FormMedicalID = request.Data.FormMedicalID; response.Status = true; } catch (Exception ex) { response.Status = false; response.Message = ex.Message.ToString(); } return(response); }
public JsonResult SaveAndPreviewRujukanLab() { var _model = new LabReferenceLetterModel(); if (_model.SuratRujukanLabKeluar == null) { _model.SuratRujukanLabKeluar = new SuratRujukanKeluarModel(); } if (Request.Form["DokterPengirim"] != null) { _model.SuratRujukanLabKeluar.DokterPengirim = Request.Form["DokterPengirim"] == null ? "" : Request.Form["DokterPengirim"].ToString(); } if (Request.Form["FormMedicalID"] != null) { _model.SuratRujukanLabKeluar.FormMedicalID = Convert.ToInt64(Request.Form["FormMedicalID"].ToString()); } if (Request.Form["LabItems"] != null) { _model.SuratRujukanLabKeluar.ListOfLabItemId = JsonConvert.DeserializeObject <List <int> >(Request.Form["LabItems"]); } if (Session["UserLogon"] != null) { _model.Account = (AccountModel)Session["UserLogon"]; } var request = new RujukanLabRequest { Data = _model }; var response = new RujukanLabResponse { }; response = new RujukanLabValidator(_unitOfWork, _context).ValidateBeforePreview(request); return(Json(new { Status = response.Status, FormMedicalId = response.Entity.FormMedicalID }, JsonRequestBehavior.AllowGet)); }
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); }