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