private void button4_Click(object sender, EventArgs e)
        {
            int dd1 = (int)numericUpDown1.Value;
            int dd2 = (int)numericUpDown2.Value;

            if (dd1 > 0 && dd2 >= dd1)
            {
                Cursor = Cursors.WaitCursor;
                for (int i = dd1; i <= dd2; i++)
                {
                    дома NewRow = new дома();
                    NewRow.дом     = Guid.NewGuid();
                    NewRow.номер   = i;
                    NewRow.корпус  = "";
                    NewRow.улица   = клУлица.улица;
                    NewRow.изменен = DateTime.Now;;
                    //NewRow.прим = "";
                    //NewRow.порядок = 0;

                    bindingSource1.Add(NewRow);
                    //         de.дома.Add(NewRow);
                    label1.Visible = true;
                    //          изменено = true;
                }
                проверка_уникальности();
                Cursor = Cursors.Default;
            }
            else
            {
                MessageBox.Show("Введите начальный и конечный номера...");
            }
        }
        private void button7_Click(object sender, EventArgs e)
        {
            if (bindingSource1.Count > 0)
            {
                Guid oldString = клУлица.улица;
                дома uRow      = bindingSource1.Current as дома;
                клУлица.выбран = false;
                выбор_улицы выборУлицы = new выбор_улицы();
                выборУлицы.ShowDialog();
                if (клУлица.выбран)
                {
                    uRow.улица = клУлица.улица;

                    label1.Visible = true;
                    //if (de.Entry(uRow).State == EntityState.Unchanged)
                    //{
                    //    de.Entry(uRow).State = EntityState.Modified;
                    //    // не работает в добавленой строке.
                    //}
                }
                клУлица.улица = oldString;
                записать();
                обновить();
                проверка_уникальности();
                dataGridView1.Refresh();
            }
            dataGridView1.Focus();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            дома NewRow = new дома();

            NewRow.улица   = клУлица.улица;
            NewRow.дом     = Guid.NewGuid();
            NewRow.номер   = 0;
            NewRow.корпус  = "";
            NewRow.изменен = DateTime.Now;
            //    de.дома.Add(NewRow);
            int строка = bindingSource1.Add(NewRow);

            bindingSource1.Position = строка;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            улицы uRow   = bindingSource1.Current as улицы;
            дома  newRow = new дома();

            newRow.улица   = uRow.улица;
            newRow.номер   = 33;
            newRow.корпус  = "hh";
            newRow.дом     = Guid.NewGuid();
            newRow.изменен = DateTime.Now;
            //newRow.прим = "";
            //newRow.порядок = 0;

            //uRow.дома.Add(newRow);
            //bindingSource2.Add(newRow);
            //de.SaveChanges();
        }
 private void button2_Click(object sender, EventArgs e)
 {
     if (bindingSource1.Count > 0)
     {
         дома uRow = bindingSource1.Current as дома;
         if (uRow.клиенты.Count == 0)
         {
             //   de.дома.Remove(uRow);
             bindingSource1.RemoveCurrent();
             bindingSource1.MoveLast();
         }
         else
         {
             MessageBox.Show("В доме есть квартиры");
         }
     }
 }
        void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            if (e.Button == System.Windows.Forms.MouseButtons.Right)
            {
                Guid   КодДома       = Guid.Parse(dataGridView1.Columns[e.ColumnIndex].Name);
                int    НомерКвартиры = (int)dataGridView1.Rows[e.RowIndex].Cells["квартира"].Value;
                string текст         = "";

                try
                {
                    дома deДом = de.дома.Single(n => n.дом == КодДома);
                    текст += "дом " + deДом.номер.ToString().Trim() + " " + deДом.корпус.Trim() + " кв. " + НомерКвартиры.ToString();
                }
                catch { }
                var жильцы = de.клиенты
                             .Where(n => n.дом == КодДома && n.квартира == НомерКвартиры);

                foreach (клиенты kRow in жильцы)
                {
                    текст += "\n" + kRow.фио;
                }
                MessageBox.Show(текст);
            }
        }