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