Exemplo n.º 1
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);
        }
Exemplo n.º 2
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);
        }