122 lines
3.4 KiB
C#
122 lines
3.4 KiB
C#
using Magazyn.DataModels;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Data;
|
|
using System.Windows.Documents;
|
|
using System.Windows.Input;
|
|
using System.Windows.Media;
|
|
using System.Windows.Media.Imaging;
|
|
using System.Windows.Shapes;
|
|
|
|
namespace Magazyn.Windows
|
|
{
|
|
/// <summary>
|
|
/// Interaction logic for AmountWindow.xaml
|
|
/// </summary>
|
|
///
|
|
|
|
public partial class AmountWindow : Window
|
|
{
|
|
Fruit fruit;
|
|
int type;
|
|
int quantity;
|
|
|
|
public delegate void ChangingAmountOfFruits(int amountChanged);
|
|
public event ChangingAmountOfFruits SaveChangingAmountOfFruits;
|
|
|
|
bool focusLock = false;
|
|
|
|
public AmountWindow(Fruit fruit, int type, int quantity)
|
|
{
|
|
InitializeComponent();
|
|
this.fruit = fruit;
|
|
this.type = type;
|
|
|
|
this.quantity = quantity;
|
|
|
|
if (type == -1)
|
|
this.Title = "Zmniejsz ilość: " + fruit.Name;
|
|
else
|
|
this.Title = "Zwiększ ilość: " + fruit.Name;
|
|
|
|
fruitName.Text = fruit.Name;
|
|
|
|
messageBox.Text = String.Format("Jaką ilość produktu chcesz {0} do magazynu?", (type > 0) ? "dodać" : "odjąć");
|
|
|
|
try
|
|
{
|
|
fruitImage.Source = fruit.ImageSource;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message);
|
|
}
|
|
|
|
this.Loaded += AmountWindowLoaded;
|
|
|
|
}
|
|
|
|
private void AmountWindowLoaded(object sender, RoutedEventArgs e)
|
|
{
|
|
amountToChange.Focus();
|
|
}
|
|
|
|
private void SendNewQuantity()
|
|
{
|
|
int amount;
|
|
try
|
|
{
|
|
amount = int.Parse(amountToChange.Text);
|
|
}
|
|
catch
|
|
{
|
|
ErrorWindow window = new ErrorWindow("Podana wartość jest nieprawidłowa, proszę podać liczbę dodatnią.");
|
|
window.Owner = Application.Current.MainWindow;
|
|
window.ShowDialog();
|
|
amountToChange.Text = "0";
|
|
return;
|
|
}
|
|
|
|
try
|
|
{
|
|
if (amount < 0)
|
|
{
|
|
ErrorWindow window = new ErrorWindow("Podana wartość jest nieprawidłowa, proszę podać wartość dodatnią.");
|
|
window.Owner = Application.Current.MainWindow;
|
|
window.ShowDialog();
|
|
amountToChange.Text = "0";
|
|
return;
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new NotImplementedException(ex.Message);
|
|
}
|
|
|
|
SaveChangingAmountOfFruits.Invoke((type > 0) ? amount : -amount);
|
|
this.Close();
|
|
}
|
|
|
|
private void saveButton_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
SendNewQuantity();
|
|
}
|
|
|
|
private void cancelButton_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
private void Window_KeyDown(object sender, KeyEventArgs e)
|
|
{
|
|
if (e.Key == Key.Return) SendNewQuantity();
|
|
}
|
|
}
|
|
}
|