diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorageDetail.Designer.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorageDetail.Designer.cs index 3d547e3..1a4a782 100644 --- a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorageDetail.Designer.cs +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorageDetail.Designer.cs @@ -35,7 +35,9 @@ label3 = new Label(); numericUpDown1 = new NumericUpDown(); dateTimePicker1 = new DateTimePicker(); - textBox1 = new TextBox(); + comboBoxAddress = new ComboBox(); + label4 = new Label(); + comboBoxDetail = new ComboBox(); ((System.ComponentModel.ISupportInitialize)numericUpDown1).BeginInit(); SuspendLayout(); // @@ -100,19 +102,41 @@ dateTimePicker1.Size = new Size(187, 25); dateTimePicker1.TabIndex = 6; // - // textBox1 + // comboBoxAddress // - textBox1.Location = new Point(127, 15); - textBox1.Name = "textBox1"; - textBox1.Size = new Size(175, 25); - textBox1.TabIndex = 7; + comboBoxAddress.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxAddress.FormattingEnabled = true; + comboBoxAddress.Location = new Point(119, 148); + comboBoxAddress.Name = "comboBoxAddress"; + comboBoxAddress.Size = new Size(183, 25); + comboBoxAddress.TabIndex = 8; + // + // label4 + // + label4.AutoSize = true; + label4.Location = new Point(15, 151); + label4.Name = "label4"; + label4.Size = new Size(91, 17); + label4.TabIndex = 9; + label4.Text = "Адрес склада:"; + // + // comboBoxDetail + // + comboBoxDetail.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxDetail.FormattingEnabled = true; + comboBoxDetail.Location = new Point(119, 23); + comboBoxDetail.Name = "comboBoxDetail"; + comboBoxDetail.Size = new Size(183, 25); + comboBoxDetail.TabIndex = 10; // // FormStorageDetail // AutoScaleDimensions = new SizeF(7F, 17F); AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(393, 435); - Controls.Add(textBox1); + ClientSize = new Size(393, 283); + Controls.Add(comboBoxDetail); + Controls.Add(label4); + Controls.Add(comboBoxAddress); Controls.Add(dateTimePicker1); Controls.Add(numericUpDown1); Controls.Add(label3); @@ -136,6 +160,8 @@ private Label label3; private NumericUpDown numericUpDown1; private DateTimePicker dateTimePicker1; - private TextBox textBox1; + private ComboBox comboBoxAddress; + private Label label4; + private ComboBox comboBoxDetail; } } \ No newline at end of file diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorageDetail.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorageDetail.cs index abb6499..ef33882 100644 --- a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorageDetail.cs +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorageDetail.cs @@ -16,16 +16,6 @@ namespace ProjectRepairCompany.Forms { private readonly IStorageDetailRepository _storageDetailRepository; private readonly IDetailRepository _detailRepository; - private int? _storageId; // ID записи для редактирования - - public int Id - { - set - { - _storageId = value; - LoadData(); - } - } public FormStorageDetail(IStorageDetailRepository storageDetailRepository, IDetailRepository detailRepository) { @@ -34,67 +24,15 @@ namespace ProjectRepairCompany.Forms _detailRepository = detailRepository ?? throw new ArgumentNullException(nameof(detailRepository)); } - private void FormStorageDetailAdd_Load(object sender, EventArgs e) - { - if (_storageId.HasValue) - { - LoadData(); - } - } - - private void LoadData() - { - try - { - if (!_storageId.HasValue) - { - return; - } - - var storageDetail = _storageDetailRepository.ReadStorageDetails() - .FirstOrDefault(x => x.StorageId == _storageId.Value); - if (storageDetail == null) - { - throw new Exception("Запись не найдена."); - } - - textBox1.Text = _detailRepository.ReadDetailById(storageDetail.DetailId)?.NameDetail; - numericUpDown1.Value = storageDetail.DetailCount; - dateTimePicker1.Value = storageDetail.SupplyDate; - } - catch (Exception ex) - { - MessageBox.Show(ex.Message, "Ошибка загрузки данных", MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - private void ButtonSave_Click(object sender, EventArgs e) { try { - // Проверка на заполненность данных - if (string.IsNullOrWhiteSpace(textBox1.Text) || numericUpDown1.Value <= 0) + if (comboBoxDetail.SelectedIndex < 0 || comboBoxAddress.SelectedIndex < 0 || Convert.ToInt32(numericUpDown1.Value) == 0) { - throw new Exception("Необходимо заполнить все поля."); + throw new Exception("Заполни все поля"); } - - // Получение данных из формы - var detail = _detailRepository.ReadDetails() - .FirstOrDefault(d => d.NameDetail == textBox1.Text); - - if (detail == null) - { - throw new Exception("Деталь с указанным названием не найдена."); - } - - var storageDetail = StorageDetail.CreateOperation( - storageId: _storageId ?? 0, - detailId: detail.Id, - detailCount: (int)numericUpDown1.Value, - supplyDate: dateTimePicker1.Value - ); - - _storageDetailRepository.CreateStorageDetail(storageDetail); + _storageDetailRepository.CreateStorageDetail(StorageDetail.CreateOperation((int)comboBoxAddress.SelectedValue!, (int)comboBoxDetail.SelectedValue!, Convert.ToInt32(numericUpDown1.Value), dateTimePicker1.Value)); Close(); } catch (Exception ex) diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorageDetails.Designer.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorageDetails.Designer.cs index 32b0488..0b5c85d 100644 --- a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorageDetails.Designer.cs +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorageDetails.Designer.cs @@ -73,15 +73,16 @@ dataGridView.Size = new Size(607, 450); dataGridView.TabIndex = 4; // - // FormStorageDetail + // FormStorageDetails // AutoScaleDimensions = new SizeF(7F, 17F); AutoScaleMode = AutoScaleMode.Font; ClientSize = new Size(800, 450); Controls.Add(dataGridView); Controls.Add(panel1); - Name = "FormStorageDetail"; + Name = "FormStorageDetails"; Text = "Пополнение деталей"; + Load += FormStorageDetail_Load; panel1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit(); ResumeLayout(false);