Guest User

Untitled

a guest
Jun 29th, 2018
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.99 KB | None | 0 0
  1.     public class SqlDataProduct
  2.     {
  3.         public string name { get; set; }
  4.         public string productId { get; set; }
  5.         public List<List<string>> listGroup { get; set; }
  6.         public List<List<string>> pictures { get; set; }
  7.     }
  8. }
  9.  
  10.     class CategroyEshop
  11.     {
  12.         public string name { get; set; }
  13.         public string idCategory { get; set; }
  14.         public string  parentId{ get; set; }
  15.  
  16.  
  17.     }
  18. }
  19.  
  20.  public List()
  21.         {
  22.  
  23.             /*Struktura kategori
  24.             -Głowna 23
  25.              -Kosmetyki 2
  26.                  -Twarz 55
  27.                     -Meskie 66
  28.                  -Cialo 5
  29.              -Jedzenie1
  30.                 -Mieso 3
  31.                     -Drob 88
  32.                     -Wolowina 90
  33.                
  34.              
  35.              
  36.              */
  37.  
  38.             /*Produkt pobrany z bazy z strukturą kategori do jakiej nalezy
  39.              nazwa-Mydlo
  40.              id-1
  41.              listgroup
  42.                 -0
  43.                    -id kategori sql 44
  44.                    -nazwa Meskie
  45.                    -id przypsiane po dodaniu przez api 66
  46.                 -1
  47.                     -id kategori sql 11
  48.                    -nazwa Twarz
  49.                    -id przypsiane po dodaniu przez api 55
  50.                 -2  
  51.                       -id kategori sql 12
  52.                    -nazwa Kosmetyki
  53.                    -id przypsiane po dodaniu przez api 2
  54.              */
  55.             InitializeComponent();
  56.  
  57.             //lista z  kategoriam z Esklepu
  58.             List<CategroyEshop> listCategoryEShop = new List<CategroyEshop>();
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.             //Produkty pobrane z sql w liscie
  66.             List<SqlDataProduct> listProducts = new List<SqlDataProduct>();
  67.             SqlDataProduct product = new SqlDataProduct();
  68.             product.name = "Mydło";
  69.             product.productId = "1";
  70.  
  71.             product.listGroup = new List<List<string>>();
  72.  
  73.             product.listGroup.Add(new List<string> { "44",//id kategori w sql [0]
  74.                                                         "Meskie","" //nazwa w  sql [1]
  75.                                                         });//idEshop przypisane po oddani  esklepu [2]
  76.  
  77.  
  78.             product.listGroup.Add(new List<string> { "11",//id kategori w sql
  79.                                                         "Twarz" ,""//nazwa w  sql
  80.                                                         ,//idEshop przypisane po doddaniu  esklepu
  81.                                                     });
  82.  
  83.             product.listGroup.Add(new List<string> { "12",//id kategori w sql
  84.                                                         "Kosmetyki" ,""//nazwa w  sql
  85.                                                         ,//idEshop przypisane po doddaniu  esklepu
  86.                                                     });
  87.  
  88.             product.listGroup.Add(new List<string> { "14",//id kategori w sql
  89.                                                         "Glowna","" //nazwa w  sql
  90.                                                         ,//idEshop przypisane po doddaniu  esklepu
  91.                                                     });
  92.  
  93.             listProducts.Add(product);
  94.  
  95.  
  96.             product = new SqlDataProduct();
  97.             product.name = "Szampon";
  98.             product.productId = "2";
  99.  
  100.             product.listGroup = new List<List<string>>();
  101.  
  102.             product.listGroup.Add(new List<string> { "11",//id kategori w sql
  103.                                                         "Twarz",""//nazwa w  sql
  104.                                                         //idEshop przypisane po doddaniu  esklepu
  105.                                                     });
  106.  
  107.             product.listGroup.Add(new List<string> { "12",//id kategori w sql
  108.                                                         "Kosmetyki","" //nazwa w  sql
  109.                                                         //idEshop przypisane po doddaniu  esklepu
  110.                                                     });
  111.  
  112.                product.listGroup.Add(new List<string> { "14",//id kategori w sql
  113.                                                         "Glowna" ,""//nazwa w  sql
  114.                                                         ,//idEshop przypisane po doddaniu  esklepu
  115.                                                     });
  116.  
  117.             listProducts.Add(product);
  118.  
  119.  
  120.             //Nastpnei je czytam
  121.  
  122.             foreach (var item in listProducts)
  123.             {
  124.                
  125.             item.listGroup.Reverse();
  126.                 string parentId = "0";  //parrentid =0 czyli jako głowna kategoria i oznacza id kategori nadrzenej
  127.                 foreach (List<string> itemGrup in item.listGroup)
  128.                 {
  129.                     //Sprawdzam czy  kategoria istnieje w sklepie po polu id
  130.                     var itemCategory = listCategoryEShop.SingleOrDefault(x => x.idCategory == itemGrup.ElementAt(2));
  131.  
  132.                     if (itemCategory==null)//kategoria nie istnieje trzeba dodac
  133.                     {
  134.  
  135.                         //parrentid =0 czyli jako głowna kategoria i oznacza id kategori nadrzenej
  136.                         //dodanie kategori id w esklpie przypisuje api wiec tu dalem z palca
  137.                         listCategoryEShop.Add(new CategroyEshop { name = itemGrup.ElementAt(1), parentId= parentId, idCategory="23" });
  138.  
  139.                         //Api zwraca id kategori w Esklpie i dodaje to id do bazy na liscie  itemGrup jjest to  elemnt [2]
  140.                         //I podstawiam pod parentId
  141.  
  142.                         /*
  143.                         Dodawanie kategori dla mydła
  144.                         -Glowna
  145.                          -kosmetyki
  146.                            -twarz
  147.                             -meskie
  148.                         */
  149.  
  150.  
  151.  
  152.                    
  153.                     }
  154.  
  155.                    
  156.                     //Przypisane id Esklpu ale tylko do kategori w czytanym produkcie
  157.                     //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.
  158.                     itemGrup[2] = parentId;
  159.                     parentId = parentId;
  160.                     //Tak jak robie wyskauje bład,że zmodyfikowano kolekcje i nie można jej odczytac
  161.                     listProducts.Reverse();
  162.                     foreach (var itemUpdate in listProducts)
  163.                     {
  164.                         itemUpdate.listGroup.Reverse();
  165.                         foreach (List<string> itemGrupUpdte in itemUpdate.listGroup)
  166.  
  167.                         {
  168.  
  169.                          
  170.  
  171.                             if (itemGrupUpdte[0] == itemGrup.ElementAt(0)) //categorie wystepuje w innych produktach dopisz idEsklpeu
  172.                             {
  173.  
  174.                                 itemGrupUpdte[2] = itemGrup[2];
  175.  
  176.                             }
  177.                          
  178.  
  179.                         }
  180.                     }
  181.  
  182.                 }
  183.  
  184.                
  185.             }
Advertisement
Add Comment
Please, Sign In to add comment