64 lines
2.4 KiB
C#
64 lines
2.4 KiB
C#
using ProjectGarage.Entities;
|
|
using ProjectGarage.Repositories;
|
|
using ProjectGarage.Repositories.Implementations;
|
|
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
|
|
{
|
|
public partial class FormTransportation : Form
|
|
{
|
|
private readonly ITransportationRepository _transportationRepository;
|
|
|
|
public FormTransportation(ITransportationRepository transportationRepository,
|
|
IFuelRepository fuelRepository, IDriverRepository driverRepository, IRouteRepository routeRepository)
|
|
{
|
|
InitializeComponent();
|
|
_transportationRepository = transportationRepository ??
|
|
throw new ArgumentNullException(nameof(transportationRepository));
|
|
|
|
comboBoxDriver.DataSource = driverRepository.ReadDrivers();
|
|
comboBoxDriver.DisplayMember = "FullName";
|
|
comboBoxDriver.ValueMember = "Id";
|
|
|
|
comboBoxFuel.DataSource = fuelRepository.ReadFuels();
|
|
comboBoxFuel.DisplayMember = "FuelName";
|
|
comboBoxFuel.ValueMember = "Id";
|
|
|
|
comboBoxRoute.DataSource = routeRepository.ReadRoute();
|
|
comboBoxRoute.DisplayMember = "RouteName";
|
|
comboBoxRoute.ValueMember = "Id";
|
|
}
|
|
|
|
private void ButtonTransportationSave_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (comboBoxFuel.SelectedIndex < 0 || comboBoxDriver.SelectedIndex < 0 ||
|
|
comboBoxRoute.SelectedIndex < 0)
|
|
{
|
|
throw new Exception("Имеются незаполненные поля");
|
|
}
|
|
_transportationRepository.CreateTransportation(Transportation.CreateTransportation(0,
|
|
(int)comboBoxFuel.SelectedValue!, (int)comboBoxRoute.SelectedValue!,
|
|
(int)comboBoxDriver.SelectedValue!, Convert.ToInt32(numericUpDownAmountFuel.Value)));
|
|
Close();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message, "Ошибка при сохранении",
|
|
MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
}
|
|
|
|
private void ButtonTransportationCancel_Click(object sender, EventArgs e) => Close();
|
|
}
|
|
}
|