示例#1
0
        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);
        }
示例#3
0
        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));
        }
示例#4
0
        /// <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));
        }
示例#5
0
        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,
            }));
        }