private void SynchronizovatLokalniDatabaziAsync() { if (App.CheckForInternetConnection() == true) { var kategorie = App.DatabazeKategorii.GetItemsRest(); var zbozi = App.DatabazeZbozi.GetItemsRest(); App.DatabazeKategorii.DeleteItemsFromTable(); App.DatabazeZbozi.DeleteItemsFromTable(); App.CartDatabase.DeleteItemsFromTable(); foreach (Kategorie kategorie_item in kategorie) { Kategorie kategorie_obj = new Kategorie(); kategorie_obj.ID = kategorie_item.ID; kategorie_obj.NazevKategorie = kategorie_item.NazevKategorie; App.DatabazeKategorii.SaveItemAsync(kategorie_obj); } foreach (Zbozi zbozi_item in zbozi) { Zbozi zbozi_obj = new Zbozi(); zbozi_obj.ID = zbozi_item.ID; zbozi_obj.KategorieZbozi = zbozi_item.KategorieZbozi; zbozi_obj.NazevZbozi = zbozi_item.NazevZbozi; zbozi_obj.PocetKusuSkladem = zbozi_item.PocetKusuSkladem; zbozi_obj.Popis = zbozi_item.Popis; zbozi_obj.Vyprodej = zbozi_item.Vyprodej; zbozi_obj.FotoZbozi = zbozi_item.FotoZbozi; zbozi_obj.Cena = zbozi_item.Cena; zbozi_obj.CenaPredSlevou = zbozi_item.CenaPredSlevou; App.DatabazeZbozi.SaveItemAsync(zbozi_obj); } } }
//offline public Zbozi GetItemByIDRest(int id) { var client = new RestClient(App.apiURL + "?GetWhereIDIs"); var request = new RestRequest(Method.GET); request.AddParameter("productID", id); var response = client.Execute <Zbozi>(request); JsonDeserializer deserializer = new JsonDeserializer(); var data = deserializer.Deserialize <Zbozi>(response); Zbozi products = new Zbozi(); products = data; return(products); }
public void PridatProdukty() { string[] NazvyZbozi = new string[] { "Samsung Galaxy J5 (2016) LTE, černá", "Apple iPhone SE 32GB, šedá", "Honor 8, modrá", "Lenovo IdeaCentre AiO 510-23" }; int[] CenyZbozi = new int[] { 4990, 12990, 9990, 19999 }; int[] CenyPredSlevou = new int[] { 6313, 0, 11028, 0 }; int[] KategorieZbozi = new int[] { 1, 1, 1, 2 }; // "Mobilní telefony" == 1, "Počítače" == 2, "Televize" == 3 string[] PopisyZbozi = new string[] { "Chytrý telefon Samsung Galaxy J5 (2016) Dual SIM proti svému předchůdci přichází s řadou vylepšení. Narostla nám úhlopříčka Super AMOLED displeje, kapacita operační a interní paměti, kapacita baterie, vylepšeny jsou fotoaparáty a to vše je zabaleno, místo plastu, v krásném kovovém designu. Galaxy J5 (2016) představuje kombinaci solidní konstrukce, pěkného výkonu a skvělých funkcí pro fotografie, videa a oblíbená selfie.", "Nejnovější chytrý telefon Apple iPhone SE se vrací ke kořenům klasického kompaktního designu 4“ telefonu jak ho znáte z dob iPhone 5s. Ovšem uvnitř najdete ty nejnovější technologie, které znáte z iPhone 6s. Opět si můžete užívat krásu Retina displeje, oblíbené kamery iSight a FaceTime HD, rychlé připojení a samozřejmě skvělý intuitivní operační systém iOS ve verzi 9. V krásném a kompaktním designu tak získáte telefon nabitý výkonem z dílen Apple.", "Naváže Honor 8 na úspěch modelů 6 a 7? Těžko o tom pochybovat, svou výbavou a zajímavou cenou má našlápnuto k úspěchu. Stejně jako předchůdci je bratrem top modelu ze stáje Huawei, v tomto případě P9. Vstupte do světa mobilní fotografie na nové úrovni. Zadní fotoaparát s dvojicí snímačů je stejně jako u P9 opravdovou špičkou. A na špičku patří telefon Honor 8 také svým výkonem. Nadčasová elegance, velká 5.2'' obrazovka s úchvatnými barvami, rychlost 4G, systém Android 6.0 a štíhlý design smartphone doslova berou dech. Vysoký výkon smartphonu dodává extrémně rychlý 8jádrový procesor za přispění 4 GB paměti RAM. Získejte eleganci a výkon za příjemnou cenu v podobě Honor 8.", "Bavte se a pracujte s tenkým a elegantním all-in-one počítačem Lenovo IdeaCentre AiO 510. Je charakteristický krásným, bezrámovým displejem, zvládne i náročné požadavky a s přehledem splní vaše očekávání v oblasti zábavy. IdeaCentre AiO 510 se stane nejen výkonným společníkem, ale také ozdobou interiéru." }; int[] PocetKusuSkladem = new int[] { 3, 66, 888, 10 }; int[] VyprodejZbozi = new int[] { 1, 1, 1, 0 }; string[] FotkyZbozi = new string[] { "Assets/samsung.jpg", "Assets/iphone.jpg", "Assets/honor.jpg", "Assets/LenovoPC.jpg" }; for (int i = 0; i < NazvyZbozi.Length; i++) { Zbozi zbozi = new Zbozi(); zbozi.NazevZbozi = NazvyZbozi[i]; zbozi.Cena = CenyZbozi[i]; zbozi.CenaPredSlevou = CenyPredSlevou[i]; zbozi.KategorieZbozi = KategorieZbozi[i]; zbozi.Popis = PopisyZbozi[i]; zbozi.PocetKusuSkladem = PocetKusuSkladem[i]; zbozi.Vyprodej = VyprodejZbozi[i]; zbozi.FotoZbozi = FotkyZbozi[i]; int count = 0; foreach (Zbozi item in App.DatabazeZbozi.GetItemsAsync().Result) { if (item.NazevZbozi.Equals(NazvyZbozi[i])) { count += 1; } } if (count == 0) { App.DatabazeZbozi.SaveItemAsync(zbozi); } } }
public Task <int> DeleteItemAsync(Zbozi item) { return(database.DeleteAsync(item)); }
/*public Task<int> SaveItemAsync(Zbozi item) * { * if (item.ID != 0) * { * return database.UpdateAsync(item); * } * else * { * return database.InsertAsync(item); * } * }*/ public Task <int> SaveItemAsync(Zbozi item) { return(database.InsertAsync(item)); }
public Cart(List <int> KosikList) { InitializeComponent(); int soucetCen = 0; List <int> zboziObjednavkyList = new List <int>(); List <int> mnozstviZboziList = new List <int>(); if (KosikList.Count > 0) { // pouziti LINQ var q = from x in KosikList group x by x into g let count = g.Count() orderby count descending select new { idZbozi = g.Key, Count = count }; foreach (var x in q) { Zbozi queryFromCart = App.DatabazeZbozi.GetItemByIDRest(x.idZbozi); Kosik cart = new Kosik(); cart.IDzbozi = x.idZbozi; cart.NazevZbozi = queryFromCart.NazevZbozi; cart.Cena = queryFromCart.Cena; cart.Mnozstvi = x.Count; if (soucetCen == 0) { soucetCen = cart.Cena; } else { soucetCen = cart.Cena + soucetCen; } App.CartDatabase.SaveItemAsync(cart); } } else { var queryCart = App.CartDatabase.GetItemsAsync().Result; foreach (Kosik cart in queryCart) { if (soucetCen == 0) { soucetCen = cart.Cena; } else { soucetCen = cart.Cena + soucetCen; } zboziObjednavkyList.Add(cart.IDzbozi); } CartLV.ItemsSource = queryCart; } celkovaCena.Content = "Celková cena objednávky je " + soucetCen.ToString() + " Kč."; zboziObjednavky = zboziObjednavkyList; this.Loaded += new RoutedEventHandler(LoadLV); }