From 17621f82b2be8bd8fdd8eb0037324592dc1290c0 Mon Sep 17 00:00:00 2001 From: F1rsTTeaM Date: Sun, 17 Nov 2024 15:18:54 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D1=84=D0=BE=D1=80=D0=BC=D1=8B=20=D0=B2=D0=BE=D0=B4?= =?UTF-8?q?=D0=B8=D1=82=D0=B5=D0=BB=D0=B5=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Forms/FormDrivers.Designer.cs | 127 ++++++++++++++++++ .../FuelAndLubricants/Forms/FormDrivers.cs | 103 ++++++++++++++ .../FuelAndLubricants/Forms/FormDrivers.resx | 120 +++++++++++++++++ .../Properties/Resources.Designer.cs | 30 +++++ .../Properties/Resources.resx | 9 ++ .../Resources/Добавить.png | Bin 0 -> 9055 bytes .../Resources/Редактировать.png | Bin 0 -> 11070 bytes .../Resources/Удалить.png | Bin 0 -> 12343 bytes 8 files changed, 389 insertions(+) create mode 100644 FuelAndLubricants/FuelAndLubricants/Forms/FormDrivers.Designer.cs create mode 100644 FuelAndLubricants/FuelAndLubricants/Forms/FormDrivers.cs create mode 100644 FuelAndLubricants/FuelAndLubricants/Forms/FormDrivers.resx create mode 100644 FuelAndLubricants/FuelAndLubricants/Resources/Добавить.png create mode 100644 FuelAndLubricants/FuelAndLubricants/Resources/Редактировать.png create mode 100644 FuelAndLubricants/FuelAndLubricants/Resources/Удалить.png diff --git a/FuelAndLubricants/FuelAndLubricants/Forms/FormDrivers.Designer.cs b/FuelAndLubricants/FuelAndLubricants/Forms/FormDrivers.Designer.cs new file mode 100644 index 0000000..91aa935 --- /dev/null +++ b/FuelAndLubricants/FuelAndLubricants/Forms/FormDrivers.Designer.cs @@ -0,0 +1,127 @@ +namespace FuelAndLubricants.Forms +{ + partial class FormDrivers + { + /// + /// 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() + { + panel1 = new Panel(); + buttonDel = new Button(); + buttonUpd = new Button(); + buttonAdd = new Button(); + dataGridView = new DataGridView(); + panel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit(); + SuspendLayout(); + // + // panel1 + // + panel1.Controls.Add(buttonDel); + panel1.Controls.Add(buttonUpd); + panel1.Controls.Add(buttonAdd); + panel1.Dock = DockStyle.Right; + panel1.ImeMode = ImeMode.NoControl; + panel1.Location = new Point(660, 0); + panel1.Name = "panel1"; + panel1.Size = new Size(89, 264); + panel1.TabIndex = 0; + // + // buttonDel + // + buttonDel.BackgroundImage = Properties.Resources.Удалить; + buttonDel.BackgroundImageLayout = ImageLayout.Stretch; + buttonDel.Location = new Point(6, 174); + buttonDel.Name = "buttonDel"; + buttonDel.Size = new Size(75, 75); + buttonDel.TabIndex = 2; + buttonDel.UseVisualStyleBackColor = true; + buttonDel.Click += ButtonDel_Click; + // + // buttonUpd + // + buttonUpd.BackgroundImage = Properties.Resources.Редактировать; + buttonUpd.BackgroundImageLayout = ImageLayout.Stretch; + buttonUpd.Location = new Point(6, 93); + buttonUpd.Name = "buttonUpd"; + buttonUpd.Size = new Size(75, 75); + buttonUpd.TabIndex = 1; + buttonUpd.UseVisualStyleBackColor = true; + buttonUpd.Click += ButtonUpd_Click; + // + // buttonAdd + // + buttonAdd.BackgroundImage = Properties.Resources.Добавить; + buttonAdd.BackgroundImageLayout = ImageLayout.Stretch; + buttonAdd.Location = new Point(6, 12); + buttonAdd.Name = "buttonAdd"; + buttonAdd.Size = new Size(75, 75); + buttonAdd.TabIndex = 0; + buttonAdd.UseVisualStyleBackColor = true; + buttonAdd.Click += ButtonAdd_Click; + // + // dataGridView + // + dataGridView.AllowUserToAddRows = false; + dataGridView.AllowUserToDeleteRows = false; + dataGridView.AllowUserToResizeColumns = false; + dataGridView.AllowUserToResizeRows = false; + dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; + dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridView.Dock = DockStyle.Fill; + dataGridView.Location = new Point(0, 0); + dataGridView.MultiSelect = false; + dataGridView.Name = "dataGridView"; + dataGridView.ReadOnly = true; + dataGridView.RowHeadersVisible = false; + dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect; + dataGridView.Size = new Size(660, 264); + dataGridView.TabIndex = 1; + // + // FormDrivers + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(749, 264); + Controls.Add(dataGridView); + Controls.Add(panel1); + Name = "FormDrivers"; + StartPosition = FormStartPosition.CenterParent; + Text = "Водители"; + Load += FormDrivers_Load; + panel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit(); + ResumeLayout(false); + } + + #endregion + + private Panel panel1; + private Button buttonDel; + private Button buttonUpd; + private Button buttonAdd; + private DataGridView dataGridView; + } +} \ No newline at end of file diff --git a/FuelAndLubricants/FuelAndLubricants/Forms/FormDrivers.cs b/FuelAndLubricants/FuelAndLubricants/Forms/FormDrivers.cs new file mode 100644 index 0000000..4d773e5 --- /dev/null +++ b/FuelAndLubricants/FuelAndLubricants/Forms/FormDrivers.cs @@ -0,0 +1,103 @@ +using FuelAndLubricants.Repositories; +using Unity; + +namespace FuelAndLubricants.Forms +{ + public partial class FormDrivers : Form + { + private readonly IUnityContainer _container; + + private readonly IDriverRepository _driverRepository; + + public FormDrivers(IUnityContainer container, IDriverRepository driverRepository) + { + InitializeComponent(); + _container = container ?? + throw new ArgumentNullException(nameof(container)); + _driverRepository = driverRepository ?? + throw new ArgumentNullException(nameof(driverRepository)); + + } + + private void FormDrivers_Load(object sender, EventArgs e) + { + try + { + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при загрузке", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void ButtonAdd_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при добавлении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + + } + + private void ButtonUpd_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectedRow(out var findId)) + return; + + try + { + var form = _container.Resolve(); + form.Id = findId; + form.ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при изменении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + + } + + private void ButtonDel_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectedRow(out var findId)) + return; + + if (MessageBox.Show("Удалить запись?", "Удаление", MessageBoxButtons.YesNo) != DialogResult.Yes) + return; + + try + { + _driverRepository.DeleteDriver(findId); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при удалении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + + } + + private void LoadList() => dataGridView.DataSource = _driverRepository.ReadDrivers(); + + private bool TryGetIdentifierFromSelectedRow(out int id) + { + id = 0; + if (dataGridView.SelectedRows.Count < 1) + { + MessageBox.Show("Нет выбранной записи", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Driver_ID"].Value); + return true; + } + + } +} diff --git a/FuelAndLubricants/FuelAndLubricants/Forms/FormDrivers.resx b/FuelAndLubricants/FuelAndLubricants/Forms/FormDrivers.resx new file mode 100644 index 0000000..8b2ff64 --- /dev/null +++ b/FuelAndLubricants/FuelAndLubricants/Forms/FormDrivers.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/Properties/Resources.Designer.cs b/FuelAndLubricants/FuelAndLubricants/Properties/Resources.Designer.cs index 6091d21..9d3b463 100644 --- a/FuelAndLubricants/FuelAndLubricants/Properties/Resources.Designer.cs +++ b/FuelAndLubricants/FuelAndLubricants/Properties/Resources.Designer.cs @@ -69,5 +69,35 @@ namespace FuelAndLubricants.Properties { return ((System.Drawing.Bitmap)(obj)); } } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Добавить { + get { + object obj = ResourceManager.GetObject("Добавить", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Редактировать { + get { + object obj = ResourceManager.GetObject("Редактировать", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Удалить { + get { + object obj = ResourceManager.GetObject("Удалить", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } } } diff --git a/FuelAndLubricants/FuelAndLubricants/Properties/Resources.resx b/FuelAndLubricants/FuelAndLubricants/Properties/Resources.resx index 589857c..f20a0d8 100644 --- a/FuelAndLubricants/FuelAndLubricants/Properties/Resources.resx +++ b/FuelAndLubricants/FuelAndLubricants/Properties/Resources.resx @@ -121,4 +121,13 @@ ..\Resources\ГСМ.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Добавить.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Редактировать.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Удалить.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/FuelAndLubricants/FuelAndLubricants/Resources/Добавить.png b/FuelAndLubricants/FuelAndLubricants/Resources/Добавить.png new file mode 100644 index 0000000000000000000000000000000000000000..ecc20e3375e2e7135b68c818c1cd494f03fb7482 GIT binary patch literal 9055 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 literal 0 HcmV?d00001