public async Task <GetCatalogItemsPaginatedResponse> Handle ( GetCatalogItemsPaginatedRequest aGetCatalogItemsPaginatedRequest, CancellationToken aCancellationToken ) { var catalogFilterPaginatedSpecification = new CatalogFilterPaginatedSpecification ( skip: aGetCatalogItemsPaginatedRequest.PageSize * aGetCatalogItemsPaginatedRequest.PageIndex, take: aGetCatalogItemsPaginatedRequest.PageSize, brandId: aGetCatalogItemsPaginatedRequest.CatalogBrandId, typeId: aGetCatalogItemsPaginatedRequest.CatalogTypeId ); IReadOnlyList <CatalogItem> catalogItems = await CatalogItemRepository.ListAsync(catalogFilterPaginatedSpecification); var filterSpecification = new CatalogFilterSpecification( aGetCatalogItemsPaginatedRequest.CatalogBrandId, aGetCatalogItemsPaginatedRequest.CatalogTypeId); int totalItems = await CatalogItemRepository.CountAsync(filterSpecification); var response = new GetCatalogItemsPaginatedResponse(aGetCatalogItemsPaginatedRequest.CorrelationId) { CorrelationId = aGetCatalogItemsPaginatedRequest.CorrelationId, PageCount = int.Parse(Math.Ceiling((decimal)totalItems / aGetCatalogItemsPaginatedRequest.PageSize).ToString()) }; response.CatalogItems.AddRange(catalogItems.Select(Mapper.Map <CatalogItemDto>)); foreach (CatalogItemDto item in response.CatalogItems) { item.PictureUri = UriComposer.ComposePicUri(item.PictureUri); } return(response); }
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)); }
public async Task <CreateCatalogItemResponse> Handle ( CreateCatalogItemRequest aCreateCatalogItemRequest, CancellationToken aCancellationToken ) { var response = new CreateCatalogItemResponse(aCreateCatalogItemRequest.CorrelationId); CatalogItem catalogItem = Mapper.Map <CreateCatalogItemRequest, CatalogItem>(aCreateCatalogItemRequest); catalogItem = await CatalogItemRepository.AddAsync(catalogItem); response.CatalogItem = Mapper.Map <CatalogItem, CatalogItemDto>(catalogItem); return(response); }
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); }