/// <summary> /// Metoda koja se poziva prilikom pritiska na gumbić Obriši /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Button1_Click(object sender, EventArgs e) { Artikl artiklZaBrisanje = null; try { artiklZaBrisanje = (Artikl)artiklBindingSource.Current; } catch (Exception) { MessageBox.Show("Pogreška!", "Greška!", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (MessageBox.Show("Sigurno želite obrisati artikl " + artiklZaBrisanje.Naziv + " i sve stavke, kompatibilnosti i dostupnosti vezane uz artikl?", "Upozorenje", MessageBoxButtons.YesNo) == DialogResult.Yes) { try { var listaKompatibilnosti = Kompatibilnost.DohvatiKompatibilnosti("SELECT * FROM Kompatibilnost WHERE Komponenta1=" + artiklZaBrisanje.ID + " OR Komponenta2=" + artiklZaBrisanje.ID); foreach (var kompatibilnost in listaKompatibilnosti) { Kompatibilnost.ObrisiKompatibilnost(kompatibilnost); } Artikl.ObrisiArtikl(artiklZaBrisanje); } catch (Exception) { MessageBox.Show("Pogreška!", "Greška!", MessageBoxButtons.OK, MessageBoxIcon.Error); } MessageBox.Show("Artikl je uspješno obrisan!", "Artikl obrisan", MessageBoxButtons.OK); OsvjeziPrikaze(); } }
/// <summary> /// Statièka metoda koja kao argument prima kompatibilnost koja se želi obrisati. /// Metoda briše odabranu kompatibilnost iz baze podataka. /// </summary> /// <param name="kompatibilnostZaBrisanje"></param> public static void ObrisiKompatibilnost(Kompatibilnost kompatibilnostZaBrisanje) { using (var db = new TechStoreEntities()) { db.Kompatibilnost.Attach(kompatibilnostZaBrisanje); db.Kompatibilnost.Remove(kompatibilnostZaBrisanje); db.SaveChanges(); } }
/// <summary> /// Statièka metoda koja kao argument prima novu kompatibilnost. /// Metoda dodaje novu kompatibilnost u bazu podataka. /// </summary> /// <param name="novaKompatibilnost"></param> public static void DodajKompatibilnost(Kompatibilnost novaKompatibilnost) { using (var db = new TechStoreEntities()) { db.Kompatibilnost.Attach(novaKompatibilnost); db.Kompatibilnost.Add(novaKompatibilnost); db.SaveChanges(); } }
/// <summary> /// Metoda koja služi za pozivanje metode DodajKompatibilnost u klasi Kompatibilnost. /// </summary> /// <param name="trenutniArtikl"></param> /// <param name="noviArtikl"></param> /// <param name="kompatibilni"></param> public void DodajKompatibilnostPomoc(Artikl trenutniArtikl, Artikl noviArtikl, bool kompatibilni) { Kompatibilnost kompatibilnost = new Kompatibilnost { Komponenta1 = noviArtikl.ID, Komponenta2 = trenutniArtikl.ID, Kompatibilni = kompatibilni }; Kompatibilnost.DodajKompatibilnost(kompatibilnost); }
/// <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); } }