protected override void Act() { if (textBox1.Text.Length > 0 && !Checker.IsNumber(textBox1.Text)) { MessageBox.Show("Неверный регистрационный номер"); return; } int ind1 = dataGridView1.SelectedRows[0].Index; int id1 = 0; bool ok = int.TryParse(dataGridView1[Program.FindTitle(dataGridView1, "Id"), ind1].Value.ToString(), out id1); if (!ok) { return; } int ind2 = dataGridView2.SelectedRows[0].Index; int id2 = 0; ok = int.TryParse(dataGridView2[Program.FindTitle(dataGridView2, "Id"), ind2].Value.ToString(), out id2); if (!ok) { return; } int ind3 = dataGridView3.SelectedRows[0].Index; int id3 = 0; ok = int.TryParse(dataGridView3[Program.FindTitle(dataGridView3, "Id"), ind3].Value.ToString(), out id3); if (!ok) { return; } Person person; if (dataGridView4.SelectedRows.Count > 0) { int ind4 = dataGridView4.SelectedRows[0].Index; int id4 = 0; ok = int.TryParse(dataGridView4[Program.FindTitle(dataGridView4, "Id"), ind4].Value.ToString(), out id4); if (!ok) { return; } person = Operations.FindPerson(id4); } else { person = null; } if (ActionMode == ActionMode.Add) { if (Operations.AddOrderEntry(Operations.FindOrder(id1), dateTimePicker1.Value, dateTimePicker2.Value, textBox1.Text, Operations.FindMeter(id2), person, Operations.FindStatus(id3), out string Res)) { Close(); } MessageBox.Show(Res); } else { if (Operations.ChangeOrderEntry(Id, Operations.FindOrder(id1), dateTimePicker1.Value, dateTimePicker2.Value, textBox1.Text, Operations.FindMeter(id2), person, Operations.FindStatus(id3), out string Res)) { Close(); } MessageBox.Show(Res); } }