Пример #1
0
        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);
            }
        }