public ObservableCollection <Artikal> dajSve() { ObservableCollection <Artikal> artikli = new ObservableCollection <Artikal>(); MySqlConnection connection2 = new MySqlConnection(connectionString); try { connection.Open(); MySqlCommand upit = new MySqlCommand(); upit.Connection = connection; upit.CommandText = "select * from artikli"; MySqlDataReader r = upit.ExecuteReader(); while (r.Read()) { connection2.Open(); MySqlCommand upit2 = new MySqlCommand(); upit2.Connection = connection2; if (r.GetString("tip_artikla") == "ElektricnaGitara") { upit2.CommandText = "select * from specifikacije sp, spec_gitara sg where sp.id_spec = sg.id_spec and sp.id_spec =" + r.GetString("id_specifikacije"); MySqlDataReader r2 = upit2.ExecuteReader(); while (r2.Read()) { Byte[] slikaTEMP = new Byte[65536]; r.GetBytes(4, 0, slikaTEMP, 0, 65536); BitmapImage slika = byteArrayToImage(slikaTEMP); SpecElektricna spec = new SpecElektricna(r2.GetInt32("godina_proizvodnje"), r2.GetString("proizvodjac"), r2.GetString("model"), r2.GetString("materijal"), r2.GetInt32("broj_zica"), r2.GetString("vrat"), r2.GetString("most"), r2.GetString("pickup"), r2.GetString("elektronika")); string tempTip = r.GetString("tip_gitare"); TipElektronika tip; if (tempTip == "Elektricna") { tip = TipElektronika.Elektricna; } else { tip = TipElektronika.Bass; } artikli.Add(new ElektricnaGitara(r.GetInt32("serijski_broj"), r.GetString("naziv"), r.GetDouble("cijena"), spec, slika, tip)); } } else if (r.GetString("tip_artikla") == "KlasicnaGitara") { upit2.CommandText = "select * from specifikacije sp, spec_gitara sg where sp.id_spec = sg.id_spec and sp.id_spec =" + r.GetString("id_specifikacije"); MySqlDataReader r2 = upit2.ExecuteReader(); while (r2.Read()) { Byte[] slikaTEMP = new Byte[65536]; r.GetBytes(4, 0, slikaTEMP, 0, 65536); BitmapImage slika = byteArrayToImage(slikaTEMP); SpecKlasicna spec = new SpecKlasicna(r2.GetInt32("godina_proizvodnje"), r2.GetString("proizvodjac"), r2.GetString("model"), r2.GetString("materijal"), r2.GetInt32("broj_zica"), r2.GetString("masinica")); string tempTip = r.GetString("tip_gitare"); TipKlasicne tip; if (tempTip == "Akusticna") { tip = TipKlasicne.Akusticna; } else { tip = TipKlasicne.Klasicna; } artikli.Add(new KlasicnaGitara(r.GetInt32("serijski_broj"), r.GetString("naziv"), r.GetDouble("cijena"), spec, slika, tip)); } } else if (r.GetString("tip_artikla") == "Klavijatura") { upit2.CommandText = "select * from specifikacije sp, spec_klavijature sg where sp.id_spec = sg.id_spec and sp.id_spec =" + r.GetString("id_specifikacije"); MySqlDataReader r2 = upit2.ExecuteReader(); while (r2.Read()) { Byte[] slikaTEMP = new Byte[65536]; r.GetBytes(4, 0, slikaTEMP, 0, 65536); BitmapImage slika = byteArrayToImage(slikaTEMP); SpecKlavijatura spec = new SpecKlavijatura(r2.GetInt32("godina_proizvodnje"), r2.GetString("proizvodjac"), r2.GetString("model"), r2.GetString("materijal"), r2.GetInt32("broj_tipki"), r2.GetString("zvucnik"), r2.GetDouble("tezina"), r2.GetString("napajanje")); artikli.Add(new Klavijatura(r.GetInt32("serijski_broj"), r.GetString("naziv"), r.GetDouble("cijena"), spec, slika)); } } else if (r.GetString("tip_artikla") == "Pojacalo") { upit2.CommandText = "select * from specifikacije sp, spec_pojacala sg where sp.id_spec = sg.id_spec and sp.id_spec =" + r.GetString("id_specifikacije"); MySqlDataReader r2 = upit2.ExecuteReader(); while (r2.Read()) { Byte[] slikaTEMP = new Byte[65536]; r.GetBytes(4, 0, slikaTEMP, 0, 65536); BitmapImage slika = byteArrayToImage(slikaTEMP); SpecPojacalo spec = new SpecPojacalo(r2.GetInt32("godina_proizvodnje"), r2.GetString("proizvodjac"), r2.GetString("model"), r2.GetString("materijal"), r2.GetString("zvucnik"), r2.GetInt32("broj_kanala"), r2.GetBoolean("ulaz_slusalice")); artikli.Add(new Pojacalo(r.GetInt32("serijski_broj"), r.GetString("naziv"), r.GetDouble("cijena"), spec, slika)); } } connection2.Close(); } connection.Close(); return(artikli); } catch (Exception) { connection.Close(); connection2.Close(); return(artikli); } }