示例#1
0
 public string GetCategoryId(string category)
 {
     if (ReferenceEquals(ListedCategoriesList, null) || ListedCategoriesList.Count.Equals(0))
     {
         return(String.Empty);
     }
     try
     {
         var _r = ListedCategoriesList.FirstOrDefault(c => c.CategoryName.Trim().ToLower().Equals(category.Trim().ToLower()));
         if (!ReferenceEquals(_r, null))
         {
             return(_r.CategoryId);
         }
         return(String.Empty);
     }
     catch (Exception)
     {
         return(String.Empty);
     }
 }
示例#2
0
        public AkeneoProduct Preprocess(AkeneoProduct product)
        {
            if (!ReferenceEquals(CollectionRules, null) & CollectionRules.Count > 0)
            {
                try
                {
                    var targetCollection = CollectionRules.Where(c => c.CollectionToMatch.Trim().Equals(product.productCategory.Trim())).ToList();
                    if (!ReferenceEquals(targetCollection, null) && targetCollection.Count > 0)
                    {
                        product.productCategory = targetCollection.FirstOrDefault().CollectionToAssign;
                    }
                }
                catch (Exception)
                {
                }
            }
            if (!ReferenceEquals(VendorsRules, null) && VendorsRules.Count > 0)
            {
                try
                {
                    var targetVendor = VendorsRules.Where(v => v.VendorToCompare.Trim().Equals(product.productVendor.Trim())).ToList();
                    if (!ReferenceEquals(targetVendor, null) && targetVendor.Count > 0)
                    {
                        product.productVendor = targetVendor.FirstOrDefault().VendorToAssign;
                    }
                }
                catch (Exception)
                {
                }
            }
            if (ReferenceEquals(product.productCategory, String.Empty) || ReferenceEquals(product.productCategory, null))
            {
                product.productCategory = "No idea";
            }
            var _tempCat = GetCategoryId(product.productCategory);

            if (_tempCat.Equals(String.Empty))
            {
                if (ReferenceEquals(product.productCategory, null))
                {
                    product.productCategory = String.Empty;
                }
                AkeneoCategory _cat = new AkeneoCategory();
                if (product.productCategory.Equals(String.Empty))
                {
                    _cat.CategoryName = "Empty scrapping node";
                }
                else
                {
                    _cat.CategoryName = product.productCategory;
                }
                _cat = CreateNewCategory(_cat, product);
                if (!ReferenceEquals(_cat, null))
                {
                    lock (ListedCategoriesList)
                    {
                        ListedCategoriesList.Add(_cat);
                    }
                    product.productCategory = _cat.CategoryId;
                }
            }
            else
            {
                product.productCategory = _tempCat;
            }
            return(product);
        }