Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class SqlDataProduct
- {
- public string name { get; set; }
- public string productId { get; set; }
- public List<List<string>> listGroup { get; set; }
- public List<List<string>> pictures { get; set; }
- }
- }
- class CategroyEshop
- {
- public string name { get; set; }
- public string idCategory { get; set; }
- public string parentId{ get; set; }
- }
- }
- public List()
- {
- /*Struktura kategori
- -Głowna 23
- -Kosmetyki 2
- -Twarz 55
- -Meskie 66
- -Cialo 5
- -Jedzenie1
- -Mieso 3
- -Drob 88
- -Wolowina 90
- */
- /*Produkt pobrany z bazy z strukturą kategori do jakiej nalezy
- nazwa-Mydlo
- id-1
- listgroup
- -0
- -id kategori sql 44
- -nazwa Meskie
- -id przypsiane po dodaniu przez api 66
- -1
- -id kategori sql 11
- -nazwa Twarz
- -id przypsiane po dodaniu przez api 55
- -2
- -id kategori sql 12
- -nazwa Kosmetyki
- -id przypsiane po dodaniu przez api 2
- */
- InitializeComponent();
- //lista z kategoriam z Esklepu
- List<CategroyEshop> listCategoryEShop = new List<CategroyEshop>();
- //Produkty pobrane z sql w liscie
- List<SqlDataProduct> listProducts = new List<SqlDataProduct>();
- SqlDataProduct product = new SqlDataProduct();
- product.name = "Mydło";
- product.productId = "1";
- product.listGroup = new List<List<string>>();
- product.listGroup.Add(new List<string> { "44",//id kategori w sql [0]
- "Meskie","" //nazwa w sql [1]
- });//idEshop przypisane po oddani esklepu [2]
- product.listGroup.Add(new List<string> { "11",//id kategori w sql
- "Twarz" ,""//nazwa w sql
- ,//idEshop przypisane po doddaniu esklepu
- });
- product.listGroup.Add(new List<string> { "12",//id kategori w sql
- "Kosmetyki" ,""//nazwa w sql
- ,//idEshop przypisane po doddaniu esklepu
- });
- product.listGroup.Add(new List<string> { "14",//id kategori w sql
- "Glowna","" //nazwa w sql
- ,//idEshop przypisane po doddaniu esklepu
- });
- listProducts.Add(product);
- product = new SqlDataProduct();
- product.name = "Szampon";
- product.productId = "2";
- product.listGroup = new List<List<string>>();
- product.listGroup.Add(new List<string> { "11",//id kategori w sql
- "Twarz",""//nazwa w sql
- //idEshop przypisane po doddaniu esklepu
- });
- product.listGroup.Add(new List<string> { "12",//id kategori w sql
- "Kosmetyki","" //nazwa w sql
- //idEshop przypisane po doddaniu esklepu
- });
- product.listGroup.Add(new List<string> { "14",//id kategori w sql
- "Glowna" ,""//nazwa w sql
- ,//idEshop przypisane po doddaniu esklepu
- });
- listProducts.Add(product);
- //Nastpnei je czytam
- foreach (var item in listProducts)
- {
- item.listGroup.Reverse();
- string parentId = "0"; //parrentid =0 czyli jako głowna kategoria i oznacza id kategori nadrzenej
- foreach (List<string> itemGrup in item.listGroup)
- {
- //Sprawdzam czy kategoria istnieje w sklepie po polu id
- var itemCategory = listCategoryEShop.SingleOrDefault(x => x.idCategory == itemGrup.ElementAt(2));
- if (itemCategory==null)//kategoria nie istnieje trzeba dodac
- {
- //parrentid =0 czyli jako głowna kategoria i oznacza id kategori nadrzenej
- //dodanie kategori id w esklpie przypisuje api wiec tu dalem z palca
- listCategoryEShop.Add(new CategroyEshop { name = itemGrup.ElementAt(1), parentId= parentId, idCategory="23" });
- //Api zwraca id kategori w Esklpie i dodaje to id do bazy na liscie itemGrup jjest to elemnt [2]
- //I podstawiam pod parentId
- /*
- Dodawanie kategori dla mydła
- -Glowna
- -kosmetyki
- -twarz
- -meskie
- */
- }
- //Przypisane id Esklpu ale tylko do kategori w czytanym produkcie
- //W wyniku Ktegorie w Mydle maja idEsklepu a szampon mając te same kategorie nie ma i tworzy znow kategorie glowna,kosmetyki,twarz poniewaz lista nie jest aktualna.
- itemGrup[2] = parentId;
- parentId = parentId;
- //Tak jak robie wyskauje bład,że zmodyfikowano kolekcje i nie można jej odczytac
- listProducts.Reverse();
- foreach (var itemUpdate in listProducts)
- {
- itemUpdate.listGroup.Reverse();
- foreach (List<string> itemGrupUpdte in itemUpdate.listGroup)
- {
- if (itemGrupUpdte[0] == itemGrup.ElementAt(0)) //categorie wystepuje w innych produktach dopisz idEsklpeu
- {
- itemGrupUpdte[2] = itemGrup[2];
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment