コード例 #1
0
        private void ChangeBtn_Click(object sender, EventArgs e)
        {
            if (dataGridView1.SelectedRows.Count != 0)
            {
                try {
                    string filterCar   = $"Number='{this.carComboBox.With(x => x.SelectedItem)}'";
                    string filterOwner = $"NumberLicense='{this.ownerComboBox.With(x => x.SelectedItem)}'";

                    Owner owner = owners.With(x => x.Select(filterOwner)).With(x => x.First()) as Owner;
                    Car   car   = cars.With(x => x.Select(filterCar)).With(x => x.First()) as Car;

                    CarOwner carOwner = carOwners.FirstOrDefault(x => carOwnerId == x.Id);
                    carOwner.CarId   = car.Id;
                    carOwner.OwnerId = owner.Id;
                } catch (NullReferenceException) {
                    MessageBox.Show("Один из параметров не задан либо не выбран");
                } catch (Exception) { }

                UpdateDB();
            }
            else
            {
                MessageBox.Show("Выберите строку для редактирования", "Ошибка");
            }
        }
コード例 #2
0
        private void AddBtn_Click(object sender, EventArgs e)
        {
            try {
                string number      = numberTextBox.Text.Trim();
                string filterModel = $"NameModel='{ModelComboBox.With(x => x.SelectedItem)}'";
                string filterMark  = $"MarkName='{MarkComboBox.With(x => x.SelectedItem)}'";

                if (string.IsNullOrEmpty(number))
                {
                    MessageBox.Show("Номер машины не задан!");
                    return;
                }

                Model model = _models.With(x => x.Select(filterModel)).With(x => x.First()) as Model;
                Mark  mark  = _marks.With(x => x.Select(filterMark)).With(x => x.First()) as Mark;

                Car car = _cars.NewCarRow();
                car.DateRegGAI = dateReg.Value;
                car.Number     = number;
                car.ModelId    = model.Id;
                car.MarkId     = mark.Id;

                _cars.AddCarRow(car);

                UpdateCarsDB();
            } catch (NullReferenceException) {
                MessageBox.Show("Один из параметров не задан либо не выбран");
            } catch (Exception) { }
        }
コード例 #3
0
        private void ChangeBtn_Click(object sender, EventArgs e)
        {
            if (dataGridView1.SelectedRows.Count != 0)
            {
                try {
                    Car car = _cars.Where(x => x.Id == _carId).First();

                    string filterModel = $"NameModel='{ModelComboBox.With(x => x.SelectedItem)}'";
                    string filterMark  = $"MarkName='{MarkComboBox.With(x => x.SelectedItem)}'";

                    Mark  mark  = _marks.With(x => x.Select(filterMark)).With(x => x.First()) as Mark;
                    Model model = _models.With(x => x.Select(filterModel)).With(x => x.First()) as Model;

                    car.MarkId     = mark.Id;
                    car.ModelId    = model.Id;
                    car.Number     = numberTextBox.Text;
                    car.DateRegGAI = dateReg.Value;
                } catch (NullReferenceException) {
                    MessageBox.Show("Один из параметров не задан либо не выбран");
                } catch (Exception) { }

                UpdateCarsDB();
            }
            else
            {
                MessageBox.Show("Выберите строку для редактирования", "Ошибка");
            }
        }
コード例 #4
0
        private void DataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try {
                DataGridViewRow row = dataGridView1.Rows[e.RowIndex];
                carOwnerId = Convert.ToInt32(row.Cells[0].Value);

                CarOwner carOwner = carOwners.FirstOrDefault(x => x.Id == carOwnerId);
                Car      car      = carOwner.GetParentRows(relations["CarCarOwner"]).With(x => x.First()) as Car;
                Owner    owner    = carOwner.GetParentRows(relations["OwnerCarOwner"]).With(x => x.First()) as Owner;

                this.carComboBox.SelectedItem   = car.Number;
                this.ownerComboBox.SelectedItem = owner.NumberLicense;
            } catch (Exception) {
            }
        }
コード例 #5
0
        private void DataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            try {
                DataGridViewRow row = dataGridView1.Rows[e.RowIndex];
                _carId = Convert.ToInt32(row.Cells[0].Value);

                Car   car   = _cars.Select($"Id='{_carId}'").First() as Car;
                Model model = car.GetParentRows(_relations["ModelCar"]).With(x => x.First()) as Model;
                Mark  mark  = car.GetParentRows(_relations["MarkCar"]).With(x => x.First()) as Mark;

                numberTextBox.Text         = car.Number;
                dateReg.Value              = car.DateRegGAI;
                ModelComboBox.SelectedItem = model.NameModel;
                MarkComboBox.SelectedItem  = mark.MarkName;
            } catch (Exception) {
                MessageBox.Show("Выберите строку для редактирования", "Ошибка");
            }
        }
コード例 #6
0
        private void AddBtn_Click(object sender, EventArgs e)
        {
            try {
                string filterCar   = $"Number='{this.carComboBox.With(x => x.SelectedItem)}'";
                string filterOwner = $"NumberLicense='{this.ownerComboBox.With(x => x.SelectedItem)}'";

                Owner owner = owners.With(x => x.Select(filterOwner)).With(x => x.First()) as Owner;
                Car   car   = cars.With(x => x.Select(filterCar)).With(x => x.First()) as Car;

                CarOwner carOwner = this.carOwners.NewCarOwnerRow();
                carOwner.CarId   = car.Id;
                carOwner.OwnerId = owner.Id;

                this.carOwners.AddCarOwnerRow(carOwner);

                UpdateDB();
            } catch (NullReferenceException) {
                MessageBox.Show("Один из параметров не задан либо не выбран");
            } catch (Exception) { }
        }
コード例 #7
0
        private void button2_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            string path = openFileDialog1.FileName;

            if (!File.Exists(path))
            {
                MessageBox.Show("Файл не найден!!");
                return;
            }

            int i;

            for (i = 3;; i++)
            {
                string value = null;

                if (string.IsNullOrEmpty(value?.Trim()))
                {
                    break;
                }

                Car car = _cars.FirstOrDefault(x => x.Number == value);

                if (car != null)
                {
                    break;
                }

                car        = _cars.NewCarRow();
                car.Number = value;
                _cars.AddCarRow(car);
            }

            UpdateCarsDB();
        }
コード例 #8
0
        private void DeleteBtn_Click(object sender, EventArgs e)
        {
            if (dataGridView1.SelectedRows.Count != 0)
            {
                string       message  = "Вы действительно хотите удалить запись ? ";
                DialogResult response = MessageBox.Show(message, "Подтверждение", MessageBoxButtons.YesNo);

                if (response == DialogResult.Yes)
                {
                    try {
                        Car car = _cars.FirstOrDefault(x => x.Id == _carId);
                        car.Delete();
                    } catch (Exception) {
                    }

                    UpdateCarsDB();
                }
            }
            else
            {
                MessageBox.Show("Выберите строку для удаления", "Ошибка");
            }
        }
コード例 #9
0
        private void button5_Click(object sender, EventArgs e)
        {
            using (SaveFileDialog saveFileDialog = new SaveFileDialog()) {
                saveFileDialog.FileName = "index.html";
                saveFileDialog.Filter   = "html (*.html)|*.html";

                if (saveFileDialog.ShowDialog() == DialogResult.OK)
                {
                    string path = saveFileDialog.FileName;

                    using (StreamWriter streamWriter = new StreamWriter(new FileStream(path, FileMode.OpenOrCreate))) {
                        streamWriter.WriteLine(@"
<!doctype html>
<html>
    <head>
        <title>Список владельцев и машин</title>
        <meta charset='UTF-8'/>
        <style>
            table {
                border-collapse: collapse;
                border: 4px double black;
            }

            th {
                text-align: left;
                background: #8BC34A;
                padding: 5px;
                border: 1px solid black;
            }

            td { 
                padding: 5px;
                border: 1px solid black;
            }
        </style>
    </head>
    <body>
        <h1>Список владельцев и машин</h1>
        <table>
            <tr>
                <th>Id владельцев</th>
                <th>ФИО</th>
                <th>Номер авто</th>
                <th>Марка</th>
            </tr>
");

                        foreach (Owner owner in dB_OwnersCarsDataSet.Owner)
                        {
                            CarOwner[] carOwners = owner.GetChildRows("OwnerCarOwner") as CarOwner[];

                            foreach (CarOwner carOwner in carOwners)
                            {
                                Car  car  = dB_OwnersCarsDataSet.Car.FirstOrDefault(x => x.Id == carOwner.CarId);
                                Mark mark = dB_OwnersCarsDataSet.Mark.FirstOrDefault(x => x.Id == car?.MarkId);

                                streamWriter.Write("<tr>");
                                streamWriter.WriteLine($"<td>{owner.Id}</td>");
                                streamWriter.WriteLine($"<td>{owner.FIO()}</td>");
                                streamWriter.WriteLine($"<td>{car?.Number}</td>");
                                streamWriter.WriteLine($"<td>{mark?.MarkName}</td>");
                                streamWriter.Write("</tr>");
                            }
                        }

                        streamWriter.WriteLine(@"
        </table>
    </body>
</html>
");
                    }
                }
            }
        }
コード例 #10
0
        private void Button3_Click(object sender, EventArgs e)
        {
            (_excelApplication, _workSheet) = this.OpenExcelDocument($@"{_pathToExcelDirectory}\spisokCar.xlsx");

            PutCell("F1", DateTime.Now.ToShortDateString());

            for (int i = 0; i < dB_OwnersCarsDataSet.Car.Count; i++)
            {
                string number = (i + 6).ToString();

                Car   car   = dB_OwnersCarsDataSet.Car[i];
                Model model = dB_OwnersCarsDataSet.Model.FirstOrDefault(x => x.Id == car.ModelId);
                Mark  mark  = dB_OwnersCarsDataSet.Mark.FirstOrDefault(x => x.Id == car.MarkId);

                PutCellBorder($"A{number}", car.Id.ToString());
                PutCellBorder($"B{number}", car.Number.ToString());
                PutCellBorder($"C{number}", car.DateRegGAI.ToString());
                PutCellBorder($"D{number}", model.NameModel);
                PutCellBorder($"E{number}", mark.MarkName);
            }

            _excelApplication.Visible = true;

            (_excelApplication, _workSheet) = this.OpenExcelDocument($@"{_pathToExcelDirectory}\spisokCarOwner.xlsx");

            PutCell("D1", DateTime.Now.ToShortDateString());
            int numCell = 6;

            foreach (Owner owner in dB_OwnersCarsDataSet.Owner)
            {
                CarOwner[] carOwners = owner.GetChildRows("OwnerCarOwner") as CarOwner[];

                PutCell($"A{numCell}", owner.FIO());

                _range = _workSheet.get_Range($"A{numCell}", $"D{numCell}");
                _range.Merge(Type.Missing);
                _range.Font.Bold           = true;
                _range.Font.Italic         = true;
                _range.Interior.ColorIndex = 34;

                _range.BorderAround(
                    Excel.XlLineStyle.xlContinuous,
                    Excel.XlBorderWeight.xlThin,
                    Excel.XlColorIndex.xlColorIndexAutomatic,
                    Type.Missing
                    );

                _range.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;

                foreach (CarOwner carOwner in carOwners)
                {
                    Car  car  = dB_OwnersCarsDataSet.Car.FirstOrDefault(x => x.Id == carOwner.CarId);
                    Mark mark = dB_OwnersCarsDataSet.Mark.FirstOrDefault(x => x.Id == car.MarkId);

                    PutCellBorder($"A{numCell + 1}", car.Id.ToString());
                    PutCellBorder($"B{numCell + 1}", owner.FIO());
                    PutCellBorder($"C{numCell + 1}", car?.Number);
                    PutCellBorder($"D{numCell + 1}", mark?.MarkName);

                    numCell++;
                }
                numCell++;

                PutCell($"A{numCell}", $"Итого: {carOwners.Length}");

                _range = _workSheet.get_Range($"A{numCell}", $"D{numCell}");
                _range.Merge(Type.Missing);
                _range.Font.Italic         = true;
                _range.Interior.ColorIndex = 40;

                _range.BorderAround(
                    Excel.XlLineStyle.xlContinuous,
                    Excel.XlBorderWeight.xlThin,
                    Excel.XlColorIndex.xlColorIndexAutomatic,
                    Type.Missing
                    );

                numCell++;
            }

            _excelApplication.Visible = true;
        }