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); } }
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)); }