forked from s434786/DINO_SCRUM
103 lines
2.9 KiB
C#
103 lines
2.9 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;
|
|
|
|
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;
|
|
|
|
fruitName.Text = fruit.Name;
|
|
|
|
messageBox.Text = String.Format("Jaką ilość produktu chcesz {0} do magazynu?", (type > 0) ? "dodać":"odjąć");
|
|
|
|
try
|
|
{
|
|
fruitImage.Source = new BitmapImage(new Uri(fruit.ImageLink));
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
private void saveButton_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
int amount = 0;
|
|
int maxAmount = 2500;
|
|
try
|
|
{
|
|
amount = int.Parse(amountToChange.Text);
|
|
if (amount < 0)
|
|
{
|
|
MessageBox.Show("Podana wartość jest nieprawidłowa, proszę podać wartość dodatnią", "Nieprawidłowa wartość", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
amountToChange.Text = "0";
|
|
return;
|
|
}
|
|
|
|
} catch (Exception ex) {
|
|
throw new NotImplementedException(ex.Message);
|
|
}
|
|
|
|
if ((quantity + amount > maxAmount) && amount >= 0 && type == 1)
|
|
{
|
|
MessageBox.Show("Przepełnienie magazynu", "Przepełnienie, maksymalnie 2500 sztuk", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
amountToChange.Text = "0";
|
|
return;
|
|
|
|
} else if ((quantity - amount < 0) && amount >= 0 && type == -1)
|
|
{
|
|
MessageBox.Show("Niedobór magazynu", "Ilość przedmiotów nie możę być mniejsza niz 0", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
amountToChange.Text = "0";
|
|
return;
|
|
} else
|
|
{
|
|
SaveChangingAmountOfFruits.Invoke((type > 0) ? amount : -amount);
|
|
this.Close();
|
|
}
|
|
|
|
}
|
|
|
|
private void cancelButton_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
}
|
|
}
|