Загрузка данных
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(480, 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(120, 23);
this.Controls.Add(меткаФио);
полеФио = new TextBox();
полеФио.Location = new System.Drawing.Point(150, y);
полеФио.Width = 280;
this.Controls.Add(полеФио);
y += 45;
// Поле Телефон
Label меткаТелефон = new Label();
меткаТелефон.Text = "Телефон:";
меткаТелефон.Location = new System.Drawing.Point(20, y + 3);
меткаТелефон.Size = new System.Drawing.Size(120, 23);
this.Controls.Add(меткаТелефон);
полеТелефон = new TextBox();
полеТелефон.Location = new System.Drawing.Point(150, y);
полеТелефон.Width = 280;
this.Controls.Add(полеТелефон);
y += 45;
// Поле Желаемая марка
Label меткаМарка = new Label();
меткаМарка.Text = "Желаемая марка:";
меткаМарка.Location = new System.Drawing.Point(20, y + 3);
меткаМарка.Size = new System.Drawing.Size(120, 23);
this.Controls.Add(меткаМарка);
полеМарка = new TextBox();
полеМарка.Location = new System.Drawing.Point(150, y);
полеМарка.Width = 280;
this.Controls.Add(полеМарка);
y += 60;
// Кнопка Отправить
кнопкаОтправить = new Button();
кнопкаОтправить.Text = "Отправить заявку";
кнопкаОтправить.Location = new System.Drawing.Point(150, y);
кнопкаОтправить.Width = 200;
кнопкаОтправить.Height = 40;
кнопкаОтправить.BackColor = System.Drawing.Color.LightBlue;
кнопкаОтправить.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;
}
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();
}
}
}