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


using System;
using System.Windows.Forms;
using CarCatalog.Модели;

namespace CarCatalog
{
    public class ФормаДобавленияАвто : Form
    {
        public Автомобиль НовыйАвтомобиль { get; private set; }
        private TextBox полеМарка;
        private TextBox полеМодель;
        private NumericUpDown полеГод;
        private NumericUpDown полеЦена;
        private CheckBox полеВНаличии;
        private Button кнопкаСохранить;

        public ФормаДобавленияАвто()
        {
            this.Text = "Добавление автомобиля";
            this.Size = new System.Drawing.Size(400, 320);
            this.StartPosition = FormStartPosition.CenterParent;
            this.FormBorderStyle = FormBorderStyle.FixedDialog;
            
            int y = 20;
            
            // Поле Марка
            Label меткаМарка = new Label();
            меткаМарка.Text = "Марка:";
            меткаМарка.Location = new System.Drawing.Point(20, y + 3);
            меткаМарка.Size = new System.Drawing.Size(100, 23);
            this.Controls.Add(меткаМарка);
            
            полеМарка = new TextBox();
            полеМарка.Location = new System.Drawing.Point(130, y);
            полеМарка.Width = 220;
            this.Controls.Add(полеМарка);
            
            y += 45;
            
            // Поле Модель
            Label меткаМодель = new Label();
            меткаМодель.Text = "Модель:";
            меткаМодель.Location = new System.Drawing.Point(20, y + 3);
            меткаМодель.Size = new System.Drawing.Size(100, 23);
            this.Controls.Add(меткаМодель);
            
            полеМодель = new TextBox();
            полеМодель.Location = new System.Drawing.Point(130, y);
            полеМодель.Width = 220;
            this.Controls.Add(полеМодель);
            
            y += 45;
            
            // Поле Год
            Label меткаГод = new Label();
            меткаГод.Text = "Год выпуска:";
            меткаГод.Location = new System.Drawing.Point(20, y + 3);
            меткаГод.Size = new System.Drawing.Size(100, 23);
            this.Controls.Add(меткаГод);
            
            полеГод = new NumericUpDown();
            полеГод.Location = new System.Drawing.Point(130, y);
            полеГод.Width = 220;
            полеГод.Minimum = 1990;
            полеГод.Maximum = 2025;
            полеГод.Value = 2024;
            this.Controls.Add(полеГод);
            
            y += 45;
            
            // Поле Цена
            Label меткаЦена = new Label();
            меткаЦена.Text = "Цена ($):";
            меткаЦена.Location = new System.Drawing.Point(20, y + 3);
            меткаЦена.Size = new System.Drawing.Size(100, 23);
            this.Controls.Add(меткаЦена);
            
            полеЦена = new NumericUpDown();
            полеЦена.Location = new System.Drawing.Point(130, y);
            полеЦена.Width = 220;
            полеЦена.Minimum = 1000;
            полеЦена.Maximum = 1000000;
            полеЦена.Value = 20000;
            this.Controls.Add(полеЦена);
            
            y += 45;
            
            // Чекбокс "В наличии"
            полеВНаличии = new CheckBox();
            полеВНаличии.Text = "Есть в наличии";
            полеВНаличии.Location = new System.Drawing.Point(130, y);
            полеВНаличии.Size = new System.Drawing.Size(150, 25);
            полеВНаличии.Checked = true;
            this.Controls.Add(полеВНаличии);
            
            y += 55;
            
            // Кнопка Сохранить
            кнопкаСохранить = new Button();
            кнопкаСохранить.Text = "Сохранить";
            кнопкаСохранить.Location = new System.Drawing.Point(130, y);
            кнопкаСохранить.Width = 150;
            кнопкаСохранить.Height = 35;
            кнопкаСохранить.BackColor = System.Drawing.Color.LightGreen;
            кнопкаСохранить.Click += new EventHandler(КнопкаСохранить_Click);
            this.Controls.Add(кнопкаСохранить);
        }

        private void КнопкаСохранить_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(полеМарка.Text))
            {
                MessageBox.Show("Введите марку автомобиля!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            
            if (string.IsNullOrWhiteSpace(полеМодель.Text))
            {
                MessageBox.Show("Введите модель автомобиля!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            
            НовыйАвтомобиль = new Автомобиль();
            НовыйАвтомобиль.Марка = полеМарка.Text.Trim();
            НовыйАвтомобиль.Модель = полеМодель.Text.Trim();
            НовыйАвтомобиль.ГодВыпуска = (int)полеГод.Value;
            НовыйАвтомобиль.Цена = полеЦена.Value;
            НовыйАвтомобиль.ВНаличии = полеВНаличии.Checked;
            НовыйАвтомобиль.ДатаВыпуска = DateTime.Now;
            
            DialogResult = DialogResult.OK;
            Close();
        }
    }
}