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 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();
        }