public async Task TestUpdateRequest() { // Arrange var user = coordinator1; var refNo = requests[0].RefNo; var request = new UpdateRequestRequest() { Status = RequestStatusId.Approved, }; var requestRow = db.Request.Include(r => r.RequestStatus).Single(r => r.RefNo == refNo && r.IsCurrent == 1); requestRow.RequestStatus.Id.Should().Be(RequestStatusId.Pending); // Act var result = await GetRequestsController(user).Update(refNo.ToString(), request); // Assert var expectedResult = new OkObjectResult(new UpdateRequestResponse() { RefNo = refNo, Status = request.Status, }); result.Result.Should().BeEquivalentTo(expectedResult); requestRow = db.Request.Single(r => r.RefNo == refNo && r.IsCurrent == 1); requestRow.RequestStatus.Id.Should().Be(request.Status); }
public async Task <bool> Handle(UpdateRequestRequest message, IOutputPort <UpdateRequestResponse> outputPort) { var response = await _requestRepository.UpdateRequest( new Core.Domain.Entities.Request(message.Title, message.StartDate, message.EndDate, message.ServerId, message.Description, message.RequestStatus, message.Response, message.ApprovedBy, message.Id, Guid.NewGuid(), DateTime.UtcNow, message.UpdatedBy, DateTime.UtcNow, null, null)); return(response.Success); }
public async Task <IHttpActionResult> AddProductCategory([FromBody] UpdateRequestRequest createRequest) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var request = await _productStoreRequestService.CreateRequestAsync(createRequest); var location = string.Format("/api/requests/{0}", request.Id); return(Created <ProductStoreItemRequest>(location, request)); }
/// <inheritdoc/> public async Task <ProductStoreItemRequest> CreateRequestAsync(UpdateRequestRequest createRequest) { var dbProduct = await _productService.GetProductAsync(createRequest.ProductId); var dbHiveSection = await _hiveSectionService.GetHiveSectionAsync(createRequest.HiveSectionId); var dbRequest = Mapper.Map <UpdateRequestRequest, DbProductStoreItemRequest>(createRequest); _context.Requests.Add(dbRequest); await _context.SaveChangesAsync(); return(Mapper.Map <ProductStoreItemRequest>(dbRequest)); }
public async Task <ActionResult <UpdateRequestResponse> > Update(string refNo, [FromBody] UpdateRequestRequest request) { // Check mandatory parameters. if (AnyMissing(request?.Status)) { return(this.Problem("Unable to update the request", 400, ErrorCode.MissingMandatoryField)); } // Ensure valid target status. var status = await context.RequestStatus.SingleOrDefaultAsync(s => s.Id == request.Status); if (status == null) { return(this.Problem("Unable to update the request", 400, ErrorCode.InvalidRequestStatusId)); } // Ensure valid request to update. var requestToUpdate = await context.Request.SingleOrDefaultAsync(r => r.RefNo.ToString() == refNo && r.IsCurrent == 1); if (requestToUpdate == null) { return(this.Problem("Unable to update the request", 400, ErrorCode.InvalidRefNo)); } // Update request. requestToUpdate.RequestStatus = status; context.Request.Update(requestToUpdate); await context.SaveChangesAsync(); return(Ok(new UpdateRequestResponse() { RefNo = requestToUpdate.RefNo, Status = requestToUpdate.RequestStatus.Id, })); }