using Microsoft.Phone.Controls;
using PhoneApp.NavigateToView.Core.Views;
using PhoneApp.NavigateToView.Models;
using PhoneApp.NavigateToView.Models.NavigationParameters.Products;

namespace PhoneApp.NavigateToView.Views.Products
{
    [ViewInfos("/Views/Products/ProductEditView.xaml")]
    public partial class ProductEditView : PhoneApplicationPage, IView<EditProductParameters>
    {
        private EditProductParameters navigationParameters;
        public EditProductParameters NavigationParameters
        {
            get
            {
                return this.navigationParameters;
            }
            set
            {
                this.navigationParameters = value;
            }
        }

        public ProductEditView()
        {
            InitializeComponent();
        }

        protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            switch (this.NavigationParameters.Mode)
            {
                case EditProductMode.Create:
                    this.DataContext = new Product { Name = "New product", Description = "New product description" };
                    break;
                case EditProductMode.Edit:
                    this.DataContext = this.NavigationParameters.Product;
                    break;
            }
        }
    }
}