using System;

namespace Gremlin.GremlinData.EntityClasses
{
    public class Product : IMetadata
    {
        //primary key:
        public uint ProductId { get; set; }

        //standard properties:
        public DateTime DataCreationDate { get; set; }
        public DateTime DataModificationDate { get; set; }
        public DateTime DataValidFrom { get; set; }
        public DateTime DataValidUntil { get; set; }
        public string DataModificationByUser { get; set; }
        public uint DataVersionNumber { get; set; }
        public string DataVersionComment { get; set; }
        public string DataStatus { get; set; }

        //navigation properties:
        public CustomDescription CustomDescription { get; set; }
        public ProductLine ProductLine { get; set; }

        //class properties = Agilent-specific properties:
        public string ProductNumber { get; set; }
        public string OptionNumber { get; set; }
        public string SapShortDescription { get; set; }
        public string SapLongDescription { get; set; }
        public float Weight { get; set; }
        public string ProductStatus { get; set; }
        public DateTime IntroductionDate { get; set; }
        public decimal ListPrice { get; set; }
        public bool HasBreakPrices { get; set; }
        public int BreakRangeFrom { get; set; }
        public int BreakRangeTo { get; set; }


        //Constructors
        public Product()
        {
            //ProductLine = new ProductLine();
        }
    }


}
