Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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));
        }
Ejemplo n.º 6
0
        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);
        }