Загрузка данных
using System;
using System.Windows.Forms;
using CarCatalog.Данные;
using CarCatalog.Модели;
namespace CarCatalog
{
public class ФормаЗаявки : Form
{
private ХранилищеДанных база;
private TextBox полеФио;
private TextBox полеТелефон;
private TextBox полеМарка;
private Button кнопкаОтправить;
public ФормаЗаявки(ХранилищеДанных базаДанных)
{
база = базаДанных;
this.Text = "Оформление заявки клиента";
this.Size = new System.Drawing.Size(450, 320);
this.StartPosition = FormStartPosition.CenterParent;
this.FormBorderStyle = FormBorderStyle.FixedDialog;
int y = 20;
полеФио = new TextBox() { Location = new System.Drawing.Point(150, y), Width = 250 };
this.Controls.Add(new Label() { Text = "ФИО клиента:", Location = new System.Drawing.Point(20, y + 3), Width = 120 });
this.Controls.Add(полеФио);
y += 45;
полеТелефон = new TextBox() { Location = new System.Drawing.Point(150, y), Width = 250 };
this.Controls.Add(new Label() { Text = "Телефон:", Location = new System.Drawing.Point(20, y + 3), Width = 120 });
this.Controls.Add(полеТелефон);
y += 45;
полеМарка = new TextBox() { Location = new System.Drawing.Point(150, y), Width = 250 };
this.Controls.Add(new Label() { Text = "Желаемая марка:", Location = new System.Drawing.Point(20, y + 3), Width = 120 });
this.Controls.Add(полеМарка);
y += 60;
кнопкаОтправить = new Button() { Location = new System.Drawing.Point(150, y), Text = "Отправить заявку", Width = 200, Height = 40, BackColor = System.Drawing.Color.LightBlue };
кнопкаОтправить.Click += КнопкаОтправить_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;
}
string желаемаяМарка = полеМарка.Text.Trim();
// Проверяем, есть ли авто в наличии
if (база.ЕстьЛиАвтомобильВНаличии(желаемаяМарка))
{
MessageBox.Show($"Автомобиль марки {желаемаяМарка} уже есть в наличии!\nКлиент может оформить покупку.",
"Автомобиль найден", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
// Ищем или создаём клиента
Клиент клиент = база.НайтиКлиентаПоТелефону(полеТелефон.Text);
if (клиент == null)
{
клиент = new Клиент();
клиент.Фио = полеФио.Text.Trim();
клиент.Телефон = полеТелефон.Text.Trim();
база.ДобавитьКлиента(клиент);
}
// Создаём заявку
Заявка заявка = new Заявка();
заявка.ИдКлиента = клиент.Ид;
заявка.ЖелаемаяМарка = желаемаяМарка;
заявка.Статус = "открыта";
база.ДобавитьЗаявку(заявка);
MessageBox.Show($"Заявка принята!\nКлиент: {клиент.Фио}\nЖелаемая марка: {желаемаяМарка}\n\nКогда авто появится - вы получите оповещение.",
"Заявка оформлена", MessageBoxButtons.OK, MessageBoxIcon.Information);
DialogResult = DialogResult.OK;
Close();
}
}
}