internal Catalogs.Catalog ParseStock(DiscontStock DiscontSamara)
        {
            var newCatalog = new Catalogs.Catalog();

            //тут категория проверяется из фулкаталога, поэтому сначала нужно обновлять фулкаталог и только потом делать markets
            foreach (var item in DiscontSamara.Records2)
            {
                var sneaker = newCatalog.sneakers.Find(x => x.sku == item.sku);
                if (sneaker == null)
                {
                    sneaker     = new Sneaker();
                    sneaker.sku = item.sku;

                    //title
                    sneaker.title = item.title;
                    sneaker.title = sneaker.title.Replace("*", "");
                    sneaker.title = sneaker.title.Replace("JRD", "JORDAN");

                    //brand
                    if (sneaker.title.Contains("JORDAN"))
                    {
                        sneaker.brand = "Jordan";
                    }
                    else
                    {
                        sneaker.brand = "Nike";
                        //добавляем к тайтлу бренд, если его там нет
                        if (!sneaker.title.ToLower().Contains(sneaker.brand.ToLower()))
                        {
                            sneaker.title = sneaker.brand + " " + sneaker.title;
                        }
                    }



                    sneaker.category = item.category;
                    Helper.GetSexFromCategory(sneaker.category);
                    sneaker.price    = item.price;
                    sneaker.oldPrice = item.oldPrice;

                    if (item.quantity > 0)
                    {
                        //sizes
                        sneaker.AddSize(item.size, item.quantity, item.upc);

                        newCatalog.AddUniqueSneaker(sneaker);
                    }
                }
                else //если артикул уже есть в каталоге
                {
                    //проверяем, есть ли уже этот размер у кроссовка
                    var size = sneaker.GetSize(item.size);
                    if (size == null)
                    {
                        if (item.quantity > 0)
                        {
                            sneaker.AddSize(item.size, item.quantity, item.upc);
                        }
                    }
                    else
                    {
                        Program.Logger.Warn("Дубликат размера в нашем стоке: sku:" + item.sku + " size:" + item.size);
                    }
                }
            }

            return(newCatalog);
            //throw new NotImplementedException();
        }
Exemplo n.º 2
0
        private Catalogs.Catalog ParseNashStock(NashStock nashstock)
        {
            var newCatalog = new Catalogs.Catalog();

            foreach (var item in nashstock.records)
            {
                if (item.brand.ToUpper() == "NIKE" || item.brand.ToUpper() == "JORDAN")
                {
                    if (item.condition == "New with box")
                    {
                        var sneaker = newCatalog.sneakers.Find(x => x.sku == item.sku);
                        if (sneaker == null)
                        {
                            sneaker          = new Sneaker();
                            sneaker.sku      = item.sku;
                            sneaker.title    = item.title;
                            sneaker.brand    = item.brand;
                            sneaker.category = item.category;
                            if (sneaker.category != Settings.CATEGORY_KIDS)
                            {
                                if (sneaker.category == Settings.CATEGORY_MEN)
                                {
                                    sneaker.sex = Settings.GENDER_MAN;
                                }
                                else if (sneaker.category == Settings.CATEGORY_WOMEN)
                                {
                                    sneaker.sex = Settings.GENDER_WOMAN;
                                }
                                else
                                {
                                    throw new Exception("wrong category");
                                }
                            }
                            sneaker.price = item.price;

                            if (item.quantity > 0)
                            {
                                //sizes
                                sneaker.AddSize(item.size, item.quantity, item.upc);

                                newCatalog.AddUniqueSneaker(sneaker);
                            }
                        }
                        else //если артикул уже есть в каталоге
                        {
                            //проверяем, есть ли уже этот размер у кроссовка
                            var size = sneaker.GetSize(item.size);
                            if (size == null)
                            {
                                sneaker.AddSize(item.size, item.quantity, item.upc);
                            }
                            else
                            {
                                Program.Logger.Warn("Дубликат размера в нашем стоке: sku:" + item.sku + " size:" + item.size);
                            }
                        }
                    }
                }
            }

            return(newCatalog);
        }