/// <inheritdoc/> public async Task SetRequestCompletedAsync(int requestId) { var dbRequests = await _context.Requests.Where(r => r.Id == requestId).ToArrayAsync(); if (dbRequests.Length == 0) { throw new RequestedResourceNotFoundException(); } var dbRequest = dbRequests[0]; if (dbRequest.Completed) { throw new RequestedResourceHasConflictException(); } dbRequest.Completed = true; var storeItems = await _productStoreService.GetProductStoreItemsAsync(dbRequest.ProductId, dbRequest.HiveSectionId); if (storeItems.Count == 0) { await _productStoreService.CreateProductStoreItemAsync(Mapper.Map <UpdateProductStoreItemRequest>(dbRequest)); } else { var updateRequest = Mapper.Map <UpdateProductStoreItemRequest>(storeItems[0]); updateRequest.Quantity += dbRequest.Quantity; await _productStoreService.UpdateProductStoreItemAsync(storeItems[0].Id, updateRequest); } await _context.SaveChangesAsync(); }
public async Task <IHttpActionResult> GetProductStoreItems([FromUri] int hiveSectionId) { var productStoreItems = await _productStoreService.GetProductStoreItemsAsync(hiveSectionId); return(Ok(productStoreItems)); }