Загрузка данных


using System;
using System.Collections.Generic;
using System.Windows.Forms;
using CarCatalog.Модели;
using CarCatalog.Данные;

namespace CarCatalog.css
{
    public partial class Form1 : Form
    {
        private ХранилищеДанных база;
        private DataGridView dataGridView1;
        private Button btnДобавить;
        private Button btnУдалить;
        private Button btnЗаявка;

        public Form1()
        {
            InitializeComponent();
            
            база = new ХранилищеДанных();
            
            this.Text = "Картотека автомобилей";
            this.WindowState = FormWindowState.Maximized;
            
            // Создаем DataGridView
            dataGridView1 = new DataGridView();
            dataGridView1.Dock = DockStyle.Fill;
            dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            dataGridView1.ReadOnly = true;
            dataGridView1.AllowUserToAddRows = false;
            
            // Создаем кнопку "Добавить"
            btnДобавить = new Button();
            btnДобавить.Text = "Добавить автомобиль";
            btnДобавить.Dock = DockStyle.Bottom;
            btnДобавить.Height = 40;
            btnДобавить.BackColor = System.Drawing.Color.LightGreen;
            btnДобавить.Click += new EventHandler(btnДобавить_Click);
            
            // Создаем кнопку "Удалить"
            btnУдалить = new Button();
            btnУдалить.Text = "Удалить автомобиль";
            btnУдалить.Dock = DockStyle.Bottom;
            btnУдалить.Height = 40;
            btnУдалить.BackColor = System.Drawing.Color.LightCoral;
            btnУдалить.Click += new EventHandler(btnУдалить_Click);
            
            // Создаем кнопку "Заявка"
            btnЗаявка = new Button();
            btnЗаявка.Text = "Заявка клиента";
            btnЗаявка.Dock = DockStyle.Bottom;
            btnЗаявка.Height = 40;
            btnЗаявка.BackColor = System.Drawing.Color.LightBlue;
            btnЗаявка.Click += new EventHandler(btnЗаявка_Click);
            
            // Панель для кнопок
            Panel панельКнопок = new Panel();
            панельКнопок.Dock = DockStyle.Bottom;
            панельКнопок.Height = 45;
            
            btnДобавить.Location = new System.Drawing.Point(10, 3);
            btnДобавить.Width = 150;
            btnУдалить.Location = new System.Drawing.Point(170, 3);
            btnУдалить.Width = 150;
            btnЗаявка.Location = new System.Drawing.Point(330, 3);
            btnЗаявка.Width = 150;
            
            панельКнопок.Controls.Add(btnДобавить);
            панельКнопок.Controls.Add(btnУдалить);
            панельКнопок.Controls.Add(btnЗаявка);
            
            // Добавляем элементы на форму
            this.Controls.Add(dataGridView1);
            this.Controls.Add(панельКнопок);
            
            // Загружаем данные
            ЗагрузитьАвтомобили();
        }

        private void ЗагрузитьАвтомобили()
        {
            List<Автомобиль> список = база.ПолучитьАвтомобилиВНаличии();
            dataGridView1.DataSource = список;
            
            // Переименовываем столбцы на русский
            if (dataGridView1.Columns["Ид"] != null)
                dataGridView1.Columns["Ид"].HeaderText = "Номер";
            if (dataGridView1.Columns["Марка"] != null)
                dataGridView1.Columns["Марка"].HeaderText = "Марка";
            if (dataGridView1.Columns["Модель"] != null)
                dataGridView1.Columns["Модель"].HeaderText = "Модель";
            if (dataGridView1.Columns["ГодВыпуска"] != null)
                dataGridView1.Columns["ГодВыпуска"].HeaderText = "Год выпуска";
            if (dataGridView1.Columns["Цена"] != null)
                dataGridView1.Columns["Цена"].HeaderText = "Цена ($)";
            if (dataGridView1.Columns["ВНаличии"] != null)
                dataGridView1.Columns["ВНаличии"].HeaderText = "В наличии";
            if (dataGridView1.Columns["ДатаВыпуска"] != null)
                dataGridView1.Columns["ДатаВыпуска"].HeaderText = "Дата выпуска";
        }

        private void btnДобавить_Click(object sender, EventArgs e)
        {
            ФормаДобавленияАвто форма = new ФормаДобавленияАвто();
            if (форма.ShowDialog() == DialogResult.OK)
            {
                база.ДобавитьАвтомобиль(форма.НовыйАвтомобиль);
                ЗагрузитьАвтомобили();
                MessageBox.Show("Автомобиль добавлен!", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }

        private void btnУдалить_Click(object sender, EventArgs e)
        {
            if (dataGridView1.CurrentRow != null)
            {
                Автомобиль авто = (Автомобиль)dataGridView1.CurrentRow.DataBoundItem;
                
                DialogResult результат = MessageBox.Show("Удалить " + авто.Марка + " " + авто.Модель + "?", 
                    "Подтверждение", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                
                if (результат == DialogResult.Yes)
                {
                    база.УдалитьАвтомобиль(авто.Ид);
                    ЗагрузитьАвтомобили();
                    MessageBox.Show("Автомобиль удалён!", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            else
            {
                MessageBox.Show("Выберите автомобиль для удаления", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

        private void btnЗаявка_Click(object sender, EventArgs e)
        {
            ФормаЗаявки форма = new ФормаЗаявки(база);
            форма.ShowDialog();
        }
    }
}