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 { /// /// Interaction logic for AmountWindow.xaml /// /// 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; } 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(); } } }