private void cbbWyrobKod_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if ((cbbWyrobKod.SelectedItem as wyroby != null) && (akcja == "D"))
            {
                WyrobDoZlecenia = cbbWyrobKod.SelectedItem as wyroby;

                // żeby odświeżyć datacontext muszę utworzyć nową zmienną i przepisać wszystkie włąściwości, które mają pozostać niezmienne
                // przy zmianie wyrobu.
                var rowZlecenie2 = new ZleceniaView();
                rowZlecenie2.zlecenie_nr_maszyny        = (grdDane.DataContext as ZleceniaView).zlecenie_nr_maszyny;
                rowZlecenie2.zlecenie_ilosc             = (grdDane.DataContext as ZleceniaView).zlecenie_ilosc;
                rowZlecenie2.zlecenie_data_rozp         = (grdDane.DataContext as ZleceniaView).zlecenie_data_rozp;
                rowZlecenie2.zlecenie_data_zak          = (grdDane.DataContext as ZleceniaView).zlecenie_data_zak;
                rowZlecenie2.zlecenie_nr_partii_surowca = (grdDane.DataContext as ZleceniaView).zlecenie_nr_partii_surowca;
                rowZlecenie2.zlecenie_nr_partii_drutu   = (grdDane.DataContext as ZleceniaView).zlecenie_nr_partii_drutu;

                rowZlecenie2.wyrob_kod_id       = WyrobDoZlecenia.id;
                rowZlecenie2.wyrob_kod          = WyrobDoZlecenia.wyrob_kod;
                rowZlecenie2.wyrob_kod_indeks   = WyrobDoZlecenia.wyrob_kod_indeks;
                rowZlecenie2.wyrob_kod_opis     = WyrobDoZlecenia.wyrob_kod_opis;
                rowZlecenie2.wyrob_typ          = WyrobDoZlecenia.wyrob_typ;
                rowZlecenie2.wyrob_il_w_op_zb   = WyrobDoZlecenia.wyrob_il_w_op_zb;
                rowZlecenie2.wyrob_waga_op      = WyrobDoZlecenia.wyrob_waga_op;
                rowZlecenie2.wyrob_waga_1szt    = WyrobDoZlecenia.wyrob_waga_1szt;
                rowZlecenie2.wyrob_zakres_sdr   = WyrobDoZlecenia.wyrob_zakres_sdr;
                rowZlecenie2.wyrob_zast         = WyrobDoZlecenia.wyrob_zast;
                rowZlecenie2.wyrob_rodzaj_drutu = WyrobDoZlecenia.wyrob_rodzaj_drutu;
                rowZlecenie2.wyrob_norma        = WyrobDoZlecenia.wyrob_norma;
                rowZlecenie2.wyrob_il_w_partii  = WyrobDoZlecenia.wyrob_il_w_partii;
                rowZlecenie2.itf_kategoria      = WyrobDoZlecenia.itf_kategoria;
                rowZlecenie2.itf_znak1          = WyrobDoZlecenia.itf_znak1;
                rowZlecenie2.itf_znak2          = WyrobDoZlecenia.itf_znak2;
                rowZlecenie2.itf_icc            = WyrobDoZlecenia.itf_icc;
                rowZlecenie2.itf_cc1            = WyrobDoZlecenia.itf_cc1;
                rowZlecenie2.itf_cc2            = WyrobDoZlecenia.itf_cc2;
                rowZlecenie2.itf_smin           = WyrobDoZlecenia.itf_smin;
                rowZlecenie2.itf_smax           = WyrobDoZlecenia.itf_smax;
                rowZlecenie2.itf_trn            = WyrobDoZlecenia.itf_trn;
                rowZlecenie2.itf_prn            = WyrobDoZlecenia.itf_prn;
                rowZlecenie2.itf_rez            = WyrobDoZlecenia.itf_rez;
                rowZlecenie2.itf_odch           = WyrobDoZlecenia.itf_odch;
                rowZlecenie2.itf_cz1            = WyrobDoZlecenia.itf_cz1;
                rowZlecenie2.itf_cz2            = WyrobDoZlecenia.itf_cz2;
                rowZlecenie2.itf_ke             = WyrobDoZlecenia.itf_ke;
                rowZlecenie2.trace_znak1        = WyrobDoZlecenia.trace_znak1;
                rowZlecenie2.trace_znak2        = WyrobDoZlecenia.trace_znak2;
                rowZlecenie2.trace_kategoria    = WyrobDoZlecenia.trace_kategoria;
                rowZlecenie2.trace_smin         = WyrobDoZlecenia.trace_smin;
                rowZlecenie2.trace_smax         = WyrobDoZlecenia.trace_smax;
                rowZlecenie2.trace_partia       = WyrobDoZlecenia.trace_partia;
                rowZlecenie2.trace_producent    = WyrobDoZlecenia.trace_producent;
                rowZlecenie2.trace_sdr          = WyrobDoZlecenia.trace_sdr;
                rowZlecenie2.trace_pe_m         = WyrobDoZlecenia.trace_pe_m;
                rowZlecenie2.trace_material     = WyrobDoZlecenia.trace_material;
                rowZlecenie2.trace_pe_o         = WyrobDoZlecenia.trace_pe_o;
                rowZlecenie2.trace_mfr          = WyrobDoZlecenia.trace_mfr;

                grdDane.DataContext = rowZlecenie2;
            }
        }
        private void BtnDodaj_Click(object sender, RoutedEventArgs e)
        {
            akcja       = "D";
            rowZlecenie = new ZleceniaView();
            rowZlecenie.zlecenie_data_rozp = DateTime.Now;
            rowZlecenie.zlecenie_data_zak  = DateTime.Now;
            grdDane.DataContext            = rowZlecenie;

            grdFiltry.IsEnabled    = false;
            dgrdZlecenia.IsEnabled = false;
            grdDane.IsEnabled      = true;

            btnDodaj.IsEnabled     = false;
            btnPopraw.IsEnabled    = false;
            btnUsun.IsEnabled      = false;
            btnAnuluj.IsEnabled    = true;
            btnZatwierdz.IsEnabled = true;
            btnZamknij.IsEnabled   = false;
        }
        private void dgrdZlecenia_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            rowZlecenie = dgrdZlecenia.SelectedItem as ZleceniaView;

            grdDane.DataContext = rowZlecenie;
        }
        private void Zatwierdz(object sender, ExecutedRoutedEventArgs e)
        {
            switch (akcja)
            {
            case "D":
                try
                {
                    var zpv = new ZleceniaView();
                    zpv = grdDane.DataContext as ZleceniaView;
                    var zp = new zlecenia_produkcyjne();
                    zp.id                         = produkcja_db.IdZlecenieProdukcji();
                    zp.wyrob_kod_id               = zpv.wyrob_kod_id;
                    zp.wyrob_kod                  = zpv.wyrob_kod;
                    zp.wyrob_kod_indeks           = zpv.wyrob_kod_indeks;
                    zp.wyrob_kod_opis             = zpv.wyrob_kod_opis;
                    zp.wyrob_typ                  = zpv.wyrob_typ;
                    zp.wyrob_il_w_op_zb           = zpv.wyrob_il_w_op_zb;
                    zp.wyrob_waga_op              = zpv.wyrob_waga_op;
                    zp.wyrob_waga_1szt            = zpv.wyrob_waga_1szt;
                    zp.wyrob_zakres_sdr           = zpv.wyrob_zakres_sdr;
                    zp.wyrob_zast                 = zpv.wyrob_zast;
                    zp.wyrob_rodzaj_drutu         = zpv.wyrob_rodzaj_drutu;
                    zp.wyrob_norma                = zpv.wyrob_norma;
                    zp.wyrob_il_w_partii          = zpv.wyrob_il_w_partii;
                    zp.zlecenie_nr_maszyny        = zpv.zlecenie_nr_maszyny;
                    zp.zlecenie_ilosc             = zpv.zlecenie_ilosc;
                    zp.zlecenie_data_rozp         = zpv.zlecenie_data_rozp;
                    zp.zlecenie_data_zak          = zpv.zlecenie_data_zak;
                    zp.zlecenie_nr_partii_surowca = zpv.zlecenie_nr_partii_surowca;
                    zp.zlecenie_nr_partii_drutu   = zpv.zlecenie_nr_partii_drutu;
                    zp.itf_kategoria              = zpv.itf_kategoria;
                    zp.itf_znak1                  = zpv.itf_znak1;
                    zp.itf_znak2                  = zpv.itf_znak2;
                    zp.itf_icc                    = zpv.itf_icc;
                    zp.itf_cc1                    = zpv.itf_cc1;
                    zp.itf_cc2                    = zpv.itf_cc2;
                    zp.itf_smin                   = zpv.itf_smin;
                    zp.itf_smax                   = zpv.itf_smax;
                    zp.itf_trn                    = zpv.itf_trn;
                    zp.itf_prn                    = zpv.itf_prn;
                    zp.itf_rez                    = zpv.itf_rez;
                    zp.itf_odch                   = zpv.itf_odch;
                    zp.itf_cz1                    = zpv.itf_cz1;
                    zp.itf_cz2                    = zpv.itf_cz2;
                    zp.itf_ke                     = zpv.itf_ke;
                    zp.trace_znak1                = zpv.trace_znak1;
                    zp.trace_znak2                = zpv.trace_znak2;
                    zp.trace_kategoria            = zpv.trace_kategoria;
                    zp.trace_smin                 = zpv.trace_smin;
                    zp.trace_smax                 = zpv.trace_smax;
                    zp.trace_partia               = zpv.trace_partia;
                    zp.trace_producent            = zpv.trace_producent;
                    zp.trace_sdr                  = zpv.trace_sdr;
                    zp.trace_pe_m                 = zpv.trace_pe_m;
                    zp.trace_material             = zpv.trace_material;
                    zp.trace_pe_o                 = zpv.trace_pe_o;
                    zp.trace_mfr                  = zpv.trace_mfr;
                    zp.opw                        = frmLogin.LoggedUser.login;
                    zp.czasw                      = DateTime.Now;
                    zp.opm                        = frmLogin.LoggedUser.login;
                    zp.czasm                      = DateTime.Now;
                    produkcja_db.DodajZlecenie(zp);
                }
                catch (Exception ex)
                {
                    //MessageBox.Show("Wypełnij formularz.");
                    MessageBox.Show(ex.ToString());
                }

                break;

            case "P":
                try
                {
                    var zpv = new ZleceniaView();
                    zpv = grdDane.DataContext as ZleceniaView;
                    var zp = new zlecenia_produkcyjne();
                    zp.id                         = zpv.id;
                    zp.wyrob_kod_id               = zpv.wyrob_kod_id;
                    zp.wyrob_kod                  = zpv.wyrob_kod;
                    zp.wyrob_kod_indeks           = zpv.wyrob_kod_indeks;
                    zp.wyrob_kod_opis             = zpv.wyrob_kod_opis;
                    zp.wyrob_typ                  = zpv.wyrob_typ;
                    zp.wyrob_il_w_op_zb           = zpv.wyrob_il_w_op_zb;
                    zp.wyrob_waga_op              = zpv.wyrob_waga_op;
                    zp.wyrob_waga_1szt            = zpv.wyrob_waga_1szt;
                    zp.wyrob_zakres_sdr           = zpv.wyrob_zakres_sdr;
                    zp.wyrob_zast                 = zpv.wyrob_zast;
                    zp.wyrob_rodzaj_drutu         = zpv.wyrob_rodzaj_drutu;
                    zp.wyrob_norma                = zpv.wyrob_norma;
                    zp.wyrob_il_w_partii          = zpv.wyrob_il_w_partii;
                    zp.zlecenie_nr_maszyny        = zpv.zlecenie_nr_maszyny;
                    zp.zlecenie_ilosc             = zpv.zlecenie_ilosc;
                    zp.zlecenie_data_rozp         = zpv.zlecenie_data_rozp;
                    zp.zlecenie_data_zak          = zpv.zlecenie_data_zak;
                    zp.zlecenie_nr_partii_surowca = zpv.zlecenie_nr_partii_surowca;
                    zp.zlecenie_nr_partii_drutu   = zpv.zlecenie_nr_partii_drutu;
                    zp.itf_kategoria              = zpv.itf_kategoria;
                    zp.itf_znak1                  = zpv.itf_znak1;
                    zp.itf_znak2                  = zpv.itf_znak2;
                    zp.itf_icc                    = zpv.itf_icc;
                    zp.itf_cc1                    = zpv.itf_cc1;
                    zp.itf_cc2                    = zpv.itf_cc2;
                    zp.itf_smin                   = zpv.itf_smin;
                    zp.itf_smax                   = zpv.itf_smax;
                    zp.itf_trn                    = zpv.itf_trn;
                    zp.itf_prn                    = zpv.itf_prn;
                    zp.itf_rez                    = zpv.itf_rez;
                    zp.itf_odch                   = zpv.itf_odch;
                    zp.itf_cz1                    = zpv.itf_cz1;
                    zp.itf_cz2                    = zpv.itf_cz2;
                    zp.itf_ke                     = zpv.itf_ke;
                    zp.trace_znak1                = zpv.trace_znak1;
                    zp.trace_znak2                = zpv.trace_znak2;
                    zp.trace_kategoria            = zpv.trace_kategoria;
                    zp.trace_smin                 = zpv.trace_smin;
                    zp.trace_smax                 = zpv.trace_smax;
                    zp.trace_partia               = zpv.trace_partia;
                    zp.trace_producent            = zpv.trace_producent;
                    zp.trace_sdr                  = zpv.trace_sdr;
                    zp.trace_pe_m                 = zpv.trace_pe_m;
                    zp.trace_material             = zpv.trace_material;
                    zp.trace_pe_o                 = zpv.trace_pe_o;
                    zp.trace_mfr                  = zpv.trace_mfr;
                    zp.opw                        = zpv.opw;
                    zp.czasw                      = zpv.czasw;
                    zp.opm                        = frmLogin.LoggedUser.login;
                    zp.czasm                      = DateTime.Now;
                    produkcja_db.PoprawZlecenie(zp);
                    DialogResult = true;
                }
                catch
                {
                    MessageBox.Show("Wypełnij formularz.");
                }
                break;

            default:
                break;
            }
            akcja = "Z";
            grdFiltry.IsEnabled    = true;
            dgrdZlecenia.IsEnabled = true;
            grdDane.IsEnabled      = false;

            btnDodaj.IsEnabled     = true;
            btnPopraw.IsEnabled    = true;
            btnUsun.IsEnabled      = true;
            btnAnuluj.IsEnabled    = false;
            btnZatwierdz.IsEnabled = false;
            btnZamknij.IsEnabled   = true;
        }