private void btnObrisi_Click(object sender, RoutedEventArgs e)
        {
            if (dgPregled.Items.Count > 0)
            {
                DataRowView red = (DataRowView)dgPregled.SelectedItems[0];
                int         id  = Convert.ToInt32(red[0]);

                try
                {
                    MessageBoxResult rez = MessageBox.Show(@"Da li ste sigurni? Biće obrisani i svi podaci povezani sa vlasnikom.",
                                                           "Upozorenje",
                                                           MessageBoxButton.YesNo, MessageBoxImage.Question);
                    if (rez != MessageBoxResult.Yes)
                    {
                        return;
                    }

                    //mora ovako da bismo isli unazad i obrisali sve povezane podatke
                    Vlasnik vlasnik = Vlasnik.UcitajVlasnika(id);
                    foreach (int idVozila in Vlasnik.ListaVozila(id))
                    {
                        Vozilo vozilo = Vozilo.UcitajVozilo(idVozila);
                        foreach (int idNaloga in Vozilo.ListaNaloga(idVozila))
                        {
                            RadniNalog nalog = RadniNalog.UcitajNalog(idNaloga);
                            Garancija.ObrisiSveGarancijeZaRadniNalog(idNaloga);
                            Faktura.ObrisiSveFakture(idNaloga);
                            NaruceniRadovi.ObrisiSveNaruceneRadove(idNaloga);
                            Delovi.ObrisiSveDelove(idNaloga);
                            IzvrseniRadovi.ObrisiSveIzvrseneRadove(idNaloga);
                            nalog.Obrisi();
                        }
                        vozilo.Obrisi();
                    }
                    vlasnik.Obrisi();
                    UcitajListuVlasnika();
                }
                catch (InvalidOperationException)
                {
                    MessageBox.Show("Niste izabrali red.", "Greška",
                                    MessageBoxButton.OK, MessageBoxImage.Error);
                }
                catch (Exception ex)
                {
                    MessageBox.Show($"Došlo je do greške prilikom pokušaja brisanja podataka: { ex.Message }.", "Greška",
                                    MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }
Example #2
0
        private void btnObrisi_Click(object sender, RoutedEventArgs e)
        {
            if (dgPregled.Items.Count > 0)
            {
                DataRowView red = (DataRowView)dgPregled.SelectedItems[0];
                int         id  = Convert.ToInt32(red[0]);

                try
                {
                    MessageBoxResult rez = MessageBox.Show(@"Da li ste sigurni? Biće obrisani i svi podaci povezani na radni nalog.",
                                                           "Upozorenje",
                                                           MessageBoxButton.YesNo, MessageBoxImage.Question);
                    if (rez != MessageBoxResult.Yes)
                    {
                        return;
                    }

                    RadniNalog nalog = RadniNalog.UcitajNalog(id);
                    Garancija.ObrisiSveGarancijeZaRadniNalog(id);
                    Faktura.ObrisiSveFakture(id);
                    NaruceniRadovi.ObrisiSveNaruceneRadove(id);
                    Delovi.ObrisiSveDelove(id);
                    IzvrseniRadovi.ObrisiSveIzvrseneRadove(id);

                    nalog.Obrisi();
                    UcitajListuNaloga();
                }
                catch (InvalidOperationException)
                {
                    MessageBox.Show("Niste izabrali red.", "Greška",
                                    MessageBoxButton.OK, MessageBoxImage.Error);
                }
                catch (Exception ex)
                {
                    MessageBox.Show($"Došlo je do greške prilikom pokušaja brisanja podataka: { ex.Message }.", "Greška",
                                    MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }