Exemplo n.º 1
0
        public JsonResult AutoCompleteLaborat(string formMedicalID, string prefix)
        {
            List <LabItem> labList = _unitOfWork.LabItemRepository.Get(x => x.LabItemCategory.LabType == "Laboratorium" && x.RowStatus == 0).ToList();

            var filteredList = labList.Where(t => t.Name.ToLower().Contains(prefix.ToLower()));

            List <TempClass> resultList = new List <TempClass>();

            foreach (var item in filteredList)
            {
                TempClass temp = new TempClass
                {
                    id    = item.ID,
                    label = item.Name,
                    code  = item.Code,
                    stock = "911" // hardcoded for now
                };

                FormExamineLab lab = _unitOfWork.FormExamineLabRepository.GetFirstOrDefault(x => x.LabItemID == item.ID && x.FormMedicalID.ToString() == formMedicalID);
                temp.value = lab == null ? string.Empty : lab.Result;

                resultList.Add(temp);
            }

            return(Json(resultList, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 2
0
        public LabResponse CreateOrEdit(LabRequest request)
        {
            int result          = 0;
            var response        = new LabResponse {
            };
            var _getDataLabPoli = _unitOfWork.LabItemRepository.Get(x => x.RowStatus == 0);

            #region ::DELETE FIRST::
            var _deleteFormExamineLab = _unitOfWork.FormExamineLabRepository.Get(x => x.FormMedicalID == request.Data.FormMedicalID && x.LabType == Constants.NameConstant.Laboratorium);
            foreach (var item1 in _deleteFormExamineLab)
            {
                _unitOfWork.FormExamineLabRepository.Delete(item1.ID);
            }

            var poliId             = PoliHandler.GetPoliIDBasedOnName(Constants.NameConstant.Laboratorium);
            var _deleteFormExamine = _unitOfWork.FormExamineRepository.GetFirstOrDefault(x => x.FormMedicalID == request.Data.FormMedicalID && x.PoliID == poliId);
            if (_deleteFormExamine != null)
            {
                _unitOfWork.FormExamineRepository.Delete(_deleteFormExamine.ID);
            }

            int deleteResult = _unitOfWork.Save();
            #endregion

            //insert to Form Examine
            try
            {
                var _formExamine = new FormExamine
                {
                    FormMedicalID = request.Data.FormMedicalID,
                    PoliID        = PoliHandler.GetPoliIDBasedOnName(Constants.NameConstant.Laboratorium),
                    TransDate     = DateTime.Now,
                    CreatedBy     = request.Data.Account.UserName,
                    CreatedDate   = DateTime.Now
                };

                _unitOfWork.FormExamineRepository.Insert(_formExamine);

                foreach (var _id in request.Data.LabItemsId)
                {
                    var _formExamineLabEntity = new FormExamineLab
                    {
                        FormMedicalID = request.Data.FormMedicalID,
                        LabType       = _getDataLabPoli.Where(x => x.ID == _id).FirstOrDefault().LabItemCategory.LabType,
                        LabItemID     = (Int32)_id,
                        CreatedBy     = request.Data.Account.UserName,
                        CreatedDate   = DateTime.Now
                    };

                    _unitOfWork.FormExamineLabRepository.Insert(_formExamineLabEntity);
                }

                result = _unitOfWork.Save();
                if (result > 0)
                {
                    var _editQueuePoli = _unitOfWork.RegistrationRepository.GetById(request.Data.LoketData.Id);
                    if (_editQueuePoli != null)
                    {
                        _editQueuePoli.Status       = (int)RegistrationStatusEnum.Hold;
                        _editQueuePoli.ModifiedBy   = request.Data.Account.UserName;
                        _editQueuePoli.ModifiedDate = DateTime.Now;
                        _unitOfWork.RegistrationRepository.Update(_editQueuePoli);
                        _unitOfWork.Save();
                    }
                }
                response.Status  = true;
                response.Message = string.Format(Messages.LabItemAdded, result, request.Data.FormMedicalID);
            }
            catch (Exception ex)
            {
                response.Status  = false;
                response.Message = Messages.GeneralError;
            }

            return(response);
        }