Реализовал отслеживание изменений на форме редактирования заказа
This commit is contained in:
parent
dbf68b6614
commit
e396435644
@ -35,7 +35,7 @@
|
||||
labelOrderImage = new Label();
|
||||
textBoxImagePath = new TextBox();
|
||||
buttonSelectImage = new Button();
|
||||
list1 = new WinFormsLibrary1.List();
|
||||
listBoxComponentProducts = new WinFormsLibrary1.List();
|
||||
labelOrderProducts = new Label();
|
||||
SuspendLayout();
|
||||
//
|
||||
@ -47,6 +47,7 @@
|
||||
textBoxCustomerFIO.PlaceholderText = "Иванов Иван Иванович";
|
||||
textBoxCustomerFIO.Size = new Size(688, 27);
|
||||
textBoxCustomerFIO.TabIndex = 0;
|
||||
textBoxCustomerFIO.TextChanged += textBoxCustomerFIO_TextChanged;
|
||||
//
|
||||
// labelCustomerFIO
|
||||
//
|
||||
@ -91,6 +92,7 @@
|
||||
textBoxImagePath.Name = "textBoxImagePath";
|
||||
textBoxImagePath.Size = new Size(544, 27);
|
||||
textBoxImagePath.TabIndex = 5;
|
||||
textBoxImagePath.TextChanged += textBoxImagePath_TextChanged;
|
||||
//
|
||||
// buttonSelectImage
|
||||
//
|
||||
@ -103,14 +105,14 @@
|
||||
buttonSelectImage.UseVisualStyleBackColor = true;
|
||||
buttonSelectImage.Click += buttonSelectImage_Click;
|
||||
//
|
||||
// list1
|
||||
// listBoxComponentProducts
|
||||
//
|
||||
list1.Location = new Point(-21, 117);
|
||||
list1.Margin = new Padding(3, 4, 3, 4);
|
||||
list1.Name = "list1";
|
||||
list1.SelectedItem = "";
|
||||
list1.Size = new Size(382, 371);
|
||||
list1.TabIndex = 7;
|
||||
listBoxComponentProducts.Location = new Point(-21, 117);
|
||||
listBoxComponentProducts.Margin = new Padding(3, 4, 3, 4);
|
||||
listBoxComponentProducts.Name = "listBoxComponentProducts";
|
||||
listBoxComponentProducts.SelectedItem = "";
|
||||
listBoxComponentProducts.Size = new Size(382, 371);
|
||||
listBoxComponentProducts.TabIndex = 7;
|
||||
//
|
||||
// labelOrderProducts
|
||||
//
|
||||
@ -127,7 +129,7 @@
|
||||
AutoScaleMode = AutoScaleMode.Font;
|
||||
ClientSize = new Size(833, 382);
|
||||
Controls.Add(labelOrderProducts);
|
||||
Controls.Add(list1);
|
||||
Controls.Add(listBoxComponentProducts);
|
||||
Controls.Add(buttonSelectImage);
|
||||
Controls.Add(textBoxImagePath);
|
||||
Controls.Add(labelOrderImage);
|
||||
@ -137,6 +139,7 @@
|
||||
Controls.Add(textBoxCustomerFIO);
|
||||
Name = "FormOrderEdit";
|
||||
Text = "Заказ";
|
||||
FormClosing += FormOrderEdit_FormClosing;
|
||||
Load += FormOrderEdit_Load;
|
||||
ResumeLayout(false);
|
||||
PerformLayout();
|
||||
@ -151,7 +154,7 @@
|
||||
private Label labelOrderImage;
|
||||
private TextBox textBoxImagePath;
|
||||
private Button buttonSelectImage;
|
||||
private WinFormsLibrary1.List list1;
|
||||
private WinFormsLibrary1.List listBoxComponentProducts;
|
||||
private Label labelOrderProducts;
|
||||
}
|
||||
}
|
@ -1,4 +1,6 @@
|
||||
using InternetShopContracts.LogicsContracts;
|
||||
using DocumentFormat.OpenXml.Bibliography;
|
||||
using InternetShopContracts.DataViewModels;
|
||||
using InternetShopContracts.LogicsContracts;
|
||||
|
||||
namespace InternetShopForms.Orders
|
||||
{
|
||||
@ -6,20 +8,102 @@ namespace InternetShopForms.Orders
|
||||
{
|
||||
private IOrderLogic _orderLogic;
|
||||
public int? OrderId;
|
||||
private bool IsFieldsChanged = false;
|
||||
private string OriginalTitle;
|
||||
public FormOrderEdit(IOrderLogic orderLogic)
|
||||
{
|
||||
InitializeComponent();
|
||||
_orderLogic = orderLogic;
|
||||
OriginalTitle = Text;
|
||||
writeComponentCustomerEmail.ChangeText += textBoxCustomerEmail_Changed;
|
||||
listBoxComponentProducts.SelectedElementChange += listBoxProductsList_Changed;
|
||||
}
|
||||
|
||||
private void FieldChanged()
|
||||
{
|
||||
if (!IsFieldsChanged)
|
||||
{
|
||||
Text = OriginalTitle + "*";
|
||||
}
|
||||
IsFieldsChanged = true;
|
||||
}
|
||||
|
||||
private void buttonSelectImage_Click(object sender, EventArgs e)
|
||||
{
|
||||
// todo
|
||||
using (OpenFileDialog openFileDialog = new OpenFileDialog())
|
||||
{
|
||||
openFileDialog.InitialDirectory = "d:\\tmp";
|
||||
openFileDialog.Filter = "Image files (*.jpg;*.png)|*.jpg;*.png|All files (*.*)|*.*";
|
||||
openFileDialog.FilterIndex = 1;
|
||||
openFileDialog.RestoreDirectory = true;
|
||||
|
||||
if (openFileDialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
string prevText = textBoxImagePath.Text;
|
||||
textBoxImagePath.Text = openFileDialog.FileName;
|
||||
if (prevText != textBoxImagePath.Text)
|
||||
{
|
||||
FieldChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void FormOrderEdit_Load(object sender, EventArgs e)
|
||||
{
|
||||
// todo
|
||||
if (OrderId != null)
|
||||
{
|
||||
LoadData();
|
||||
}
|
||||
}
|
||||
|
||||
private void LoadData()
|
||||
{
|
||||
OrderViewModel? orderViewModel = _orderLogic.ReadElement(
|
||||
new InternetShopContracts.DataSearchModels.OrderSearchModel { Id = OrderId }
|
||||
);
|
||||
if (orderViewModel == null)
|
||||
{
|
||||
MessageBox.Show("Заказ не найден", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return;
|
||||
}
|
||||
textBoxCustomerFIO.Text = orderViewModel.CustomerFIO;
|
||||
textBoxImagePath.Text = orderViewModel.ImagePath;
|
||||
writeComponentCustomerEmail.Text = orderViewModel.CustomerEmail;
|
||||
listBoxComponentProducts.ListSet(orderViewModel.ProductNames.ToArray());
|
||||
}
|
||||
|
||||
private void FormOrderEdit_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
if (IsFieldsChanged)
|
||||
{
|
||||
DialogResult result = MessageBox.Show("Изменения не сохранятся, вы хотите выйти?",
|
||||
"Предупреждение", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
|
||||
if (result == DialogResult.No)
|
||||
{
|
||||
e.Cancel = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void textBoxCustomerFIO_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
FieldChanged();
|
||||
}
|
||||
|
||||
private void textBoxImagePath_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
FieldChanged();
|
||||
}
|
||||
|
||||
private void listBoxProductsList_Changed(object sender, EventArgs e)
|
||||
{
|
||||
FieldChanged();
|
||||
}
|
||||
|
||||
private void textBoxCustomerEmail_Changed(object sender, EventArgs e)
|
||||
{
|
||||
FieldChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -8,6 +8,7 @@ using InternetShopForms.Orders;
|
||||
using InternetShopForms.Products;
|
||||
using InternetShopLogics.Logics;
|
||||
using System.Windows.Forms;
|
||||
using WinFormsLibrary1;
|
||||
|
||||
namespace InternetShopForms
|
||||
{
|
||||
@ -109,13 +110,21 @@ namespace InternetShopForms
|
||||
|
||||
private void EditOrder()
|
||||
{
|
||||
OrderViewModel? selectedOrder = null;
|
||||
try
|
||||
{
|
||||
selectedOrder = tableComponent.GetSelectedObject<OrderViewModel>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show("Âûáåðèòå ñòðîêó");
|
||||
return;
|
||||
}
|
||||
var service = Program.ServiceProvider?.GetService(typeof(FormOrderEdit));
|
||||
if (!(service is FormOrderEdit form))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var selectedOrder = tableComponent.GetSelectedObject<OrderViewModel>();
|
||||
form.OrderId = Convert.ToInt32(selectedOrder.Id);
|
||||
if (form.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
@ -127,26 +136,32 @@ namespace InternetShopForms
|
||||
{
|
||||
try
|
||||
{
|
||||
var selectedOrder = tableComponent.GetSelectedObject<OrderViewModel>();
|
||||
|
||||
if (selectedOrder != null)
|
||||
OrderViewModel? selectedOrder = null;
|
||||
try
|
||||
{
|
||||
var result = MessageBox.Show(
|
||||
"Âû õîòèòå óäàëèòü çàêàç?",
|
||||
"Ïðåäóïðåæäåíèå",
|
||||
MessageBoxButtons.YesNo,
|
||||
MessageBoxIcon.Question
|
||||
);
|
||||
selectedOrder = tableComponent.GetSelectedObject<OrderViewModel>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show("Âûáåðèòå ñòðîêó");
|
||||
return;
|
||||
}
|
||||
|
||||
if (result == DialogResult.Yes)
|
||||
{
|
||||
_orderLogic.Delete(new OrderSearchModel { Id = selectedOrder.Id });
|
||||
MessageBox.Show("Çàêàç óäàëåí");
|
||||
LoadData();
|
||||
}
|
||||
var result = MessageBox.Show(
|
||||
"Âû õîòèòå óäàëèòü çàêàç?",
|
||||
"Ïðåäóïðåæäåíèå",
|
||||
MessageBoxButtons.YesNo,
|
||||
MessageBoxIcon.Question
|
||||
);
|
||||
|
||||
if (result == DialogResult.Yes)
|
||||
{
|
||||
_orderLogic.Delete(new OrderSearchModel { Id = selectedOrder.Id });
|
||||
MessageBox.Show("Çàêàç óäàëåí");
|
||||
LoadData();
|
||||
}
|
||||
LoadData();
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user