diff --git a/FuelAndLubricants/FuelAndLubricants/Forms/FormRefill.Designer.cs b/FuelAndLubricants/FuelAndLubricants/Forms/FormRefill.Designer.cs new file mode 100644 index 0000000..6fd5a9f --- /dev/null +++ b/FuelAndLubricants/FuelAndLubricants/Forms/FormRefill.Designer.cs @@ -0,0 +1,174 @@ +namespace FuelAndLubricants.Forms +{ + partial class FormRefill + { + /// + /// 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() + { + label4 = new Label(); + buttonCancel = new Button(); + buttonRefillSave = new Button(); + label2 = new Label(); + dateTimePickerRefillDate = new DateTimePicker(); + label1 = new Label(); + numericUpDownRefillAmount = new NumericUpDown(); + label3 = new Label(); + comboBoxCarID = new ComboBox(); + comboBoxFuelID = new ComboBox(); + ((System.ComponentModel.ISupportInitialize)numericUpDownRefillAmount).BeginInit(); + SuspendLayout(); + // + // label4 + // + label4.AutoSize = true; + label4.Location = new Point(11, 70); + label4.Name = "label4"; + label4.Size = new Size(54, 15); + label4.TabIndex = 31; + label4.Text = "Топливо"; + // + // buttonCancel + // + buttonCancel.Location = new Point(174, 135); + buttonCancel.Name = "buttonCancel"; + buttonCancel.Size = new Size(75, 23); + buttonCancel.TabIndex = 28; + buttonCancel.Text = "Отмена"; + buttonCancel.UseVisualStyleBackColor = true; + buttonCancel.Click += ButtonCancel_Click; + // + // buttonRefillSave + // + buttonRefillSave.Location = new Point(11, 135); + buttonRefillSave.Name = "buttonRefillSave"; + buttonRefillSave.Size = new Size(75, 23); + buttonRefillSave.TabIndex = 27; + buttonRefillSave.Text = "Сохранить"; + buttonRefillSave.UseVisualStyleBackColor = true; + buttonRefillSave.Click += ButtonSave_Click; + // + // label2 + // + label2.AutoSize = true; + label2.Location = new Point(11, 41); + label2.Name = "label2"; + label2.Size = new Size(72, 15); + label2.TabIndex = 24; + label2.Text = "Количество"; + // + // dateTimePickerRefillDate + // + dateTimePickerRefillDate.Location = new Point(109, 9); + dateTimePickerRefillDate.Name = "dateTimePickerRefillDate"; + dateTimePickerRefillDate.Size = new Size(140, 23); + dateTimePickerRefillDate.TabIndex = 34; + // + // label1 + // + label1.AutoSize = true; + label1.Location = new Point(11, 15); + label1.Name = "label1"; + label1.Size = new Size(85, 15); + label1.TabIndex = 35; + label1.Text = "Дата заправки"; + // + // numericUpDownRefillAmount + // + numericUpDownRefillAmount.DecimalPlaces = 2; + numericUpDownRefillAmount.Location = new Point(109, 39); + numericUpDownRefillAmount.Minimum = new decimal(new int[] { 1, 0, 0, 131072 }); + numericUpDownRefillAmount.Name = "numericUpDownRefillAmount"; + numericUpDownRefillAmount.Size = new Size(140, 23); + numericUpDownRefillAmount.TabIndex = 36; + numericUpDownRefillAmount.Value = new decimal(new int[] { 1, 0, 0, 131072 }); + // + // label3 + // + label3.AutoSize = true; + label3.Location = new Point(11, 99); + label3.Name = "label3"; + label3.Size = new Size(55, 15); + label3.TabIndex = 38; + label3.Text = "Машина"; + // + // comboBoxCarID + // + comboBoxCarID.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxCarID.FormattingEnabled = true; + comboBoxCarID.Location = new Point(109, 96); + comboBoxCarID.Name = "comboBoxCarID"; + comboBoxCarID.Size = new Size(140, 23); + comboBoxCarID.TabIndex = 37; + // + // comboBoxFuelID + // + comboBoxFuelID.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxFuelID.FormattingEnabled = true; + comboBoxFuelID.Location = new Point(109, 67); + comboBoxFuelID.Name = "comboBoxFuelID"; + comboBoxFuelID.Size = new Size(140, 23); + comboBoxFuelID.TabIndex = 39; + // + // FormRefill + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(257, 165); + Controls.Add(comboBoxFuelID); + Controls.Add(label3); + Controls.Add(comboBoxCarID); + Controls.Add(numericUpDownRefillAmount); + Controls.Add(label1); + Controls.Add(dateTimePickerRefillDate); + Controls.Add(label4); + Controls.Add(buttonCancel); + Controls.Add(buttonRefillSave); + Controls.Add(label2); + Name = "FormRefill"; + Text = "FormRefill"; + ((System.ComponentModel.ISupportInitialize)numericUpDownRefillAmount).EndInit(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private Label label5; + private NumericUpDown numericUpDownConsumptionRate; + private Label label4; + private ComboBox comboBoxCarType; + private CheckedListBox checkedListBoxDriverLicense; + private Button buttonCancel; + private Button buttonRefillSave; + private Label label2; + private DateTimePicker dateTimePickerRefillDate; + private Label label1; + private NumericUpDown numericUpDownRefillAmount; + private Label label3; + private ComboBox comboBoxCarID; + private ComboBox comboBoxFuelID; + } +} \ No newline at end of file diff --git a/FuelAndLubricants/FuelAndLubricants/Forms/FormRefill.cs b/FuelAndLubricants/FuelAndLubricants/Forms/FormRefill.cs new file mode 100644 index 0000000..61140f4 --- /dev/null +++ b/FuelAndLubricants/FuelAndLubricants/Forms/FormRefill.cs @@ -0,0 +1,43 @@ +using FuelAndLubricants.Entities; +using FuelAndLubricants.Repositories; + +namespace FuelAndLubricants.Forms +{ + public partial class FormRefill : Form + { + private readonly IRefillRepository _refillRepository; + + public FormRefill(IRefillRepository refillRepository, IFuelRepository fuelRepository, ICarRepository carRepository) + { + InitializeComponent(); + + _refillRepository = refillRepository ?? + throw new ArgumentNullException(nameof(refillRepository)); + + comboBoxFuelID.DataSource = fuelRepository.ReadFuels(); + comboBoxFuelID.DisplayMember = "Fuel_Type"; + comboBoxFuelID.ValueMember = "Fuel_ID"; + + comboBoxCarID.DataSource = carRepository.ReadCars(); + comboBoxCarID.DisplayMember = "Car_Mark"; + comboBoxCarID.ValueMember = "Car_ID"; + } + private void ButtonSave_Click(object sender, EventArgs e) + { + try + { + if (comboBoxFuelID.SelectedIndex < 0 || comboBoxCarID.SelectedIndex < 0) + throw new Exception("Имеются незаполненные поля"); + + _refillRepository.CreateRefill(Refill.CreateOperation(0, dateTimePickerRefillDate.Value, (float)numericUpDownRefillAmount.Value, (int)comboBoxFuelID.SelectedValue!, (int)comboBoxCarID.SelectedValue!)); + Close(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при сохранении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonCancel_Click(object sender, EventArgs e) => Close(); + } +} diff --git a/FuelAndLubricants/FuelAndLubricants/Forms/FormRefill.resx b/FuelAndLubricants/FuelAndLubricants/Forms/FormRefill.resx new file mode 100644 index 0000000..8b2ff64 --- /dev/null +++ b/FuelAndLubricants/FuelAndLubricants/Forms/FormRefill.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