private void button4_Click(object sender, EventArgs e)
        {
            if (bindingSource1.Count == 0)
            {
                return;
            }

            temp tRow = bindingSource1.Current as temp;

            клРазрешение.клиент     = tRow.клиент;
            клРазрешение.разрешение = tRow.разрешение;
            клРазрешение.телефон    = tRow.телефон;
            клРазрешение.эл_почта   = tRow.эл_почта;
            //  клРазрешение.все_телефоны = клКлиент.deRow.телефон;

            //клРазрешение.телефон = "";
            //клРазрешение.эл_почта = "";
            //найти_сотовый();
            //найти_почту();
            клРазрешение.дата_с  = tRow.дата_с;
            клРазрешение.дата_по = tRow.дата_по;



            клРазрешение.выбран = false;
            сотовый_мыло вводСотового = new сотовый_мыло();

            вводСотового.Text = "Разрешение № " + tRow.номер.ToString() + " от " + tRow.дата_с.ToShortDateString() + " " + tRow.фио;
            вводСотового.ShowDialog();
            if (клРазрешение.выбран)
            {
                разрешения uRow = de.разрешения.Single(n => n.разрешение == клРазрешение.разрешение);
                uRow.дата_по  = клРазрешение.дата_по;
                uRow.дата_с   = клРазрешение.дата_с;
                uRow.телефон  = клРазрешение.телефон;
                uRow.эл_почта = клРазрешение.эл_почта;
                try
                {
                    de.SaveChanges();

                    tRow.дата_по  = клРазрешение.дата_по;
                    tRow.дата_с   = клРазрешение.дата_с;
                    tRow.телефон  = клРазрешение.телефон;
                    tRow.эл_почта = клРазрешение.эл_почта;
                    //        temp t0Row = listTemp0.Single(n => n.разрешение == tRow.разрешение);
                    //t0Row.дата_по = клРазрешение.дата_по;
                    //t0Row.дата_с = клРазрешение.дата_с;
                    //t0Row.телефон = клРазрешение.телефон;
                    //t0Row.эл_почта = клРазрешение.эл_почта;
                    dataGridView1.Refresh();
                }
                catch
                {
                    MessageBox.Show("Сбой записи...");
                }
            }
        }
        private void button2_Click(object sender, EventArgs e)
        {
            Cursor          = Cursors.WaitCursor;
            клКлиент.выбран = false;
            выбор_клиента ВыборКлиента = new выбор_клиента();

            ВыборКлиента.ShowDialog();
            if (клКлиент.выбран)
            {
                Guid[] кодыКлиентов = de.разрешения
                                      .Select(n => n.клиент).ToArray();

                if (кодыКлиентов.Contains(клКлиент.клиент))
                {
                    MessageBox.Show(клКлиент.deRow.фио + " уже есть разрешение");
                    int строка = listTemp.FindIndex(n => n.клиент == клКлиент.клиент);
                    if (строка > -1)
                    {
                        bindingSource1.Position = строка;
                    }
                    Cursor = Cursors.Default;
                    return;
                }

                int махНомер = 0;
                if (de.разрешения.Any())
                {
                    махНомер = de.разрешения.Max(n => n.номер);
                }

                клРазрешение.клиент     = клКлиент.клиент;
                клРазрешение.разрешение = Guid.NewGuid();
                //клРазрешение.телефон = "9505564673";
                //клРазрешение.эл_почта = "*****@*****.**";
                клРазрешение.все_телефоны = клКлиент.deRow.телефон;

                клРазрешение.телефон  = "";
                клРазрешение.эл_почта = "";
                найти_сотовый();
                найти_почту();
                клРазрешение.дата_с  = DateTime.Now;
                клРазрешение.дата_по = null;



                клРазрешение.выбран = false;
                сотовый_мыло вводСотового = new сотовый_мыло();
                вводСотового.Text = "Разрешение на отправку смс от " + клКлиент.deRow.фио;

                вводСотового.ShowDialog();
                if (клРазрешение.выбран)
                {
                    разрешения NewRow = new разрешения();
                    NewRow.разрешение = клРазрешение.разрешение;
                    NewRow.клиент     = клРазрешение.клиент;
                    NewRow.номер      = махНомер + 1;
                    NewRow.дата_с     = клРазрешение.дата_с;
                    NewRow.дата_по    = клРазрешение.дата_по;
                    NewRow.телефон    = клРазрешение.телефон;
                    NewRow.эл_почта   = клРазрешение.эл_почта;
                    de.разрешения.Add(NewRow);
                    try
                    {
                        de.SaveChanges();
                        temp nRow = new temp();
                        nRow.разрешение   = клРазрешение.разрешение;
                        nRow.клиент       = клРазрешение.клиент;
                        nRow.номер        = махНомер + 1;
                        nRow.дата_с       = клРазрешение.дата_с;
                        nRow.дата_по      = клРазрешение.дата_по;
                        nRow.телефон      = клРазрешение.телефон;
                        nRow.эл_почта     = клРазрешение.эл_почта;
                        nRow.ввод         = клКлиент.deRow.ввод;
                        nRow.квартира     = клКлиент.deRow.квартира;
                        nRow.корпус       = клКлиент.deRow.дома.корпус;
                        nRow.наимен_улицы = клКлиент.deRow.дома.улицы.наимен;
                        nRow.номер_дома   = клКлиент.deRow.дома.номер;
                        nRow.фио          = клКлиент.deRow.фио;
                        //                  listTemp0.Add(nRow);
                        //                listTemp = listTemp0.OrderBy(n => n.дата_с).ToList();
                        //                 bindingSource1.DataSource = listTemp;
                        //                 int строка = listTemp.FindIndex(n => n.разрешение == клРазрешение.разрешение);
                        int строка = bindingSource1.Add(nRow);
                        if (строка > -1)
                        {
                            bindingSource1.Position = строка;
                        }
                    }
                    catch
                    {
                        MessageBox.Show("Ошибка записи...");
                    }
                }
                Cursor = Cursors.Default;
            }
        }