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;

		public delegate void ChangingAmountOfFruits(int amountChanged);
		public event ChangingAmountOfFruits SaveChangingAmountOfFruits;

		public AmountWindow(Fruit fruit, int type)
		{
			InitializeComponent();
			this.fruit = fruit;
			this.type = type;

			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;

			try
			{
				amount = int.Parse(amountToChange.Text);
			} 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();
		}
	}
}