1
0
forked from s434786/DINO_SCRUM
DINO_SCRUM/Magazyn_Client/Magazyn/Windows/AmountWindow.xaml.cs
2019-01-21 19:48:10 +01:00

99 lines
2.8 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, maxymalnie 2500 sztuk", MessageBoxButton.OK, MessageBoxImage.Error);
} 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);
} else
{
SaveChangingAmountOfFruits.Invoke((type > 0) ? amount : -amount);
}
this.Close();
}
private void cancelButton_Click(object sender, RoutedEventArgs e)
{
this.Close();
}
}
}