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; 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) { MessageBox.Show(ex.Message); } } private void saveButton_Click(object sender, RoutedEventArgs e) { int amount = int.Parse(amountToChange.Text); 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 cancelButton_Click(object sender, RoutedEventArgs e) { this.Close(); } } }