| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- using System;
- using System.Data;
- using System.Windows.Forms;
- namespace WindowsFormsApp4
- {
- public partial class NewRequestForm : Form
- {
- public NewRequestForm()
- {
- InitializeComponent();
- AttachEventHandlers();
- LoadAddresses();
- }
- private void AttachEventHandlers()
- {
- btnSave.Click += BtnSave_Click;
- btnCancel.Click += BtnCancel_Click;
- }
- private void LoadAddresses()
- {
- try
- {
- // Проверяем, что клиент вошёл в систему
- if (!Session.CurrentUser.ClientId.HasValue)
- {
- MessageBox.Show("Ошибка: не удалось определить ID клиента",
- "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
- btnSave.Enabled = false;
- return;
- }
- DataTable addresses = DatabaseHelper.GetClientAddresses(Session.CurrentUser.ClientId.Value);
- cmbAddress.DisplayMember = "address_text";
- cmbAddress.ValueMember = "address_id";
- cmbAddress.DataSource = addresses;
- if (cmbAddress.Items.Count == 0)
- {
- MessageBox.Show("У вас нет сохранённых адресов. Добавьте адрес в личном кабинете.",
- "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- btnSave.Enabled = false;
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show($"Ошибка загрузки адресов: {ex.Message}", "Ошибка",
- MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
- private void BtnSave_Click(object sender, EventArgs e)
- {
- try
- {
- // Проверка выбора адреса
- if (cmbAddress.SelectedValue == null)
- {
- MessageBox.Show("Выберите адрес", "Ошибка",
- MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return;
- }
- // Проверка даты и времени
- DateTime measurementDateTime = dtpMeasurementDate.Value.Date + dtpMeasurementTime.Value.TimeOfDay;
- if (measurementDateTime < DateTime.Now)
- {
- MessageBox.Show("Дата и время замера не могут быть в прошлом", "Ошибка",
- MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return;
- }
- int newRequestId = DatabaseHelper.CreateRequest(
- Session.CurrentUser.ClientId.Value,
- measurementDateTime
- );
- if (newRequestId > 0)
- {
- MessageBox.Show($"Заявка №{newRequestId} успешно создана!", "Успешно",
- MessageBoxButtons.OK, MessageBoxIcon.Information);
- this.DialogResult = DialogResult.OK;
- this.Close();
- }
- else
- {
- MessageBox.Show("Ошибка при создании заявки", "Ошибка",
- MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show($"Ошибка: {ex.Message}", "Ошибка",
- MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
- private void BtnCancel_Click(object sender, EventArgs e)
- {
- this.DialogResult = DialogResult.Cancel;
- this.Close();
- }
- }
- }
|