internal static product MapStock(product product, stock_available stock)
 {
     product.associations.stock_availables = new List <Bukimedia.PrestaSharp.Entities.AuxEntities.stock_available>
     {
         new Bukimedia.PrestaSharp.Entities.AuxEntities.stock_available
         {
             id = stock.id.Value,
             id_product_attribute = stock.id_product_attribute.Value
         }
     };
     return(product);
 }
 internal static product MapStock(product product, stock_available stock)
 {
     product.associations.stock_availables = new List<Bukimedia.PrestaSharp.Entities.AuxEntities.stock_available> 
     {
         new Bukimedia.PrestaSharp.Entities.AuxEntities.stock_available
         {
             id = stock.id.Value,
             id_product_attribute = stock.id_product_attribute.Value
         }
     };
     return product;
 }
        private stock_available CreateStock(product product, Assort assort, combination combination)
        {
            var stock = new stock_available
            {
                id_product = product.id,
                quantity = assort.Balance
            };
            if (combination != null)
            {
                stock.id_product_attribute = combination.id;
            }

            return _apiFactory.StockFactory.AddList(new List<stock_available> { stock }).First();
        }
        private void UpdateProductAvailability(ProductEntity product, PsProduct psProduct)
        {
            var quantity = product.IsAvailable ? 1_000_000 : 0;
            var stock    = prestaShopClient.GetStockForProduct((int)psProduct.id, 0);

            if (stock != null)
            {
                stock.quantity = quantity;
            }
            else
            {
                stock                      = new Bukimedia.PrestaSharp.Entities.stock_available();
                stock.id_product           = psProduct.id;
                stock.id_product_attribute = 0;
                stock.id_shop              = prestaShopClient.DefaultShopId;
                stock.quantity             = quantity;
            }

            SaveOrUpdateStockAvailable(stock);
        }
        private Bukimedia.PrestaSharp.Entities.stock_available SaveOrUpdateStockAvailable(Bukimedia.PrestaSharp.Entities.stock_available stock)
        {
            if (stock.id.HasValue && stock.id > 0)
            {
                prestaShopClient.StockAvailableFactory.Update(stock);
            }
            else
            {
                stock = prestaShopClient.StockAvailableFactory.Add(stock);
            }

            return(stock);
        }