public async Task <IActionResult> UpdateAsync(int id, [FromBody] InquiryDto input) { // Map. var inquiry = _mapper.Map <InquiryFull>(input); inquiry.Id = id; InquiryFull inquiry_existing = await _inquiryRepository.GetByIdAsync(id); if (inquiry_existing.Attribution.Creator == input.Reviewer) { throw new AuthorizationException(); } // Act. await _inquiryRepository.UpdateAsync(inquiry); // FUTURE: Does this make sense? // Only when this item was rejected can we move into // a pending state after update. if (inquiry.State.AuditStatus == AuditStatus.Rejected) { // Transition. inquiry.State.TransitionToPending(); // Act. await _inquiryRepository.SetAuditStatusAsync(inquiry.Id, inquiry); } // Return. return(NoContent()); }
public static async Task DeleteInquiryAsync(BackendFixtureFactory factory, InquiryDto inquiry) { // Arrange using var client = factory.CreateClient(OrganizationRole.Superuser); // Act var response = await client.DeleteAsync($"api/inquiry/{inquiry.Id}"); // Assert Assert.Equal(HttpStatusCode.NoContent, response.StatusCode); }
public IActionResult RespondToInquiry(InquiryDto dto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { _inquiryService.RespondeToInquiry(dto); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <IActionResult> CreateAsync([FromBody] InquiryDto input) { // Map. var inquiry = _mapper.Map <InquiryFull>(input); if (_appContext.UserId == input.Reviewer) { throw new AuthorizationException(); } // Act. inquiry = await _inquiryRepository.AddGetAsync(inquiry); // Map. var output = _mapper.Map <InquiryDto>(inquiry); // Return. return(Ok(output)); }
public void RespondeToInquiry(InquiryDto dto) { _mailService.SendInquiryResponseEmail(dto.email, dto.name, dto.response, dto.inquiry, dto.createdOn.ToString()); _repositoryFactory.InquiryRepository.UpdateInquiry(dto.id); _logger.LogInformation("Inquiry Response Sent"); }
public static async Task <InquirySampleDto> CreateInquirySampleAsync(BackendFixtureFactory factory, InquiryDto inquiry) { using var client = factory.CreateClient(OrganizationRole.Writer); var newObject = new InquirySampleDtoFaker() .RuleFor(f => f.Address, f => "gfm-351cc5645ab7457b92d3629e8c163f0b") .Generate(); // Act var response = await client.PostAsJsonAsync($"api/inquiry/{inquiry.Id}/sample", newObject); var returnObject = await response.Content.ReadFromJsonAsync <InquirySampleDto>(); // Assert Assert.Equal(HttpStatusCode.OK, response.StatusCode); Assert.Equal(inquiry.Id, returnObject.Inquiry); Assert.Equal(newObject.Address, returnObject.Address); return(returnObject); }