示例#1
0
    public override async Task <ActionResult <UpdateCatalogItemResponse> > HandleAsync(UpdateCatalogItemRequest request, CancellationToken cancellationToken)
    {
        var response = new UpdateCatalogItemResponse(request.CorrelationId());

        var existingItem = await _itemRepository.GetByIdAsync(request.Id, cancellationToken);

        existingItem.UpdateDetails(request.Name, request.Description, request.Price);
        existingItem.UpdateBrand(request.CatalogBrandId);
        existingItem.UpdateType(request.CatalogTypeId);

        await _itemRepository.UpdateAsync(existingItem, cancellationToken);

        var dto = new CatalogItemDto
        {
            Id             = existingItem.Id,
            CatalogBrandId = existingItem.CatalogBrandId,
            CatalogTypeId  = existingItem.CatalogTypeId,
            Description    = existingItem.Description,
            Name           = existingItem.Name,
            PictureUri     = _uriComposer.ComposePicUri(existingItem.PictureUri),
            Price          = existingItem.Price
        };

        response.CatalogItem = dto;
        return(response);
    }
        public async Task UpdatedCatalogItem()
        {
            UpdateCatalogItemResponse updateCatalogItemResponse =
                await HttpClient.GetFromJsonAsync <UpdateCatalogItemResponse>(UpdateCatalogItemRequest.GetRoute());

            ValidateUpdateCatalogItemResponse(updateCatalogItemResponse);
        }
示例#3
0
 private void ValidateUpdateCatalogItemResponse(UpdateCatalogItemResponse aUpdateCatalogItemResponse)
 {
     aUpdateCatalogItemResponse.CorrelationId.Should().Be(UpdateCatalogItemRequest.CorrelationId);
 }
示例#4
0
        public async Task UpdatedCatalogItem()
        {
            UpdateCatalogItemResponse updateCatalogItemResponse = await Send(UpdateCatalogItemRequest);

            ValidateUpdateCatalogItemResponse(updateCatalogItemResponse);
        }