a little work

This commit is contained in:
Baryshev Dmitry 2024-11-17 16:52:57 +04:00
parent 613ffd491f
commit 6694e9c4a7
3 changed files with 76 additions and 11 deletions

View File

@ -106,6 +106,7 @@
buttonSaveDriver.TabIndex = 8; buttonSaveDriver.TabIndex = 8;
buttonSaveDriver.Text = "Сохранить"; buttonSaveDriver.Text = "Сохранить";
buttonSaveDriver.UseVisualStyleBackColor = true; buttonSaveDriver.UseVisualStyleBackColor = true;
buttonSaveDriver.Click += ButtonSaveDriver_Click;
// //
// buttonCancelDriver // buttonCancelDriver
// //
@ -115,9 +116,11 @@
buttonCancelDriver.TabIndex = 9; buttonCancelDriver.TabIndex = 9;
buttonCancelDriver.Text = "Отмена"; buttonCancelDriver.Text = "Отмена";
buttonCancelDriver.UseVisualStyleBackColor = true; buttonCancelDriver.UseVisualStyleBackColor = true;
buttonCancelDriver.Click += ButtonCancelDriver_Click;
// //
// comboBoxTruckID // comboBoxTruckID
// //
comboBoxTruckID.DropDownStyle = ComboBoxStyle.DropDownList;
comboBoxTruckID.FormattingEnabled = true; comboBoxTruckID.FormattingEnabled = true;
comboBoxTruckID.Location = new Point(120, 156); comboBoxTruckID.Location = new Point(120, 156);
comboBoxTruckID.Name = "comboBoxTruckID"; comboBoxTruckID.Name = "comboBoxTruckID";

View File

@ -1,4 +1,7 @@
using System; using ProjectGarage.Entities;
using ProjectGarage.Entities.Enums;
using ProjectGarage.Repositories;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Data; using System.Data;
@ -12,9 +15,77 @@ namespace ProjectGarage.Forms
{ {
public partial class FormDriver : Form public partial class FormDriver : Form
{ {
public FormDriver() private readonly IDriverRepository _driverRepository;
private int? _driverId;
public int Id
{
set
{
try
{
var driver = _driverRepository.ReadDriverByID(value);
if (driver == null)
{
throw new
InvalidDataException(nameof(driver));
}
textBoxFirstName.Text = driver.First_name;
textBoxLastName.Text = driver.Last_name;
comboBoxTruckID.SelectedItem = driver.Id;//TODO НЕ ЗАБУДЬ
_driverId = value;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Ошибка при получении данных", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
}
public FormDriver(IDriverRepository driverRepository)
{ {
InitializeComponent(); InitializeComponent();
_driverRepository = driverRepository ?? throw new ArgumentNullException(nameof(driverRepository));
comboBoxTruckID.DataSource = Enum.GetValues(typeof(FuelType));//TODO НЕ ЗАБУДЬ
}
private void ButtonSaveDriver_Click(object sender, EventArgs e)
{
try
{
if (string.IsNullOrWhiteSpace(textBoxFirstName.Text) || string.IsNullOrWhiteSpace(textBoxLastName.Text)
|| comboBoxTruckID.SelectedIndex < 1)//TODO НЕ ЗАБУДЬ
{
throw new Exception("Имеются незаполненные поля");
}
if (_driverId.HasValue)
{
_driverRepository.UpdateDriver(CreateDriver(_driverId.Value));
}
else
{
_driverRepository.CreateDriver(CreateDriver(0));
}
Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Ошибка при сохранении",
MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }
private void ButtonCancelDriver_Click(object sender, EventArgs e)
{
}
private Driver CreateDriver(int id) => Driver.CreateDriver(id, textBoxFirstName.Text,
textBoxLastName.Text, textBoxPhoneNum.Text, (int)(FuelType)comboBoxTruckID.SelectedItem!);//TODO НЕ ЗАБУДЬ
}
} }

View File

@ -1,14 +1,5 @@
using ProjectGarage.Entities; using ProjectGarage.Entities;
using ProjectGarage.Repositories; using ProjectGarage.Repositories;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ProjectGarage.Forms namespace ProjectGarage.Forms
{ {