示例#1
0
        public async Task <ActionResult <PutExaminationResponse> > CreateExamination(
            [FromBody] PostExaminationRequest postExaminationRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequestEnums(new PutExaminationResponse()));
            }

            try
            {
                var examination = Mapper.Map <Examination>(postExaminationRequest);

                var locations = await
                                _locationParentsService.Handle(
                    new LocationParentsQuery(examination.MedicalExaminerOfficeResponsible));

                examination.UpdateLocationPath(locations);

                if (!CanAsync(Permission.CreateExamination, examination))
                {
                    return(Forbid());
                }

                var myUser = await CurrentUser();

                examination.CreatedBy = myUser.UserId;
                examination.CreatedAt = DateTime.Now;

                var result = await _examinationCreationService.Handle(new CreateExaminationQuery(examination, myUser));

                var res = new PutExaminationResponse
                {
                    ExaminationId = result.ExaminationId
                };

                return(Ok(res));
            }
            catch (DocumentClientException)
            {
                return(NotFound(new PostExaminationRequest()));
            }
            catch (ArgumentException)
            {
                return(NotFound(new PostExaminationRequest()));
            }
        }
示例#2
0
        public void StartDateAndEndDateTheSameReturnsSuccess()
        {
            // Arrange
            var startDate       = new DateTime(2019, 01, 02);
            var endDateField    = "DateOfDeath";
            var serviceProvider = new Mock <IServiceProvider>().Object;
            var postRequest     = new PostExaminationRequest
            {
                DateOfDeath = startDate
            };
            var validationContext = new ValidationContext(postRequest, serviceProvider, GetItemsDictionary());
            var expectedResult    = ValidationResult.Success;
            var sut = new DateIsLessThanOrEqualToNullsAllowed(endDateField);
            // Act
            var result = sut.GetValidationResult(startDate, validationContext);

            //Assert
            Assert.Equal(expectedResult, result);
        }
        public void PostNewCaseRequest_To_ExaminationItem()
        {
            var postNewCaseRequest = new PostExaminationRequest
            {
                DateOfDeath      = DateOfDeath,
                DateOfBirth      = DateOfBirth,
                GivenNames       = GivenNames,
                Gender           = Gender,
                GenderDetails    = GenderDetails,
                HospitalNumber_1 = HospitalNumber_1,
                HospitalNumber_2 = HospitalNumber_2,
                HospitalNumber_3 = HospitalNumber_3,
                MedicalExaminerOfficeResponsible = MedicalExaminerOfficeResponsible,
                NhsNumber         = NhsNumber,
                PlaceDeathOccured = PlaceDeathOccured,
                Surname           = Surname,
                TimeOfDeath       = TimeOfDeath
            };


            var response = _mapper.Map <ExaminationItem>(postNewCaseRequest);

            response.GenderDetails.Should().Be(GenderDetails);
            response.GivenNames.Should().Be(GivenNames);
            response.DateOfBirth.Should().Be(DateOfBirth);
            response.DateOfDeath.Should().Be(DateOfDeath);
            response.Gender.Should().Be(Gender);
            response.GivenNames.Should().Be(GivenNames);
            response.HospitalNumber_1.Should().Be(HospitalNumber_1);
            response.HospitalNumber_2.Should().Be(HospitalNumber_2);
            response.HospitalNumber_3.Should().Be(HospitalNumber_3);
            response.MedicalExaminerOfficeResponsible.Should().Be(MedicalExaminerOfficeResponsible);
            response.NhsNumber.Should().Be(NhsNumber);
            response.PlaceDeathOccured.Should().Be(PlaceDeathOccured);
            response.Surname.Should().Be(Surname);
            response.TimeOfDeath.Should().Be(TimeOfDeath);
        }