//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated from a template.
//
//     Manual changes to this file may cause unexpected behavior in your application.
//     Manual changes to this file will be overwritten if the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace DataSourceSamples
{
    using System;
    using System.Collections.Generic;
    using System.Collections.ObjectModel;
    using System.ComponentModel;
    
    public partial class Product : INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;
    	protected void OnPropertyChanged(string propertyName)
        {
            var handler = PropertyChanged;
            if (handler != null)
                handler(this, new PropertyChangedEventArgs(propertyName));
        }
    
        public Product()
        {
            this.Order_Details = new ObservableCollection<Order_Detail>();
        }
    
        int _ProductID;
        public int ProductID 
        {
            get { return _ProductID; }
            set
            {
                _ProductID = value;
                OnPropertyChanged("ProductID");
            }
        }
        string _ProductName;
        public string ProductName 
        {
            get { return _ProductName; }
            set
            {
                _ProductName = value;
                OnPropertyChanged("ProductName");
            }
        }
        Nullable<int> _SupplierID;
        public Nullable<int> SupplierID 
        {
            get { return _SupplierID; }
            set
            {
                _SupplierID = value;
                OnPropertyChanged("SupplierID");
            }
        }
        Nullable<int> _CategoryID;
        public Nullable<int> CategoryID 
        {
            get { return _CategoryID; }
            set
            {
                _CategoryID = value;
                OnPropertyChanged("CategoryID");
            }
        }
        string _QuantityPerUnit;
        public string QuantityPerUnit 
        {
            get { return _QuantityPerUnit; }
            set
            {
                _QuantityPerUnit = value;
                OnPropertyChanged("QuantityPerUnit");
            }
        }
        Nullable<decimal> _UnitPrice;
        public Nullable<decimal> UnitPrice 
        {
            get { return _UnitPrice; }
            set
            {
                _UnitPrice = value;
                OnPropertyChanged("UnitPrice");
            }
        }
        Nullable<short> _UnitsInStock;
        public Nullable<short> UnitsInStock 
        {
            get { return _UnitsInStock; }
            set
            {
                _UnitsInStock = value;
                OnPropertyChanged("UnitsInStock");
            }
        }
        Nullable<short> _UnitsOnOrder;
        public Nullable<short> UnitsOnOrder 
        {
            get { return _UnitsOnOrder; }
            set
            {
                _UnitsOnOrder = value;
                OnPropertyChanged("UnitsOnOrder");
            }
        }
        Nullable<short> _ReorderLevel;
        public Nullable<short> ReorderLevel 
        {
            get { return _ReorderLevel; }
            set
            {
                _ReorderLevel = value;
                OnPropertyChanged("ReorderLevel");
            }
        }
        bool _Discontinued;
        public bool Discontinued 
        {
            get { return _Discontinued; }
            set
            {
                _Discontinued = value;
                OnPropertyChanged("Discontinued");
            }
        }
    
        public virtual Category Category { get; set; }
        public virtual ObservableCollection<Order_Detail> Order_Details { get; set; }
        public virtual Supplier Supplier { get; set; }
    }
}
