public ActionResult CreateOrEditPreExamine() { PreExamineResponse _response = new PreExamineResponse(); if (Request.QueryString["id"] != null) { var request = new PreExamineRequest { Data = new PreExamineModel { LoketData = new LoketModel { Id = long.Parse(Request.QueryString["id"].ToString()), }, } }; if (Session["UserLogon"] != null) { request.Data.Account = (AccountModel)Session["UserLogon"]; } PreExamineResponse resp = new PreExamineHandler(_unitOfWork).GetDetailNotPreExamine(request); PreExamineModel _model = resp.Entity; ViewBag.Doctors = BindDropDownDokter(); return(View(_model)); } else { ViewBag.Doctors = BindDropDownDokter(); return(View()); } }
public PreExamineResponse Validate(PreExamineRequest request) { var response = new PreExamineResponse(); bool isHavePrivilege = true; if (String.IsNullOrEmpty(request.Data.strTransDate) || String.IsNullOrWhiteSpace(request.Data.strTransDate)) { errorFields.Add("Transaction Date"); } if (errorFields.Any()) { response.Status = false; response.Message = string.Format(Messages.ValidationErrorFields, String.Join(",", errorFields)); } //cek gender var _gender = _unitOfWork.RegistrationRepository.GetById(request.Data.LoketData.Id); if (_gender != null) { if (_gender.Patient.Gender.ToLower() == "m") { if (request.Data.strMenstrualDate != null || request.Data.strKBDate != null) { response.Status = false; response.Message = Messages.MenstrualDataProhibited; } } } else { response.Status = false; response.Message = Messages.PatientNotRegistered; } if (request.Data.Id == 0) { isHavePrivilege = IsHaveAuthorization(ADD_PRIVILEGE_NAME, request.Data.Account.Privileges.PrivilegeIDs); } else { isHavePrivilege = IsHaveAuthorization(EDIT_PRIVILEGE_NAME, request.Data.Account.Privileges.PrivilegeIDs); } if (!isHavePrivilege) { response.Status = false; response.Message = Messages.UnauthorizedAccess; } if (response.Status == true) { response = new PreExamineHandler(_unitOfWork).CreateOrEdit(request); } return(response); }
public PreExamineResponse GetDetailNotPreExamine(PreExamineRequest request) { var _getdetailQueuePoli = _unitOfWork.RegistrationRepository.GetById(request.Data.LoketData.Id); long formMedicalID = _getdetailQueuePoli.FormMedicalID.Value; var _preexmodel = new PreExamineModel { DoctorID = _getdetailQueuePoli.DoctorID ?? 0, FormMedicalID = formMedicalID, strTransDate = _getdetailQueuePoli.TransactionDate.ToString("dd/MM/yyyy"), }; //cek data preexamine var _preExamineData = _unitOfWork.FormPreExamineRepository.GetFirstOrDefault(x => x.FormMedicalID == formMedicalID); if (_preExamineData != null) { _preexmodel = Mapper.Map <FormPreExamine, PreExamineModel>(_preExamineData); if (_preexmodel.strTransDate == "" || _preexmodel.strTransDate == null) { _preexmodel.strTransDate = _getdetailQueuePoli.TransactionDate.ToString("dd/MM/yyyy"); } if (_preExamineData.MenstrualDate != null) { _preexmodel.strMenstrualDate = _preExamineData.MenstrualDate.Value.ToString("dd/MM/yyyy").Contains("1900") ? "" : _preExamineData.MenstrualDate.Value.ToString("dd/MM/yyyy"); } if (_preExamineData.KBDate != null) { _preexmodel.strKBDate = _preExamineData.KBDate.Value.ToString("dd/MM/yyyy").Contains("1900") ? "" : _preExamineData.KBDate.Value.ToString("dd/MM/yyyy"); } } _preexmodel.LoketData = Mapper.Map <QueuePoli, LoketModel>(_getdetailQueuePoli); var response = new PreExamineResponse { Entity = _preexmodel }; return(response); }
public PreExamineResponse CreateOrEdit(PreExamineRequest request) { int resultAffected = 0; PreExamineResponse response = new PreExamineResponse(); try { var _cekExistById = _unitOfWork.FormPreExamineRepository.GetById(request.Data.Id); if (_cekExistById != null) { _cekExistById.FormMedicalID = request.Data.FormMedicalID; _cekExistById.TransDate = reformatDate(request.Data.strTransDate); _cekExistById.DoctorID = request.Data.DoctorID; _cekExistById.Temperature = request.Data.Temperature; _cekExistById.Weight = request.Data.Weight; _cekExistById.Height = request.Data.Height; _cekExistById.Respiratory = request.Data.Respiratory; _cekExistById.Pulse = request.Data.Pulse; _cekExistById.Systolic = request.Data.Systolic; _cekExistById.Diastolic = request.Data.Diastolic; _cekExistById.Others = request.Data.Others; _cekExistById.RightEye = request.Data.RightEye; _cekExistById.LeftEye = request.Data.LeftEye; _cekExistById.ColorBlind = request.Data.ColorBlind; if (!String.IsNullOrEmpty(request.Data.strMenstrualDate)) { _cekExistById.MenstrualDate = reformatDate(request.Data.strMenstrualDate); } if (!String.IsNullOrEmpty(request.Data.strKBDate)) { _cekExistById.KBDate = reformatDate(request.Data.strKBDate); } _cekExistById.DailyGlasses = request.Data.DailyGlasses; _cekExistById.ExamineGlasses = request.Data.ExamineGlasses; _cekExistById.ModifiedBy = request.Data.Account.UserName; _cekExistById.ModifiedDate = DateTime.Now; _unitOfWork.FormPreExamineRepository.Update(_cekExistById); resultAffected = _unitOfWork.Save(); if (resultAffected <= 0) { response.Status = false; response.Message = string.Format(Messages.UpdateObjectFailed, "Pre examine Data"); } else { response.Status = true; response.Message = string.Format(Messages.ObjectHasBeenUpdated2, "Update Pre Examine Data", request.Data.Id); } } else { var entiti = Mapper.Map <PreExamineModel, FormPreExamine>(request.Data); entiti.TransDate = reformatDate(request.Data.strTransDate); if (!String.IsNullOrEmpty(request.Data.strMenstrualDate)) { entiti.MenstrualDate = reformatDate(request.Data.strMenstrualDate); } else { entiti.MenstrualDate = Convert.ToDateTime("1900-01-01"); } if (!String.IsNullOrEmpty(request.Data.strKBDate)) { entiti.KBDate = reformatDate(request.Data.strKBDate); } else { entiti.KBDate = Convert.ToDateTime("1900-01-01"); } entiti.CreatedBy = request.Data.Account.UserName; entiti.CreatedDate = DateTime.Now; _unitOfWork.FormPreExamineRepository.Insert(entiti); var _updatePoli = _unitOfWork.RegistrationRepository.GetById(request.Data.LoketData.Id); if (_updatePoli != null) { _updatePoli.IsPreExamine = true; _unitOfWork.RegistrationRepository.Update(_updatePoli); } resultAffected = _unitOfWork.Save(); if (resultAffected <= 0) { response.Status = false; response.Message = string.Format(Messages.AddObjectFailed, "Pre examine Data"); } else { response.Status = true; response.Message = string.Format(Messages.ObjectPreExamineDataAdded, request.Data.LoketData.PatientName, entiti.ID.ToString()); } } } catch (Exception ex) { response.Status = false; response.Message = Messages.GeneralError; if (request.Data != null && request.Data.Id > 0) { ErrorLog(ClinicEnums.Module.FormPreExamine, Constants.Command.EDIT_FORM_PREEXAMINE, request.Data.Account, ex); } else { ErrorLog(ClinicEnums.Module.MASTER_DOCTOR, Constants.Command.ADD_NEW_FORM_PREEXAMINE, request.Data.Account, ex); } } finally { var _entity = GetDetailNotPreExamine(request.Data.LoketData.Id); if (response.Entity == null) { response.Entity = new PreExamineModel(); } response.Entity = _entity; } return(response); }