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)); }
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); }