Beispiel #1
0
        public void ScheduleMedicalExam(ScheduleMedicalExamViewModel model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            ScheduleMedicalExamInner(model);
        }
Beispiel #2
0
        public IActionResult ScheduleMedicalExam(ScheduleMedicalExamViewModel model)
        {
            var result = Execute(() =>
            {
                bool isMedEmployee = _userManager.IsUserInMedEmployeeRole(User.Identity.Name);
                if (!isMedEmployee)
                {
                    throw new UnauthorizedAccessException("You have not appropriate rights to access this action");
                }

                _donorRequestService.ScheduleMedicalExam(model);
            });

            return(Json(result));
        }
Beispiel #3
0
        private void ScheduleMedicalExamInner(ScheduleMedicalExamViewModel model)
        {
            var donorOrganRequest = _donorRequestsRepository.GetById(model.DonorRequestId);

            if (donorOrganRequest == null)
            {
                //TODO: handle
                return;
            }

            var medicalExamEntity = new DonorMedicalExam()
            {
                ClinicId       = model.ClinicId,
                DonorRequestId = model.DonorRequestId,
                ScheduledAt    = model.ScheduledDateTime,
                Status         = MedicalExamStatuses.Scheduled
            };

            donorOrganRequest.Status = DonorRequestStatuses.ScheduledMedicalExamination;

            _medicalExamsService.AddMedicalExam(medicalExamEntity);
            _donorRequestsRepository.Update(donorOrganRequest);
        }