using System.Collections.Generic; using Tanshu.Accounts.Contracts; namespace Tanshu.Accounts.Entities { public class Inventory { public Inventory() { // ReSharper disable DoNotCallOverridableMethodsInConstructor InventoryModifier = new List(); // ReSharper restore DoNotCallOverridableMethodsInConstructor } public virtual int InventoryID { get; set; } [NotNull] public virtual Kot Kot { get; set; } [NotNull] public virtual Product Product { get; set; } public virtual decimal Quantity { get; set; } public virtual decimal Rate { get; set; } public virtual decimal Tax { get; set; } public virtual decimal Discount { get; set; } public virtual decimal ServiceCharge { get; set; } [Cascade] public virtual IList InventoryModifier { get; set; } [Formula(Formula = "Quantity * Rate * (1 - Discount) * (1 + ServiceCharge) * (1 + Tax)")] public virtual decimal Amount { get { return Quantity * Rate * (1 + Tax) * (1 + ServiceCharge) * (1 - Discount); } private set { } } } }