/// <summary> /// Dohvaća grafičke kartice uz pomoć statičke metode DohvatiKomponente, /// te ih prikazuje u ComboBox kontroli. /// </summary> private void OsvjeziGraficke() { List <Artikl> grafickeKartice = null; try { string upit = "SELECT* From Artikl a, Kompatibilnost k WHERE a.Vrsta_ID = 3 AND ((a.ID = k.Komponenta2 AND k.Komponenta1 = " + izabraneKomponente[0].ID + ") OR (a.ID = k.Komponenta1 AND k.Komponenta2 = " + izabraneKomponente[0].ID + " )) AND k.Kompatibilni = 1"; grafickeKartice = Artikl.DohvatiKomponente(upit); RacunajPreporuke(grafickeKartice, uiInputGraficka); } catch (Exception) { MessageBox.Show("Došlo je do pogreške.", "GREŠKA", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Dohvaća procesore uz pomoć statičke metode DohvatiKomponente, /// te ih prikazuje u ComboBox kontroli. /// </summary> private void OsvjeziProcesore() { List <Artikl> procesori = null; try { string upit = "SELECT a.ID, a.Naziv, a.Kratki_opis, a.Specifikacija, a.Cijena, a.Vrsta_ID FROM Artikl a, Kompatibilnost k WHERE a.Vrsta_ID = 4 AND ((a.ID = k.Komponenta2 AND k.Komponenta1 = " + izabraneKomponente[0].ID + ") OR (a.ID = k.Komponenta1 AND k.Komponenta2 = " + izabraneKomponente[0].ID + ")) AND k.Kompatibilni = 1" + "INTERSECT SELECT a.ID, a.Naziv, a.Kratki_opis, a.Specifikacija, a.Cijena, a.Vrsta_ID FROM Artikl a, Kompatibilnost k WHERE a.Vrsta_ID = 4 AND ((a.ID = k.Komponenta2 AND k.Komponenta1 = " + izabraneKomponente[1].ID + ") OR (a.ID = k.Komponenta1 AND k.Komponenta2 = " + izabraneKomponente[1].ID + ")) AND k.Kompatibilni = 1"; procesori = Artikl.DohvatiKomponente(upit); RacunajPreporuke(procesori, uiInputProcesor); } catch (Exception) { MessageBox.Show("Došlo je do pogreške.", "GREŠKA", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Dohvaća zvučne kartice uz pomoć statičke metode DohvatiKomponente, /// te ih prikazuje u ComboBox kontroli. /// </summary> private void OsvjeziZvucneKartice() { List <Artikl> zvucnaKartica = null; try { string upit = "SELECT a.ID, a.Naziv, a.Kratki_opis, a.Specifikacija, a.Cijena, a.Vrsta_ID FROM Artikl a, Kompatibilnost k WHERE a.Vrsta_ID = 10 AND ((a.ID = k.Komponenta2 AND k.Komponenta1 = " + izabraneKomponente[0].ID + ") OR (a.ID = k.Komponenta1 AND k.Komponenta2 = " + izabraneKomponente[0].ID + ")) AND k.Kompatibilni = 1" + "INTERSECT SELECT a.ID, a.Naziv, a.Kratki_opis, a.Specifikacija, a.Cijena, a.Vrsta_ID FROM Artikl a, Kompatibilnost k WHERE a.Vrsta_ID = 10 AND ((a.ID = k.Komponenta2 AND k.Komponenta1 = " + izabraneKomponente[1].ID + ") OR (a.ID = k.Komponenta1 AND k.Komponenta2 = " + izabraneKomponente[1].ID + ")) AND k.Kompatibilni = 1" + "INTERSECT SELECT a.ID, a.Naziv, a.Kratki_opis, a.Specifikacija, a.Cijena, a.Vrsta_ID FROM Artikl a, Kompatibilnost k WHERE a.VRSTA_ID = 10 AND ((a.ID = k.Komponenta2 AND k.Komponenta1 = " + izabraneKomponente[2].ID + ") OR (a.ID = k.Komponenta1 AND k.Komponenta2 = " + izabraneKomponente[2].ID + ")) AND k.Kompatibilni = 1" + "INTERSECT SELECT a.ID, a.Naziv, a.Kratki_opis, a.Specifikacija, a.Cijena, a.Vrsta_ID FROM Artikl a, Kompatibilnost k WHERE a.VRSTA_ID = 10 AND ((a.ID = k.Komponenta2 AND k.Komponenta1 = " + izabraneKomponente[3].ID + ") OR (a.ID = k.Komponenta1 AND k.Komponenta2 = " + izabraneKomponente[3].ID + ")) AND k.Kompatibilni = 1" + "INTERSECT SELECT a.ID, a.Naziv, a.Kratki_opis, a.Specifikacija, a.Cijena, a.Vrsta_ID FROM Artikl a, Kompatibilnost k WHERE a.VRSTA_ID = 10 AND ((a.ID = k.Komponenta2 AND k.Komponenta1 = " + izabraneKomponente[4].ID + ") OR (a.ID = k.Komponenta1 AND k.Komponenta2 = " + izabraneKomponente[4].ID + ")) AND k.Kompatibilni = 1" + "INTERSECT SELECT a.ID, a.Naziv, a.Kratki_opis, a.Specifikacija, a.Cijena, a.Vrsta_ID FROM Artikl a, Kompatibilnost k WHERE a.VRSTA_ID = 10 AND ((a.ID = k.Komponenta2 AND k.Komponenta1 = " + izabraneKomponente[5].ID + ") OR (a.ID = k.Komponenta1 AND k.Komponenta2 = " + izabraneKomponente[5].ID + ")) AND k.Kompatibilni = 1" + "INTERSECT SELECT a.ID, a.Naziv, a.Kratki_opis, a.Specifikacija, a.Cijena, a.Vrsta_ID FROM Artikl a, Kompatibilnost k WHERE a.VRSTA_ID = 10 AND ((a.ID = k.Komponenta2 AND k.Komponenta1 = " + izabraneKomponente[6].ID + ") OR (a.ID = k.Komponenta1 AND k.Komponenta2 = " + izabraneKomponente[6].ID + ")) AND k.Kompatibilni = 1" + "INTERSECT SELECT a.ID, a.Naziv, a.Kratki_opis, a.Specifikacija, a.Cijena, a.Vrsta_ID FROM Artikl a, Kompatibilnost k WHERE a.VRSTA_ID = 10 AND ((a.ID = k.Komponenta2 AND k.Komponenta1 = " + izabraneKomponente[7].ID + ") OR (a.ID = k.Komponenta1 AND k.Komponenta2 = " + izabraneKomponente[7].ID + ")) AND k.Kompatibilni = 1"; zvucnaKartica = Artikl.DohvatiKomponente(upit); RacunajPreporuke(zvucnaKartica, uiInputZvucna); } catch (Exception) { MessageBox.Show("Došlo je do pogreške.", "GREŠKA", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Dohvaća matične ploče uz pomoć statičke metode DohvatiKomponente, /// te ih prikazuje u ComboBox kontroli. /// </summary> private void OsvjeziMaticne() { List <Artikl> maticnePloce = null; try { string upit = "SELECT * FROM Artikl a WHERE a.Vrsta_ID = 2"; maticnePloce = Artikl.DohvatiKomponente(upit); } catch (Exception) { MessageBox.Show("Došlo je do pogreške.", "GREŠKA", MessageBoxButtons.OK, MessageBoxIcon.Error); } foreach (Artikl maticna in maticnePloce.OrderBy(x => x.Cijena)) { uiInputMaticna.Items.Add(maticna); } NajvisaCijena = maticnePloce.Max(x => x.Cijena); }
/// <summary> /// Metoda koja se poziva prilikom pritiska na gumbić Dodaj artikl. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void UiActionDodajArtikl_Click(object sender, EventArgs e) { try { if (ArtiklZaIzmjenu == null) { if (uiInputNaziv.Text != "" && uiInputKratkiOpis.Text != "" && uiInputSpecifikacije.Text != "" && double.TryParse(uiInputCijena.Text, out double cijena) && uiInputVrstaArtikla.SelectedValue.ToString() != "") { Artikl noviArtikl = new Artikl { Naziv = uiInputNaziv.Text, Kratki_opis = uiInputKratkiOpis.Text, Specifikacija = uiInputSpecifikacije.Text, Cijena = cijena, Vrsta_ID = int.Parse(uiInputVrstaArtikla.SelectedValue.ToString()) }; Artikl.DodajArtikl(noviArtikl); var listaArtikala = Artikl.DohvatiKomponente("SELECT * FROM Artikl WHERE ID !=(SELECT MAX(ID) FROM Artikl)"); if (noviArtikl.Vrsta_ID == 1) { OstaloKompatibilnost(listaArtikala, noviArtikl); } else if (noviArtikl.Vrsta_ID == 2) { MaticnaPlocaKompatibilnost(listaArtikala, noviArtikl); } else if (noviArtikl.Vrsta_ID == 3) { GrafickaKarticaKompatibilnost(listaArtikala, noviArtikl); } else if (noviArtikl.Vrsta_ID == 4) { ProcesorKompatibilnost(listaArtikala, noviArtikl); } else if (noviArtikl.Vrsta_ID == 5) { RAMKompatibilnost(listaArtikala, noviArtikl); } else if (noviArtikl.Vrsta_ID == 6) { SSDKompatibilnost(listaArtikala, noviArtikl); } else if (noviArtikl.Vrsta_ID == 7) { HDDKompatibilnost(listaArtikala, noviArtikl); } else if (noviArtikl.Vrsta_ID == 8) { NapajanjeKompatibilnost(listaArtikala, noviArtikl); } else if (noviArtikl.Vrsta_ID == 9) { HladnjakKompatibilnost(listaArtikala, noviArtikl); } else if (noviArtikl.Vrsta_ID == 10) { ZvucnaKarticaKompatibilnost(listaArtikala, noviArtikl); } else if (noviArtikl.Vrsta_ID == 11) { KucisteKompatibilnost(listaArtikala, noviArtikl); } else { SveOstaloKompatibilnost(listaArtikala, noviArtikl); } MessageBox.Show("Artikl je uspješno dodan.", "Artikl dodan!", MessageBoxButtons.OK); this.Close(); } else { MessageBox.Show("Nisu uneseni svi podaci!", "Greška!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { if (uiInputNaziv.Text != "" && uiInputKratkiOpis.Text != "" && uiInputSpecifikacije.Text != "" && double.TryParse(uiInputCijena.Text, out double cijena) && uiInputVrstaArtikla.SelectedValue.ToString() != "") { Artikl.AzurirajArtikl(ArtiklZaIzmjenu, uiInputNaziv.Text, uiInputKratkiOpis.Text, uiInputSpecifikacije.Text, cijena, int.Parse(uiInputVrstaArtikla.SelectedValue.ToString())); var listaKompatibilnosti = Kompatibilnost.DohvatiKompatibilnosti("SELECT * FROM Kompatibilnost WHERE Komponenta1=" + ArtiklZaIzmjenu.ID); foreach (var kompatibilnost in listaKompatibilnosti) { Kompatibilnost.ObrisiKompatibilnost(kompatibilnost); } var listaArtikala = Artikl.DohvatiKomponente("SELECT * FROM Artikl WHERE ID !=" + ArtiklZaIzmjenu.ID); if (ArtiklZaIzmjenu.Vrsta_ID == 1) { OstaloKompatibilnost(listaArtikala, ArtiklZaIzmjenu); } else if (ArtiklZaIzmjenu.Vrsta_ID == 2) { MaticnaPlocaKompatibilnost(listaArtikala, ArtiklZaIzmjenu); } else if (ArtiklZaIzmjenu.Vrsta_ID == 3) { GrafickaKarticaKompatibilnost(listaArtikala, ArtiklZaIzmjenu); } else if (ArtiklZaIzmjenu.Vrsta_ID == 4) { ProcesorKompatibilnost(listaArtikala, ArtiklZaIzmjenu); } else if (ArtiklZaIzmjenu.Vrsta_ID == 5) { RAMKompatibilnost(listaArtikala, ArtiklZaIzmjenu); } else if (ArtiklZaIzmjenu.Vrsta_ID == 6) { SSDKompatibilnost(listaArtikala, ArtiklZaIzmjenu); } else if (ArtiklZaIzmjenu.Vrsta_ID == 7) { HDDKompatibilnost(listaArtikala, ArtiklZaIzmjenu); } else if (ArtiklZaIzmjenu.Vrsta_ID == 8) { NapajanjeKompatibilnost(listaArtikala, ArtiklZaIzmjenu); } else if (ArtiklZaIzmjenu.Vrsta_ID == 9) { HladnjakKompatibilnost(listaArtikala, ArtiklZaIzmjenu); } else if (ArtiklZaIzmjenu.Vrsta_ID == 10) { ZvucnaKarticaKompatibilnost(listaArtikala, ArtiklZaIzmjenu); } else if (ArtiklZaIzmjenu.Vrsta_ID == 11) { KucisteKompatibilnost(listaArtikala, ArtiklZaIzmjenu); } else { SveOstaloKompatibilnost(listaArtikala, ArtiklZaIzmjenu); } MessageBox.Show("Artikl je uspješno ažuriran.", "Artikl ažuriran!", MessageBoxButtons.OK); this.Close(); } else { MessageBox.Show("Nisu uneseni svi podaci!", "Greška!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } catch (Exception) { MessageBox.Show("Pogreška!", "Greška!", MessageBoxButtons.OK, MessageBoxIcon.Error); } }