public Window2(MainWindow per, BdClass.Main ch)
        {
            InitializeComponent();
            B = per;
            adress.ItemsSource = B.adress.ItemsSource;
            btOK.Content = "Изменить";
            Ch = ch;
            try
            {
                for (int i = 0; i < adress.Items.Count; i++)
                {
                    var kkk = (BdClass.Adress)adress.Items[i];
                    if (kkk.Id == Ch.Adress.Id)
                    {
                        adress.SelectedIndex = i;
                        break;
                    }
                }
                if (Ch != null)
                telephone.Text = Ch.Telephone;
                if (Ch != null) castomer.Text = Ch.Customer;
                if (Ch != null) SPCH_Unchecked(null, null);

            }
            catch (Exception exp)
            {
                MessageBox.Show(exp.Message);
            }

        }
        public void Filter(DataGrid dg, ComboBox tj, ComboBox ad, ComboBox mast)
        {
            String sqlDb = @"SELECT *
                FROM     
	                dbo.main 
            INNER JOIN dbo.type_job		ON dbo.main.id_type_job = dbo.type_job.id_type_job
            INNER JOIN dbo.malfunction	ON dbo.main.id_malfunction =  dbo.malfunction.id_malfunction
            INNER JOIN dbo.discounts	ON dbo.main.id_discounts = dbo.discounts.id_discounts
            INNER JOIN dbo.adress		ON dbo.main.id_adress = dbo.adress.id_adress     
            INNER JOIN dbo.master		ON dbo.main.id_master = dbo.master.id_master
            LEFT JOIN dbo.spare_parts	ON dbo.main.id_spare_parts = spare_parts.id_spare_parts ";
            if (tj.SelectedIndex > 0)
            {
                int kkkk = ((BdClass.TypeJob)tj.SelectedItem).Id;
                sqlDb += "where dbo.type_job.id_type_job =" + kkkk;
            }
            if (ad.SelectedIndex > 0)
            {
                if (tj.SelectedIndex > 0)
                {
                    int kkkk1 = ((BdClass.Adress)ad.SelectedItem).Id;
                    sqlDb += " AND dbo.adress.id_adress =" + kkkk1;
                }
                else
                {
                    int kkkk1 = ((BdClass.Adress)ad.SelectedItem).Id;
                    sqlDb += " where dbo.adress.id_adress =" + kkkk1;
                }
               }
            if (mast.SelectedIndex > 0)
            {
                if (tj.SelectedIndex > 0 || ad.SelectedIndex > 0)
                {
                    int kkkk2 = ((BdClass.Master)mast.SelectedItem).Id;
                    sqlDb += " AND dbo.master.id_master =" + kkkk2;
                }
                else
                {
                    int kkkk2 = ((BdClass.Master)mast.SelectedItem).Id;
                    sqlDb += " WHERE dbo.master.id_master =" + kkkk2;
                }
                
            }
            var sqlDa = new SqlDataAdapter(sqlDb, SqlCon);
            var dtMain = new DataTable();
            try
            {
                sqlDa.Fill(dtMain);
            }
            catch (Exception exp)
            {
                MessageBox.Show(exp.Message);
            }
            var lmf4 = new List<BdClass.Main>();
            for (var i = 0; i < dtMain.Rows.Count; i++)
            {

                var temp = new BdClass.Main
                {
                    Id = (int)dtMain.Rows[i]["id_main"],
                    Telephone = dtMain.Rows[i]["telephone"].ToString(),
                    Customer = dtMain.Rows[i]["customer"].ToString(),
                    DateOfCompletion = Convert.ToDateTime(dtMain.Rows[i]["date_of_completion"].ToString())
                };
                var dateTime = dtMain.Rows[i]["time_of_completion"].ToString() != ""
                    ? (DateTime?)Convert.ToDateTime(dtMain.Rows[i]["time_of_completion"].ToString())
                    : null;
                temp.TimeOfCompletion = dateTime;
                temp.Adress = new BdClass.Adress
                {
                    Id = (int) dtMain.Rows[i]["id_adress"],
                    Name = dtMain.Rows[i]["name_adress"].ToString()
                };
                temp.Typejob = new BdClass.TypeJob
                {
                    Id = (int) dtMain.Rows[i]["id_type_job"],
                    Name = dtMain.Rows[i]["name_type_job"].ToString()
                };
                temp.Master = new BdClass.Master
                {
                    Id = (int) dtMain.Rows[i]["id_master"],
                    Name = dtMain.Rows[i]["name"].ToString(),
                    Dol = dtMain.Rows[i]["dol"].ToString()
                };
                temp.SpareParts = new BdClass.SpareParts();

                var sp = dtMain.Rows[i]["id_spare_parts"].ToString() != ""
                  ? dtMain.Rows[i]["name_spare_parts"].ToString()
                  : null;

                temp.SpareParts.Name = sp; 
                
                temp.Malfunction = new BdClass.Malfunction
                {
                    Id = (int) dtMain.Rows[i]["id_malfunction"],
                    Name = dtMain.Rows[i]["name_malfunction"].ToString()
                };
                temp.Discounts = new BdClass.Discounts
                {
                    Id = (int) dtMain.Rows[i]["id_discounts"],
                    Name = dtMain.Rows[i]["name_discount"].ToString()
                };
                lmf4.Add(temp);
            }
            dg.ItemsSource = lmf4;
        }
        public void Table(DataGrid dg)
        {
            const string sqlDb = @"SELECT *
                FROM     
	                dbo.main 
            INNER JOIN dbo.type_job		ON dbo.main.id_type_job = dbo.type_job.id_type_job
            INNER JOIN dbo.malfunction	ON dbo.main.id_malfunction =  dbo.malfunction.id_malfunction
            INNER JOIN dbo.discounts	ON dbo.main.id_discounts = dbo.discounts.id_discounts
            INNER JOIN dbo.adress		ON dbo.main.id_adress = dbo.adress.id_adress     
            INNER JOIN dbo.master		ON dbo.main.id_master = dbo.master.id_master
            LEFT JOIN dbo.spare_parts	ON dbo.main.id_spare_parts = spare_parts.id_spare_parts ";
            var sqlDa = new SqlDataAdapter(sqlDb, SqlCon);
            var dtMain = new DataTable();
            try
            {
                sqlDa.Fill(dtMain);
            }
            catch (Exception exp)
            {
                MessageBox.Show(exp.Message);
            }
            var lmf = new List<BdClass.Main>();
            for (int i = 0; i < dtMain.Rows.Count; i++)
            {
                var temp = new BdClass.Main
                {
                    Id = (int) dtMain.Rows[i]["id_main"],
                    Telephone = dtMain.Rows[i]["telephone"].ToString(),
                    Customer = dtMain.Rows[i]["customer"].ToString(),
                    DateOfCompletion = Convert.ToDateTime(dtMain.Rows[i]["date_of_completion"].ToString())
                };
                var dateTime = dtMain.Rows[i]["time_of_completion"].ToString() != ""
                    ? (DateTime?) Convert.ToDateTime(dtMain.Rows[i]["time_of_completion"].ToString())
                    : null;
                temp.TimeOfCompletion = dateTime;
                temp.Adress = new BdClass.Adress
                {
                    Id = (int) dtMain.Rows[i]["id_adress"],
                    Name = dtMain.Rows[i]["name_adress"].ToString()
                };
                temp.Typejob = new BdClass.TypeJob
                {
                    Id = (int) dtMain.Rows[i]["id_type_job"],
                    Name = dtMain.Rows[i]["name_type_job"].ToString()
                };
                temp.Master = new BdClass.Master
                {
                    Id = (int) dtMain.Rows[i]["id_master"],
                    Name = dtMain.Rows[i]["name"].ToString()
                };
                temp.SpareParts = new BdClass.SpareParts();

                 var sp = dtMain.Rows[i]["id_spare_parts"].ToString() != ""
                   ? dtMain.Rows[i]["name_spare_parts"].ToString()
                   : null;
                
                temp.SpareParts.Name = sp; 
                
                temp.Malfunction = new BdClass.Malfunction
                {
                    Id = (int) dtMain.Rows[i]["id_malfunction"],
                    Name = dtMain.Rows[i]["name_malfunction"].ToString()
                };
                temp.Discounts = new BdClass.Discounts
                {
                    Id = (int) dtMain.Rows[i]["id_discounts"],
                    Name = dtMain.Rows[i]["name_discount"].ToString()
                };
                lmf.Add(temp);
            }
            dg.ItemsSource = lmf;
        }