PIbd-23_Baryshev_D.A._Garage/ProjectGarage/Forms/FormTransportation.cs

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();
}
}