private void btnObrisiDelovi_Click(object sender, RoutedEventArgs e)
        {
            if (dgDelovi.Items.Count > 0 && cmbRadniNalog.SelectedValue != null)
            {
                DataRowView red = (DataRowView)dgDelovi.SelectedItems[0];
                int         rbr = Convert.ToInt32(red[0]);

                try
                {
                    MessageBoxResult rez = MessageBox.Show(@"Da li ste sigurni?",
                                                           "Upozorenje",
                                                           MessageBoxButton.YesNo, MessageBoxImage.Question);
                    if (rez != MessageBoxResult.Yes)
                    {
                        return;
                    }

                    Delovi deo = Delovi.UcitajDeo(rbr, Convert.ToInt32(cmbRadniNalog.SelectedValue));
                    deo.Obrisi();
                    UcitajListuDelova();
                }
                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);
                }
            }
        }
        private void UcitajDeo()
        {
            if (dgDelovi.Items.Count <= 0 || cmbRadniNalog.SelectedValue == null)
            {
                txtNazivDela.Text      = "";
                txtSifra.Text          = "";
                txtKolicinaDelovi.Text = "";
                txtCenaDelovi.Text     = "";
                txtJmrDelovi.Text      = "";
                deloviRedni            = 1;
                return;
            }

            int         id  = Convert.ToInt32(cmbRadniNalog.SelectedValue);
            DataRowView red = (DataRowView)dgDelovi.SelectedItems[0];
            int         rbr = Convert.ToInt32(red[0]);

            Delovi deo = Delovi.UcitajDeo(rbr, id);

            deloviRedni            = rbr;
            txtNazivDela.Text      = deo.Naziv;
            txtSifra.Text          = deo.Sifra;
            txtKolicinaDelovi.Text = deo.Kolicina.ToString("F3");
            txtCenaDelovi.Text     = deo.Cena.ToString("F2");
            txtJmrDelovi.Text      = deo.JedinicaMere;
        }
        private void UcitajListuDelova()
        {
            tbPoruka3.Text = "";
            if (cmbRadniNalog.SelectedValue == null)
            {
                return;
            }
            int id = Convert.ToInt32(cmbRadniNalog.SelectedValue);

            dgDelovi.ItemsSource = Delovi.ListaDelova(id).DefaultView;
            UcitajDeo();
            UcitajRadniNalog();
        }
        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);
                }
            }
        }
        private void cmbRadniNalog_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (cmbRadniNalog.SelectedValue != null)
            {
                RadniNalog nalog = RadniNalog.UcitajNalog(Convert.ToInt32(cmbRadniNalog.SelectedValue));
                tbRadniNalogID.Text = $@"ID radnog naloga: { nalog.Id }";
                tbVlasnik.Text      = $@"Vlasnik: { nalog.Vozilo.Vlasnik.ImeVlasnika } { nalog.Vozilo.Vlasnik.PrezimeVlasnika }";
                tbVozilo.Text       = $@"Vozilo: { nalog.Vozilo.Model.Marka.NazivMarke } { nalog.Vozilo.Model.NazivModela }";

                tbIznosDelova.Text = $@"Iznos delova: { nalog.IznosDelova().ToString("F2") }";
                tbIznosRadova.Text = $@"Iznos radova: { nalog.IznosRadova().ToString("F2") }";
                tbUkupno.Text      = $@"Ukupan iznos: { (nalog.IznosRadova() + nalog.IznosDelova()).ToString("F2") }";

                dgRadovi.ItemsSource = IzvrseniRadovi.ListaIzvrsenihRadova(nalog.Id).DefaultView;
                dgDelovi.ItemsSource = Delovi.ListaDelova(nalog.Id).DefaultView;
            }
        }
Beispiel #6
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);
                }
            }
        }
        private void UcitajFakturu()
        {
            if (dgPregled.Items.Count <= 0)
            {
                txtID.Text                  = "";
                dtDatum.SelectedDate        = null;
                dtValuta.SelectedDate       = null;
                txtBrojFiskalnogRacuna.Text = "";
                cmbRadniNalog.Text          = "";
                tbRadniNalogID.Text         = "";
                tbVlasnik.Text              = "";
                tbVozilo.Text               = "";
                tbIznosDelova.Text          = "";
                tbIznosRadova.Text          = "";
                tbUkupno.Text               = "";
                return;
            }
            DataRowView red = (DataRowView)dgPregled.SelectedItems[0];

            int id = Convert.ToInt32(red[0]);

            Faktura faktura = Faktura.UcitajFakturu(id);

            cmbRadniNalog.SelectedValue = faktura.RadniNalog.Id;
            txtID.Text                  = id.ToString();
            dtDatum.SelectedDate        = faktura.Datum;
            dtValuta.SelectedDate       = faktura.Valuta;
            txtBrojFiskalnogRacuna.Text = faktura.BrojFiskalnogRacuna.ToString();

            tbRadniNalogID.Text  = $@"ID radnog naloga: { faktura.RadniNalog.Id }";
            tbVlasnik.Text       = $@"Vlasnik: { faktura.RadniNalog.Vozilo.Vlasnik.ImeVlasnika } { faktura.RadniNalog.Vozilo.Vlasnik.PrezimeVlasnika }";
            tbVozilo.Text        = $@"Vozilo: { faktura.RadniNalog.Vozilo.Model.Marka.NazivMarke } { faktura.RadniNalog.Vozilo.Model.NazivModela }";
            tbIznosDelova.Text   = $@"Iznos delova: { faktura.RadniNalog.IznosDelova().ToString("F2") }";
            tbIznosRadova.Text   = $@"Iznos radova: { faktura.RadniNalog.IznosRadova().ToString("F2") }";
            tbUkupno.Text        = $@"Ukupan iznos: { (faktura.RadniNalog.IznosRadova() + faktura.RadniNalog.IznosDelova()).ToString("F2") }";
            dgRadovi.ItemsSource = IzvrseniRadovi.ListaIzvrsenihRadova(faktura.RadniNalog.Id).DefaultView;
            dgDelovi.ItemsSource = Delovi.ListaDelova(faktura.RadniNalog.Id).DefaultView;
        }
        private void btnSacuvajDelovi_Click(object sender, RoutedEventArgs e)
        {
            if (cmbRadniNalog.SelectedValue == null)
            {
                tbPoruka3.Text = "Morate izabrati radni nalog.";
                return;
            }
            if (String.IsNullOrEmpty(txtSifra.Text))
            {
                tbPoruka3.Text = "Morate uneti šifru.";
                return;
            }
            if (String.IsNullOrEmpty(txtNazivDela.Text))
            {
                tbPoruka3.Text = "Morate uneti naziv dela.";
                return;
            }
            if (String.IsNullOrEmpty(txtKolicinaDelovi.Text))
            {
                tbPoruka3.Text = "Morate uneti količinu.";
                return;
            }

            if (String.IsNullOrEmpty(txtJmrDelovi.Text))
            {
                tbPoruka3.Text = "Morate uneti jedinicu mere.";
                return;
            }

            if (String.IsNullOrEmpty(txtCenaDelovi.Text))
            {
                tbPoruka3.Text = "Morate uneti cenu.";
                return;
            }

            Delovi deo = new Delovi();

            try {
                deo.RedniBroj    = deloviRedni;
                deo.Sifra        = txtSifra.Text;
                deo.Naziv        = txtNazivDela.Text;
                deo.Kolicina     = Convert.ToDouble(txtKolicinaDelovi.Text);
                deo.Cena         = Convert.ToDouble(txtCenaDelovi.Text);
                deo.JedinicaMere = txtJmrDelovi.Text;
                deo.RadniNalog   = RadniNalog.UcitajNalog(Convert.ToInt32(cmbRadniNalog.SelectedValue));
            }
            catch (Exception)
            {
                tbPoruka3.Text = "Niste uneli ispravne vrednosti.";
                return;
            }

            bool azuriraj = false;

            foreach (DataRowView red in dgDelovi.ItemsSource)
            {
                if (Convert.ToInt32(red[0]) == deo.RedniBroj)
                {
                    azuriraj = true;
                    break;
                }
            }

            if (azuriraj == true)
            {
                Delovi stari = Delovi.UcitajDeo(deloviRedni,
                                                Convert.ToInt32(cmbRadniNalog.SelectedValue));
                stari.Azuriraj(deo);
                UcitajListuDelova();
                return;
            }

            deo.Sacuvaj();
            UcitajListuDelova();
        }