Beispiel #1
0
        public bool IsProductExists(string identifier)
        {
            if (ListedProductsList == null || ListedProductsList.Count == 0)
            {
                return(false);
            }

            try
            {
                var result = ListedProductsList.Where(e => e.productName.Equals(identifier)).ToList();
                return(true);
            }
            catch (NullReferenceException)
            {
                return(false);
            }
        }
Beispiel #2
0
        public bool ProcessProduct(AkeneoProduct product)
        {
            if (akeneoStatus.Equals(BaseServicesStatuses.ServiceLaunching))
            {
                int connectionLimit   = 10;
                int currentConnection = 0;
                while (currentConnection < connectionLimit)
                {
                    _logger.info("Akeneo is connectng, waiting for its response");
                    Thread.Sleep(1000);
                    currentConnection++;
                    if (akeneoStatus.Equals(BaseServicesStatuses.ServiceLaunched))
                    {
                        break;
                    }
                }
                if (!akeneoStatus.Equals(BaseServicesStatuses.ServiceLaunched))
                {
                    throw new Exception("Fatal error: Akeneo is not connected, check its settings");
                }
                if (akeneoStatus.Equals(BaseServicesStatuses.ServiceLaunched))
                {
                    _logger.info("Akeneo successfully reconnected!");
                }
            }
            if (product.productId.Equals(String.Empty))
            {
                throw new Exception($"(AkeneoProductEntitiesException) -> cannot verify identifier for product {product.productName} with url {product.productUrl}");
            }
            product = Preprocess(product);
            if (IsProductExists(product.productName))
            {
                var existsProduct = ListedProductsList.Where(e => e.productCode.Equals(product.productCode)).ToList();
                if (existsProduct.FirstOrDefault() != null)
                {
                    product.productId = existsProduct.FirstOrDefault().productId;
                }

                _logger.info($"Updating product {product.productName}");
                return(UpdateExistsProduct(product));
            }

            _logger.info($"Creating product {product.productName}");
            return(CreateNewProduct(product));
        }