готова к сдаче
This commit is contained in:
parent
194d4f03e4
commit
e841730166
@ -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;
|
||||
}
|
||||
}
|
@ -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)
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user