First form common.

This commit is contained in:
Programmist73 2023-05-10 13:13:06 +04:00
parent fc980a2b47
commit b475dac5d5
4 changed files with 215 additions and 162 deletions

View File

@ -42,7 +42,8 @@ namespace TransportCompany
{ {
dataGridView.DataSource = list; dataGridView.DataSource = list;
dataGridView.Columns["Id"].Visible = false; dataGridView.Columns["Id"].Visible = false;
dataGridView.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; dataGridView.Columns["MongoId"].Visible = false;
dataGridView.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
} }
_logger.LogInformation("Загрузка типов грузов"); _logger.LogInformation("Загрузка типов грузов");
@ -78,6 +79,8 @@ namespace TransportCompany
{ {
form.Id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); form.Id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value);
form.MongoId = Convert.ToString(dataGridView.SelectedRows[0].Cells["MongoId"].Value);
if (form.ShowDialog() == DialogResult.OK) if (form.ShowDialog() == DialogResult.OK)
{ {
LoadData(); LoadData();
@ -95,13 +98,16 @@ namespace TransportCompany
{ {
int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value);
string _mongoId = Convert.ToString(dataGridView.SelectedRows[0].Cells["MongoId"].Value);
_logger.LogInformation("Удаление типа груза"); _logger.LogInformation("Удаление типа груза");
try try
{ {
if (!_logicC.Delete(new CargoBindingModel if (!_logicC.Delete(new CargoBindingModel
{ {
Id = id Id = id,
MongoId = _mongoId
})) }))
{ {
throw new Exception("Ошибка при удалении. Дополнительная информация в логах."); throw new Exception("Ошибка при удалении. Дополнительная информация в логах.");

View File

@ -22,8 +22,12 @@ namespace TransportCompany
private int? _id; private int? _id;
private string? _mongoId;
public int Id { set { _id = value; } } public int Id { set { _id = value; } }
public string MongoId { set { _mongoId = value; } }
public FormCreateCargo(ILogger<FormCreateCargo> logger, ICargoLogic logicCg) public FormCreateCargo(ILogger<FormCreateCargo> logger, ICargoLogic logicCg)
{ {
InitializeComponent(); InitializeComponent();
@ -35,7 +39,27 @@ namespace TransportCompany
private void FormCreateCargo_Load(object sender, EventArgs e) private void FormCreateCargo_Load(object sender, EventArgs e)
{ {
//проверка на заполнение поля id. Если оно заполнено, то пробуем получить запись и выести её на экран //проверка на заполнение поля id. Если оно заполнено, то пробуем получить запись и выести её на экран
if (_id.HasValue) if (!string.IsNullOrEmpty(_mongoId))
{
try
{
_logger.LogInformation("Получение типа груза");
var view = _logicCg.ReadElement(new CargoSearchModel { MongoId = _mongoId });
if (view != null)
{
textBoxCargo.Text = view.TypeCargo;
}
}
catch (Exception ex)
{
_logger.LogError(ex, "Ошибка получения типа груза");
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else if (_id.HasValue)
{ {
try try
{ {
@ -71,7 +95,8 @@ namespace TransportCompany
{ {
var model = new CargoBindingModel var model = new CargoBindingModel
{ {
Id = 0, Id = _id ?? 0,
MongoId = _mongoId,
TypeCargo = textBoxCargo.Text TypeCargo = textBoxCargo.Text
}; };
@ -79,7 +104,7 @@ namespace TransportCompany
if (!operationResult) if (!operationResult)
{ {
throw new Exception("Ошибка при сохранеии. Дополнительная информация в логах."); throw new Exception("Ошибка при сохранении. Дополнительная информация в логах.");
} }
MessageBox.Show("Сохранение прошло успешно", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show("Сохранение прошло успешно", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information);

View File

@ -1,96 +1,118 @@
namespace TransportCompany namespace TransportCompany
{ {
partial class FormCreateTransport partial class FormCreateTransport
{ {
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.
/// </summary> /// </summary>
private System.ComponentModel.IContainer components = null; private System.ComponentModel.IContainer components = null;
/// <summary> /// <summary>
/// Clean up any resources being used. /// Clean up any resources being used.
/// </summary> /// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
{ {
if (disposing && (components != null)) if (disposing && (components != null))
{ {
components.Dispose(); components.Dispose();
} }
base.Dispose(disposing); base.Dispose(disposing);
} }
#region Windows Form Designer generated code #region Windows Form Designer generated code
/// <summary> /// <summary>
/// Required method for Designer support - do not modify /// Required method for Designer support - do not modify
/// the contents of this method with the code editor. /// the contents of this method with the code editor.
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
label1 = new Label(); label1 = new Label();
textBoxTransport = new TextBox(); textBoxTransport = new TextBox();
buttonCreate = new Button(); buttonCreate = new Button();
buttonCancel = new Button(); buttonCancel = new Button();
SuspendLayout(); label2 = new Label();
// textBoxTypeTransportation = new TextBox();
// label1 SuspendLayout();
// //
label1.AutoSize = true; // label1
label1.Location = new Point(36, 43); //
label1.Name = "label1"; label1.AutoSize = true;
label1.Size = new Size(122, 20); label1.Location = new Point(36, 43);
label1.TabIndex = 0; label1.Name = "label1";
label1.Text = "Тип транспорта:"; label1.Size = new Size(122, 20);
// label1.TabIndex = 0;
// textBoxTransport label1.Text = "Тип транспорта:";
// //
textBoxTransport.Location = new Point(215, 40); // textBoxTransport
textBoxTransport.Name = "textBoxTransport"; //
textBoxTransport.Size = new Size(254, 27); textBoxTransport.Location = new Point(215, 40);
textBoxTransport.TabIndex = 1; textBoxTransport.Name = "textBoxTransport";
// textBoxTransport.Size = new Size(254, 27);
// buttonCreate textBoxTransport.TabIndex = 1;
// //
buttonCreate.Location = new Point(262, 92); // buttonCreate
buttonCreate.Name = "buttonCreate"; //
buttonCreate.Size = new Size(94, 29); buttonCreate.Location = new Point(262, 164);
buttonCreate.TabIndex = 2; buttonCreate.Name = "buttonCreate";
buttonCreate.Text = "Создать"; buttonCreate.Size = new Size(94, 29);
buttonCreate.UseVisualStyleBackColor = true; buttonCreate.TabIndex = 2;
buttonCreate.Click += ButtonCreate_Click; buttonCreate.Text = "Создать";
// buttonCreate.UseVisualStyleBackColor = true;
// buttonCancel buttonCreate.Click += ButtonCreate_Click;
// //
buttonCancel.Location = new Point(375, 92); // buttonCancel
buttonCancel.Name = "buttonCancel"; //
buttonCancel.Size = new Size(94, 29); buttonCancel.Location = new Point(375, 164);
buttonCancel.TabIndex = 3; buttonCancel.Name = "buttonCancel";
buttonCancel.Text = "Отмена"; buttonCancel.Size = new Size(94, 29);
buttonCancel.UseVisualStyleBackColor = true; buttonCancel.TabIndex = 3;
buttonCancel.Click += ButtonCancel_Click; buttonCancel.Text = "Отмена";
// buttonCancel.UseVisualStyleBackColor = true;
// FormCreateTransport buttonCancel.Click += ButtonCancel_Click;
// //
AutoScaleDimensions = new SizeF(8F, 20F); // label2
AutoScaleMode = AutoScaleMode.Font; //
ClientSize = new Size(527, 155); label2.AutoSize = true;
Controls.Add(buttonCancel); label2.Location = new Point(36, 112);
Controls.Add(buttonCreate); label2.Name = "label2";
Controls.Add(textBoxTransport); label2.Size = new Size(116, 20);
Controls.Add(label1); label2.TabIndex = 4;
Name = "FormCreateTransport"; label2.Text = "Тип перевозки:";
Text = "Транспорт"; //
Load += FormCreateTransport_Load; // textBoxTypeTransportation
ResumeLayout(false); //
PerformLayout(); textBoxTypeTransportation.Location = new Point(215, 109);
} textBoxTypeTransportation.Name = "textBoxTypeTransportation";
textBoxTypeTransportation.Size = new Size(254, 27);
textBoxTypeTransportation.TabIndex = 5;
//
// FormCreateTransport
//
AutoScaleDimensions = new SizeF(8F, 20F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(527, 215);
Controls.Add(textBoxTypeTransportation);
Controls.Add(label2);
Controls.Add(buttonCancel);
Controls.Add(buttonCreate);
Controls.Add(textBoxTransport);
Controls.Add(label1);
Name = "FormCreateTransport";
Text = "Транспорт";
Load += FormCreateTransport_Load;
ResumeLayout(false);
PerformLayout();
}
#endregion #endregion
private Label label1; private Label label1;
private TextBox textBoxTransport; private TextBox textBoxTransport;
private Button buttonCreate; private Button buttonCreate;
private Button buttonCancel; private Button buttonCancel;
} private Label label2;
private TextBox textBoxTypeTransportation;
}
} }

View File

@ -14,91 +14,91 @@ using TransportCompanyContracts.SearchModels;
namespace TransportCompany namespace TransportCompany
{ {
public partial class FormCreateTransport : Form public partial class FormCreateTransport : Form
{ {
private readonly ILogger _logger; private readonly ILogger _logger;
private readonly ITransportLogic _logicT; private readonly ITransportLogic _logicT;
private int? _id; private int? _id;
public int Id { set { _id = value; } } public int Id { set { _id = value; } }
public FormCreateTransport(ILogger<FormCreateTransport> logger, ITransportLogic logicT) public FormCreateTransport(ILogger<FormCreateTransport> logger, ITransportLogic logicT)
{ {
InitializeComponent(); InitializeComponent();
_logger = logger; _logger = logger;
_logicT = logicT; _logicT = logicT;
} }
private void FormCreateTransport_Load(object sender, EventArgs e) private void FormCreateTransport_Load(object sender, EventArgs e)
{ {
//проверка на заполнение поля id. Если оно заполнено, то пробуем получить запись и выести её на экран //проверка на заполнение поля id. Если оно заполнено, то пробуем получить запись и выести её на экран
if (_id.HasValue) if (_id.HasValue)
{ {
try try
{ {
_logger.LogInformation("Получение транспорта"); _logger.LogInformation("Получение транспорта");
var view = _logicT.ReadElement(new TransportSearchModel { Id = _id.Value }); var view = _logicT.ReadElement(new TransportSearchModel { Id = _id.Value });
if (view != null) if (view != null)
{ {
textBoxTransport.Text = view.Tranport; textBoxTransport.Text = view.Tranport;
} }
} }
catch (Exception ex) catch (Exception ex)
{ {
_logger.LogError(ex, "Ошибка получения транспорта"); _logger.LogError(ex, "Ошибка получения транспорта");
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }
} }
private void ButtonCreate_Click(object sender, EventArgs e) private void ButtonCreate_Click(object sender, EventArgs e)
{ {
if (string.IsNullOrEmpty(textBoxTransport.Text)) if (string.IsNullOrEmpty(textBoxTransport.Text))
{ {
MessageBox.Show("Введите тип транспорта", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show("Введите тип транспорта", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
return; return;
} }
_logger.LogInformation("Добавление транспорта"); _logger.LogInformation("Добавление транспорта");
try try
{ {
var model = new TransportBindingModel var model = new TransportBindingModel
{ {
Id = 0, Id = 0,
Tranport = textBoxTransport.Text, Tranport = textBoxTransport.Text,
}; };
var operationResult = _id.HasValue ? _logicT.Update(model) : _logicT.Create(model); var operationResult = _id.HasValue ? _logicT.Update(model) : _logicT.Create(model);
if (!operationResult) if (!operationResult)
{ {
throw new Exception("Ошибка при сохранеии. Дополнительная информация в логах."); throw new Exception("Ошибка при сохранеии. Дополнительная информация в логах.");
} }
MessageBox.Show("Сохранение прошло успешно", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show("Сохранение прошло успешно", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information);
DialogResult = DialogResult.OK; DialogResult = DialogResult.OK;
Close(); Close();
} }
catch (Exception ex) catch (Exception ex)
{ {
_logger.LogError(ex, "Ошибка сохранения транспорта"); _logger.LogError(ex, "Ошибка сохранения транспорта");
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }
private void ButtonCancel_Click(object sender, EventArgs e) private void ButtonCancel_Click(object sender, EventArgs e)
{ {
DialogResult = DialogResult.Cancel; DialogResult = DialogResult.Cancel;
Close(); Close();
} }
} }
} }