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