Beispiel #1
0
        protected override void Act()
        {
            if (!Checker.IsNumber(textBox1.Text))
            {
                MessageBox.Show("Неверный номер квартиры");
                return;
            }
            int  ind = dataGridView1.SelectedRows[0].Index;
            int  id  = 0;
            bool ok  = int.TryParse(dataGridView1[Program.FindTitle(dataGridView1, "Id"), ind].Value.ToString(), out id);

            if (!ok)
            {
                return;
            }
            if (ActionMode == ActionMode.Add)
            {
                if (Operations.AddAddress(int.Parse(textBox1.Text), Operations.FindHouse(id), out string Res))
                {
                    Close();
                }
                MessageBox.Show(Res);
            }
            else
            {
                if (Operations.ChangeAddress(Id, int.Parse(textBox1.Text), Operations.FindHouse(id), out string Res))
                {
                    Close();
                }
                MessageBox.Show(Res);
            }
        }
Beispiel #2
0
        private void button5_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                Excel.Worksheet worksheet = null;
                Excel.Range     range     = null;
                try
                {
                    application         = new Excel.Application();
                    workbook            = application.Workbooks.Open(openFileDialog1.FileName);
                    application.Visible = true;
                    worksheet           = workbook.Worksheets[1];
                    range = worksheet.UsedRange;
                    string CityName       = range.Cells[1, 2].Value2.ToString();
                    string StreetName     = range.Cells[2, 2].Value2.ToString();
                    string HouseNumber    = range.Cells[3, 2].Value2.ToString();
                    string FlatNumber     = range.Cells[4, 2].Value2.ToString();
                    string FIO            = range.Cells[5, 2].Value2.ToString();
                    string PassportNumber = range.Cells[6, 2].Value2.ToString();
                    string PhoneNumber    = range.Cells[7, 2].Value2.ToString();
                    string CompanyName    = range.Cells[8, 2].Value2.ToString();
                    string INN            = range.Cells[9, 2].Value2.ToString();
                    string ErrorMsg       = string.Empty;
                    bool   NotCompany     = CompanyName.Length == 0 && INN.Length == 0;
                    if (!Checker.IsName(CityName))
                    {
                        ErrorMsg += "Неверная строка в названии города\n";
                    }
                    if (!Checker.IsName(StreetName))
                    {
                        ErrorMsg += "Неверная строка в названии улицы\n";
                    }
                    if (!Checker.IsHouseNumber(HouseNumber))
                    {
                        ErrorMsg += "Неверная строка в номере дома\n";
                    }
                    if (!Checker.IsNumber(FlatNumber))
                    {
                        ErrorMsg += "Неверная строка в номере квартиры\n";
                    }
                    if (!Checker.IsFIO(FIO))
                    {
                        ErrorMsg += "Неверная строка в ФИО\n";
                    }
                    if (!Checker.IsPassportNumber(PassportNumber))
                    {
                        ErrorMsg += "Неверная строка в номере паспорта\n";
                    }
                    if (!Checker.IsPhoneNumber(PhoneNumber))
                    {
                        ErrorMsg += "Неверная строка в номере телефона\n";
                    }
                    if (!Checker.IsName(CompanyName) && !NotCompany)
                    {
                        ErrorMsg += "Неверная строка в названии организации\n";
                    }
                    if (!Checker.IsINN(INN) && !NotCompany)
                    {
                        ErrorMsg += "Неверная строка в ИНН\n";
                    }
                    if (ErrorMsg.Length == 0)
                    {
                        _City _City = new _City {
                            Name = CityName
                        };
                        _Street _Street = new _Street {
                            Name = StreetName
                        };
                        _House _House = new _House {
                            Number = HouseNumber
                        };
                        _Address _Address = new _Address {
                            Flat = int.Parse(FlatNumber)
                        };
                        _Customer _Customer;
                        if (NotCompany)
                        {
                            _Customer = new _Customer()
                            {
                                FIO = FIO, Passport = PassportNumber, PhoneNumber = PhoneNumber
                            };
                        }
                        else
                        {
                            _Customer = new _Company()
                            {
                                FIO = FIO, Passport = PassportNumber, PhoneNumber = PhoneNumber, CompanyName = CompanyName, INN = INN
                            }
                        };
                        List <_OrderEntry> list = new List <_OrderEntry>();
                        int row = 2;
                        while (range[row, 4] != null && range[row, 4].Value2 != null && range[row, 4].Value2.ToString().Length > 0 && ErrorMsg.Length == 0)
                        {
                            string MeterId = range[row, 4].Value2.ToString();
                            if (!Checker.IsNumber(MeterId))
                            {
                                ErrorMsg += "Неверная строка в номере счётчика\n";
                            }
                            DateTime StartTime = default(DateTime), EndTime = default(DateTime);
                            if (range[row, 5] != null && range[row, 5].Value2 != null)
                            {
                                string sStartTime = range[row, 5].Value2.ToString();
                                if (sStartTime.Length > 0 && double.TryParse(sStartTime, out double dstart))
                                {
                                    StartTime = DateTime.FromOADate(dstart);
                                }
                                else
                                {
                                    ErrorMsg += "Неверная строка во времени начала\n";
                                }
                            }

                            if (range[row, 6] != null && range[row, 6].Value2 != null)
                            {
                                string sEndTime = range[row, 6].Value2.ToString();
                                if (sEndTime.Length > 0 && double.TryParse(sEndTime, out double dend))
                                {
                                    EndTime = DateTime.FromOADate(dend);
                                }
                                else
                                {
                                    ErrorMsg += "Неверная строка во времени конца\n";
                                }
                            }
                            if (StartTime != default(DateTime) && EndTime != default(DateTime) && StartTime > EndTime)
                            {
                                ErrorMsg += "Дата начала позже даты конца\n";
                            }
                            if (ErrorMsg.Length == 0)
                            {
                                var ord = new _OrderEntry {
                                    MeterId = int.Parse(MeterId)
                                };
                                if (StartTime != default(DateTime))
                                {
                                    ord.startTime = StartTime;
                                }
                                if (EndTime != default(DateTime))
                                {
                                    ord.endTime = EndTime;
                                }
                                list.Add(ord);
                                ++row;
                            }
                        }
                        if (ErrorMsg.Length == 0)
                        {
                            try
                            {
                                dataGridView1.DataSource = list;
                                Program.HideColumns(ref dataGridView1, EntityTypes.OrderEntry, CurrentUser);
                                Program.HidaColumns(ref dataGridView1, new List <string> {
                                    "Id", "OrderId", "StatusId", "RegNum"
                                });
                                Program.Rename(ref dataGridView1);
                                address1  = _Address;
                                house1    = _House;
                                street1   = _Street;
                                city1     = _City;
                                customer1 = _Customer;
                            }
                            catch (Exception ex)
                            {
                                MessageBox.Show(ex.Message);
                                return;
                            }
                        }
                        else
                        {
                            MessageBox.Show(ErrorMsg);
                        }
                    }
                    else
                    {
                        MessageBox.Show(ErrorMsg);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                finally
                {
                    if (range != null)
                    {
                        Marshal.ReleaseComObject(range);
                    }
                    if (worksheet != null)
                    {
                        Marshal.ReleaseComObject(worksheet);
                    }
                }
            }
        }
Beispiel #3
0
        private void button2_Click(object sender, EventArgs e)
        {
            Customer customer;

            if (radioButton2.Checked)
            {
                if (!Checker.IsFIO(NameTextBox.Text))
                {
                    MessageBox.Show("Неверное ФИО заказчика");
                    return;
                }
                if (!Checker.IsPhoneNumber(PhoneNumberTextBox.Text))
                {
                    MessageBox.Show("Неверный номер телефона");
                    return;
                }
                if (!Checker.IsPassportNumber(PassportTextBox.Text))
                {
                    MessageBox.Show("Неверный номер пасспорта");
                    return;
                }
                if (!BCompany)
                {
                    if (!Operations.AddCustomer(NameTextBox.Text, PassportTextBox.Text, PhoneNumberTextBox.Text, out string Res))
                    {
                        MessageBox.Show(Res);
                        return;
                    }
                    customer = (from c in Operations.cont.CustomerSet where !(c is Company) && c.Passport == PassportTextBox.Text select c).First();
                }
                else
                {
                    if (!Checker.IsName(CompanyNameTextBox.Text))
                    {
                        MessageBox.Show("Неверная строка названия компании");
                        return;
                    }
                    if (!Checker.IsINN(INNTextBox.Text))
                    {
                        MessageBox.Show("Неверный ИНН компании");
                        return;
                    }
                    if (!Operations.AddCompany(NameTextBox.Text, PassportTextBox.Text, PhoneNumberTextBox.Text, CompanyNameTextBox.Text, INNTextBox.Text, out string Res))
                    {
                        MessageBox.Show(Res);
                        return;
                    }
                    customer = (from c in Operations.cont.CustomerSet where c is Company && (c as Company).INN == INNTextBox.Text select c).First();
                }
            }
            else
            {
                int id = int.Parse(CustomerDataGridView[Program.FindTitle(CustomerDataGridView, "Id"), CustomerDataGridView.SelectedRows[0].Index].Value.ToString());
                if (!BCompany)
                {
                    customer = Operations.FindCustomer(id);
                }
                else
                {
                    customer = Operations.FindCompany(id);
                }
            }
            if (city == null)
            {
                if (!Checker.IsName(CityTextBox.Text))
                {
                    MessageBox.Show("Неверное название города");
                    return;
                }
                if (!Operations.AddCity(CityTextBox.Text, out string Res))
                {
                    MessageBox.Show(Res);
                    return;
                }
                city = (from p in Operations.cont.CitySet where p.Name == CityTextBox.Text select p).First();
            }
            if (street == null)
            {
                if (!Checker.IsName(StreetTextBox.Text))
                {
                    MessageBox.Show("Неверное название улицы");
                    return;
                }
                if (!Operations.AddStreet(StreetTextBox.Text, city, out string Res1))
                {
                    MessageBox.Show(Res1);
                    return;
                }
                street = (from p in city.Street where p.Name == StreetTextBox.Text select p).First();
            }
            if (house == null)
            {
                if (!Checker.IsHouseNumber(HouseTextBox.Text))
                {
                    MessageBox.Show("Неверный номер дома");
                    return;
                }
                if (!Operations.AddHouse(HouseTextBox.Text, street, out string res2))
                {
                    MessageBox.Show(res2);
                    return;
                }
                house = (from p in street.House where p.Number == HouseTextBox.Text select p).First();
            }
            if (address == null)
            {
                if (!Checker.IsNumber(AddressTextBox.Text))
                {
                    MessageBox.Show("Неверный номер квартиры");
                    return;
                }
                if (!Operations.AddAddress(int.Parse(AddressTextBox.Text), house, out string Res4))
                {
                    MessageBox.Show(Res4);
                    return;
                }
                address = (from p in house.Address where p.Flat == int.Parse(AddressTextBox.Text) select p).First();
            }
            if (!Operations.AddOrder(CurrentUser, customer, address, out string res, out int order))
            {
                MessageBox.Show(res);
                return;
            }
            foreach (_OrderEntry o in OrderEntryList)
            {
                if (!Operations.AddOrderEntry(Operations.FindOrder(order), o.startTime, o.endTime, o.RegNum, Operations.FindMeter(o.MeterId), null, Operations.FindStatus(1), out string Res2))
                {
                    MessageBox.Show(Res2);
                    return;
                }
            }
            MessageBox.Show("Успешно добавлен заказ №" + order);
        }
Beispiel #4
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);
            }
        }