コード例 #1
0
        private void Button2_Click(object sender, EventArgs e)
        {
            try {
                if (this._markId == int.MinValue)
                {
                    MessageBox.Show("Выбирите марку");
                    return;
                }

                AlertForm alertForm = new AlertForm();

                if (alertForm.ShowDialog() == DialogResult.OK)
                {
                    OpenDocument($@"{_pathToDocumentDirectory}\продажа.docx");

                    Mark mark = dB_OwnersCarsDataSet.Mark.FindById(_markId);

                    ReplaceText("<FIO>", alertForm.FullName);
                    ReplaceText("<Description>", alertForm.Description);
                    ReplaceText("<DateCreation>", alertForm.DateCreation);
                    ReplaceText("<MarkName>", mark.MarkName);
                    ReplaceText("<StateAccurary>", alertForm.StateAccurary);

                    _wordApplication.Visible = true;
                }
                else
                {
                    MessageBox.Show("Error!");
                }
            } catch (Exception) {
            }
        }
コード例 #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_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            try {
                DataGridViewRow row = dataGridView1.Rows[e.RowIndex];
                _markId = Convert.ToInt32(row.Cells[0].Value);

                Mark mark = _marks.FirstOrDefault(x => x.Id == _markId);

                this.markTextBox.Text = mark.MarkName;
            } catch (Exception) {
            }
        }
コード例 #5
0
 private void CheckBox1_CheckedChanged(object sender, EventArgs e)
 {
     if (markCheckBox.Checked)
     {
         string filterMark = $"MarkName='{MarkComboBox.SelectedItem}'";
         Mark   mark       = _marks.Select(filterMark).With(x => x.First()) as Mark;
         string filterCar  = $"MarkId='{mark.Id}'";
         carBindingSource.Filter = filterCar;
     }
     else
     {
         carBindingSource.Filter = "";
     }
 }
コード例 #6
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;
            }

            Open(path);

            /*Super logic working with Excel file!! :)*/
            Excel.Workbook workbook = _excelApplication.Workbooks.Open(path);
            _workSheet = workbook.Sheets[1];
            Excel.Range cells = _workSheet.UsedRange;
            int         i; // count rows

            for (i = 3; i <= cells.Count; i++)
            {
                string value = cells[i, 2].Text.ToString();

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

                Mark mark = _marks.FirstOrDefault(x => x.MarkName == value);

                if (mark != null)
                {
                    continue;
                }

                mark          = _marks.NewMarkRow();
                mark.MarkName = value;
                mark.Id       = Convert.ToInt32(cells[i, 1].Text);
                _marks.AddMarkRow(mark);
            }
        }
コード例 #7
0
        private void MarkBtnChanged_Click(object sender, EventArgs e)
        {
            try {
                string name = this.markTextBox.Text?.Trim();

                if (string.IsNullOrEmpty(name))
                {
                    MessageBox.Show("Не введено название марки");
                    return;
                }

                Mark mark = _marks.FirstOrDefault(x => x.Id == _markId);
                mark.MarkName = name;

                UpdateDB();
            } catch (Exception) {
            }
        }
コード例 #8
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("Выберите строку для редактирования", "Ошибка");
            }
        }
コード例 #9
0
        private void MarkBtnAdded_Click(object sender, EventArgs e)
        {
            try {
                string name = this.markTextBox.Text?.Trim();

                if (string.IsNullOrEmpty(name))
                {
                    MessageBox.Show("Не введено название марки");
                    return;
                }

                Mark mark = _marks.NewMarkRow();
                mark.MarkName = name;

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

                if (response == DialogResult.Yes)
                {
                    try {
                        Mark mark = _marks.FirstOrDefault(x => x.Id == _markId);
                        mark.Delete();
                    } catch (Exception) {
                    }

                    UpdateDB();
                }
            }
            else
            {
                MessageBox.Show("Выберите строку для удаления", "Ошибка");
            }
        }
コード例 #11
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>
");
                    }
                }
            }
        }
コード例 #12
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;
        }