diff --git a/FuelAndLubricants/FuelAndLubricants/Forms/FormCar.Designer.cs b/FuelAndLubricants/FuelAndLubricants/Forms/FormCar.Designer.cs
index d41e33e..aea1ce5 100644
--- a/FuelAndLubricants/FuelAndLubricants/Forms/FormCar.Designer.cs
+++ b/FuelAndLubricants/FuelAndLubricants/Forms/FormCar.Designer.cs
@@ -29,8 +29,8 @@
private void InitializeComponent()
{
checkedListBoxDriverLicense = new CheckedListBox();
- buttonDriverCancel = new Button();
- buttonDriverSave = new Button();
+ buttonCancel = new Button();
+ buttonCarSave = new Button();
label3 = new Label();
textBoxCarModel = new TextBox();
label2 = new Label();
@@ -51,23 +51,25 @@
checkedListBoxDriverLicense.Size = new Size(140, 94);
checkedListBoxDriverLicense.TabIndex = 17;
//
- // buttonDriverCancel
+ // buttonCancel
//
- buttonDriverCancel.Location = new Point(172, 232);
- buttonDriverCancel.Name = "buttonDriverCancel";
- buttonDriverCancel.Size = new Size(75, 23);
- buttonDriverCancel.TabIndex = 16;
- buttonDriverCancel.Text = "Отмена";
- buttonDriverCancel.UseVisualStyleBackColor = true;
+ buttonCancel.Location = new Point(172, 232);
+ buttonCancel.Name = "buttonCancel";
+ buttonCancel.Size = new Size(75, 23);
+ buttonCancel.TabIndex = 16;
+ buttonCancel.Text = "Отмена";
+ buttonCancel.UseVisualStyleBackColor = true;
+ buttonCancel.Click += ButtonCancel_Click;
//
- // buttonDriverSave
+ // buttonCarSave
//
- buttonDriverSave.Location = new Point(9, 232);
- buttonDriverSave.Name = "buttonDriverSave";
- buttonDriverSave.Size = new Size(75, 23);
- buttonDriverSave.TabIndex = 15;
- buttonDriverSave.Text = "Сохранить";
- buttonDriverSave.UseVisualStyleBackColor = true;
+ buttonCarSave.Location = new Point(9, 232);
+ buttonCarSave.Name = "buttonCarSave";
+ buttonCarSave.Size = new Size(75, 23);
+ buttonCarSave.TabIndex = 15;
+ buttonCarSave.Text = "Сохранить";
+ buttonCarSave.UseVisualStyleBackColor = true;
+ buttonCarSave.Click += ButtonCarSave_Click;
//
// label3
//
@@ -157,8 +159,8 @@
Controls.Add(label4);
Controls.Add(comboBoxCarType);
Controls.Add(checkedListBoxDriverLicense);
- Controls.Add(buttonDriverCancel);
- Controls.Add(buttonDriverSave);
+ Controls.Add(buttonCancel);
+ Controls.Add(buttonCarSave);
Controls.Add(label3);
Controls.Add(textBoxCarModel);
Controls.Add(label2);
@@ -174,8 +176,8 @@
#endregion
private CheckedListBox checkedListBoxDriverLicense;
- private Button buttonDriverCancel;
- private Button buttonDriverSave;
+ private Button buttonCancel;
+ private Button buttonCarSave;
private Label label3;
private TextBox textBoxCarModel;
private Label label2;
diff --git a/FuelAndLubricants/FuelAndLubricants/Forms/FormFuel.Designer.cs b/FuelAndLubricants/FuelAndLubricants/Forms/FormFuel.Designer.cs
new file mode 100644
index 0000000..534b377
--- /dev/null
+++ b/FuelAndLubricants/FuelAndLubricants/Forms/FormFuel.Designer.cs
@@ -0,0 +1,151 @@
+namespace FuelAndLubricants.Forms
+{
+ partial class FormFuel
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ label5 = new Label();
+ numericUpDownPrice = new NumericUpDown();
+ buttonCancel = new Button();
+ buttonFuelSave = new Button();
+ label1 = new Label();
+ comboBoxFuelType = new ComboBox();
+ label2 = new Label();
+ numericUpDownAmount = new NumericUpDown();
+ ((System.ComponentModel.ISupportInitialize)numericUpDownPrice).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)numericUpDownAmount).BeginInit();
+ SuspendLayout();
+ //
+ // label5
+ //
+ label5.AutoSize = true;
+ label5.Location = new Point(7, 40);
+ label5.Name = "label5";
+ label5.Size = new Size(78, 15);
+ label5.TabIndex = 33;
+ label5.Text = "Цена за литр";
+ //
+ // numericUpDownPrice
+ //
+ numericUpDownPrice.DecimalPlaces = 2;
+ numericUpDownPrice.Location = new Point(105, 38);
+ numericUpDownPrice.Minimum = new decimal(new int[] { 1, 0, 0, 131072 });
+ numericUpDownPrice.Name = "numericUpDownPrice";
+ numericUpDownPrice.Size = new Size(140, 23);
+ numericUpDownPrice.TabIndex = 32;
+ numericUpDownPrice.Value = new decimal(new int[] { 1, 0, 0, 131072 });
+ //
+ // buttonCancel
+ //
+ buttonCancel.Location = new Point(170, 106);
+ buttonCancel.Name = "buttonCancel";
+ buttonCancel.Size = new Size(75, 23);
+ buttonCancel.TabIndex = 28;
+ buttonCancel.Text = "Отмена";
+ buttonCancel.UseVisualStyleBackColor = true;
+ buttonCancel.Click += ButtonCancel_Click;
+ //
+ // buttonFuelSave
+ //
+ buttonFuelSave.Location = new Point(7, 106);
+ buttonFuelSave.Name = "buttonFuelSave";
+ buttonFuelSave.Size = new Size(75, 23);
+ buttonFuelSave.TabIndex = 27;
+ buttonFuelSave.Text = "Сохранить";
+ buttonFuelSave.UseVisualStyleBackColor = true;
+ buttonFuelSave.Click += ButtonFuelSave_Click;
+ //
+ // label1
+ //
+ label1.AutoSize = true;
+ label1.Location = new Point(7, 12);
+ label1.Name = "label1";
+ label1.Size = new Size(75, 15);
+ label1.TabIndex = 35;
+ label1.Text = "Тип топлива";
+ //
+ // comboBoxFuelType
+ //
+ comboBoxFuelType.DropDownStyle = ComboBoxStyle.DropDownList;
+ comboBoxFuelType.FormattingEnabled = true;
+ comboBoxFuelType.Location = new Point(105, 9);
+ comboBoxFuelType.Name = "comboBoxFuelType";
+ comboBoxFuelType.Size = new Size(140, 23);
+ comboBoxFuelType.TabIndex = 34;
+ //
+ // label2
+ //
+ label2.AutoSize = true;
+ label2.Location = new Point(7, 69);
+ label2.Name = "label2";
+ label2.Size = new Size(72, 15);
+ label2.TabIndex = 37;
+ label2.Text = "Количество";
+ //
+ // numericUpDownAmount
+ //
+ numericUpDownAmount.DecimalPlaces = 2;
+ numericUpDownAmount.Location = new Point(105, 67);
+ numericUpDownAmount.Minimum = new decimal(new int[] { 1, 0, 0, 131072 });
+ numericUpDownAmount.Name = "numericUpDownAmount";
+ numericUpDownAmount.Size = new Size(140, 23);
+ numericUpDownAmount.TabIndex = 36;
+ numericUpDownAmount.Value = new decimal(new int[] { 1, 0, 0, 131072 });
+ //
+ // FormFuel
+ //
+ AutoScaleDimensions = new SizeF(7F, 15F);
+ AutoScaleMode = AutoScaleMode.Font;
+ ClientSize = new Size(256, 136);
+ Controls.Add(label2);
+ Controls.Add(numericUpDownAmount);
+ Controls.Add(label1);
+ Controls.Add(comboBoxFuelType);
+ Controls.Add(label5);
+ Controls.Add(numericUpDownPrice);
+ Controls.Add(buttonCancel);
+ Controls.Add(buttonFuelSave);
+ Name = "FormFuel";
+ Text = "FormFuel";
+ ((System.ComponentModel.ISupportInitialize)numericUpDownPrice).EndInit();
+ ((System.ComponentModel.ISupportInitialize)numericUpDownAmount).EndInit();
+ ResumeLayout(false);
+ PerformLayout();
+ }
+
+ #endregion
+
+ private Label label5;
+ private NumericUpDown numericUpDownPrice;
+ private Button buttonCancel;
+ private Button buttonFuelSave;
+ private Label label1;
+ private ComboBox comboBoxFuelType;
+ private Label label2;
+ private NumericUpDown numericUpDownAmount;
+ }
+}
\ No newline at end of file
diff --git a/FuelAndLubricants/FuelAndLubricants/Forms/FormFuel.cs b/FuelAndLubricants/FuelAndLubricants/Forms/FormFuel.cs
new file mode 100644
index 0000000..ae8ee7e
--- /dev/null
+++ b/FuelAndLubricants/FuelAndLubricants/Forms/FormFuel.cs
@@ -0,0 +1,72 @@
+using FuelAndLubricants.Entities;
+using FuelAndLubricants.Entities.Enums;
+using FuelAndLubricants.Repositories;
+
+namespace FuelAndLubricants.Forms
+{
+ public partial class FormFuel : Form
+ {
+ private readonly IFuelRepository _fuelRepository;
+
+ private int? _fuelId;
+
+ public int Id
+ {
+ set
+ {
+ try
+ {
+ var fuel = _fuelRepository.ReadFuelByID(value);
+ if (fuel == null)
+ throw new InvalidOperationException(nameof(fuel));
+
+ comboBoxFuelType.SelectedItem = fuel.Fuel_Type;
+ numericUpDownPrice.Value = (decimal)fuel.Price_Per_Liter;
+ numericUpDownAmount.Value = (decimal)fuel.Amount;
+
+ _fuelId = value;
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message, "Ошибка при получении данных", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+ }
+ }
+ public FormFuel(IFuelRepository fuelRepository)
+ {
+ InitializeComponent();
+ _fuelRepository = fuelRepository ??
+ throw new ArgumentNullException(nameof(fuelRepository));
+
+ comboBoxFuelType.DataSource = Enum.GetValues(typeof(Fuel_Type));
+ }
+
+ private void ButtonFuelSave_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ if (comboBoxFuelType.SelectedIndex < 1)
+ throw new Exception("Имеются незаполненные поля");
+
+ if (_fuelId.HasValue)
+ _fuelRepository.UpdateFuel(CreateFuel(_fuelId.Value));
+ else
+ _fuelRepository.CreateFuel(CreateFuel(0));
+
+ Close();
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message, "Ошибка при сохранении", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ private void ButtonCancel_Click(object sender, EventArgs e) => Close();
+
+ private Fuel_And_Lubricants CreateFuel(int id)
+ {
+ return Fuel_And_Lubricants.CreateEntity(id, (Fuel_Type)comboBoxFuelType.SelectedItem!, (float)numericUpDownPrice.Value, (float)numericUpDownAmount.Value);
+ }
+ }
+}
diff --git a/FuelAndLubricants/FuelAndLubricants/Forms/FormFuel.resx b/FuelAndLubricants/FuelAndLubricants/Forms/FormFuel.resx
new file mode 100644
index 0000000..8b2ff64
--- /dev/null
+++ b/FuelAndLubricants/FuelAndLubricants/Forms/FormFuel.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/FuelAndLubricants/FuelAndLubricants/Repositories/IFuelRepository.cs b/FuelAndLubricants/FuelAndLubricants/Repositories/IFuelRepository.cs
index 5988b93..f02721c 100644
--- a/FuelAndLubricants/FuelAndLubricants/Repositories/IFuelRepository.cs
+++ b/FuelAndLubricants/FuelAndLubricants/Repositories/IFuelRepository.cs
@@ -8,7 +8,7 @@ public interface IFuelRepository
Fuel_And_Lubricants ReadFuelByID(int id);
- void CreateDriver(Fuel_And_Lubricants fuel);
+ void CreateFuel(Fuel_And_Lubricants fuel);
void UpdateFuel(Fuel_And_Lubricants fuel);