public async Task <DeleteCatalogItemResponse> Handle
        (
            DeleteCatalogItemRequest aDeleteCatalogItemRequest,
            CancellationToken aCancellationToken
        )
        {
            CatalogItem catalogItem = await CatalogItemRepository.GetByIdAsync(aDeleteCatalogItemRequest.CatalogItemId);

            await CatalogItemRepository.DeleteAsync(catalogItem);

            var response = new DeleteCatalogItemResponse(aDeleteCatalogItemRequest.CorrelationId);

            return(await Task.Run(() => response));
        }
예제 #2
0
        public async Task <GetCatalogItemResponse> Handle
        (
            GetCatalogItemRequest aGetCatalogItemRequest,
            CancellationToken aCancellationToken
        )
        {
            CatalogItem catalogItem = await CatalogItemRepository.GetByIdAsync(aGetCatalogItemRequest.CatalogItemId);

            var response = new GetCatalogItemResponse(aGetCatalogItemRequest.CorrelationId)
            {
                CatalogItem = Mapper.Map <CatalogItem, CatalogItemDto>(catalogItem)
            };

            return(response);
        }
        public async Task <UpdateCatalogItemResponse> Handle
        (
            UpdateCatalogItemRequest aUpdateCatalogItemRequest,
            CancellationToken aCancellationToken
        )
        {
            CatalogItem catalogItem = await CatalogItemRepository.GetByIdAsync(aUpdateCatalogItemRequest.CatalogItemId);

            // TODO: Return NotFound if null

            Mapper.Map <UpdateCatalogItemRequest, CatalogItem>(aUpdateCatalogItemRequest, catalogItem);

            await CatalogItemRepository.UpdateAsync(catalogItem);

            var response = new UpdateCatalogItemResponse(aUpdateCatalogItemRequest.CorrelationId)
            {
                CatalogItem = Mapper.Map <CatalogItem, CatalogItemDto>(catalogItem)
            };

            return(response);
        }