public async Task <ActionResult <Product> > CreateOrUpdateProductSize(ProductSizeToCreateDto productSizeToCreate) { var spec = new ProductWithTypesAndBrandsSpecification(productSizeToCreate.ProductId); var product = await _unitOfWork.Repository <Product>().GetEntityWithSpec(spec); if (productSizeToCreate != null) { product.AddOrUpdateProductSize(productSizeToCreate.Size, productSizeToCreate.Quantity); _unitOfWork.Repository <Product>().Update(product); var result = await _unitOfWork.Complete(); if (result <= 0) { return(BadRequest(new ApiResponse(400, "Problem creating product"))); } } var productSize = product.ProductSizes.FirstOrDefault(x => x.Size == productSizeToCreate.Size); return(Ok(_mapper.Map <ProductSize, WarehouseToReturnDto>(productSize))); }
public async Task <ActionResult <ProductToReturnDto> > AddOrUpdateProductSize(int id, ProductSizeToCreateDto sizeDto) { var spec = new ProductWithTypesAndBrandsSpecification(id); var product = await _unitOfWork.Repository <Product>().GetEntityWithSpec(spec); if (sizeDto != null) { // product.AddPhoto(sizeDto.PictureUrl, photo.FileName); product.AddOrUpdateProductSize(sizeDto.Size, sizeDto.Quantity); _unitOfWork.Repository <Product>().Update(product); var result = await _unitOfWork.Complete(); if (result <= 0) { return(BadRequest(new ApiResponse(400, "Problem adding size product"))); } } else { return(BadRequest(new ApiResponse(400, "problem saving photo to disk"))); } return(_mapper.Map <Product, ProductToReturnDto>(product)); }