| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 | 
							- using System;
 
- using InABox.Core;
 
- using PRSClasses;
 
- namespace Comal.Classes
 
- {
 
-     [UserTracking(typeof(Product))]
 
-     public class SupplierProduct : StockEntity, IPersistent, IRemotable, ILicense<ProductManagementLicense>, IExportable, IImportable, IManyToMany<Supplier, Product>, IJobMaterial
 
-     {
 
-         private bool bChanging;
 
-         [RequiredColumn]
 
-         [EditorSequence(0)]
 
-         public SupplierLink SupplierLink { get; set; }
 
-         [EntityRelationship(DeleteAction.SetNull)]
 
-         [NullEditor]
 
-         [Obsolete("Replaced with Product", true)]
 
-         public ProductLink ProductLink
 
-         {
 
-             get { return Product; }
 
-             set { Product = value; }
 
-         }
 
-         
 
-         [EntityRelationship(DeleteAction.SetNull)]
 
-         [EditorSequence(1)]
 
-         public override ProductLink Product { get; set; }
 
-         
 
-         [EditorSequence(2)]
 
-         [RequiredColumn]
 
-         [DimensionsEditor(typeof(StockDimensions))]
 
-         public override StockDimensions Dimensions { get; set; }
 
-         
 
-         [EntityRelationship(DeleteAction.SetNull)]
 
-         [EditorSequence(3)]
 
-         public ProductStyleLink Style { get; set; }
 
-         
 
-         [CodeEditor(Editable = Editable.Enabled)]
 
-         [EditorSequence(4)]
 
-         public string SupplierCode { get; set; }
 
-         [TextBoxEditor]
 
-         [EditorSequence(5)]
 
-         public string SupplierDescription { get; set; }
 
-         [TextBoxEditor]
 
-         [EditorSequence(6)]
 
-         public string SupplierCategory { get; set; }
 
-         
 
-         [EditorSequence(7)]
 
-         public JobLink Job { get; set; }
 
-         
 
-         [CurrencyEditor(Visible = Visible.Optional)]
 
-         [EditorSequence(8)]
 
-         public double ForeignCurrencyPrice { get; set; }
 
-         
 
-         [CurrencyEditor(Visible = Visible.Optional)]
 
-         [EditorSequence(9)]
 
-         public double TradePrice { get; set; }
 
-         [DoubleEditor(Visible = Visible.Optional)]
 
-         [EditorSequence(10)]
 
-         public double Discount { get; set; }
 
-         [CurrencyEditor(Visible = Visible.Optional, Editable = Editable.Disabled)]
 
-         [EditorSequence(11)]
 
-         public double CostPrice { get; set; }
 
-         [EditorSequence(12)]
 
-         public TaxCodeLink TaxCode { get; set; }
 
-         [URLEditor]
 
-         [EditorSequence(13)]
 
-         public string URL { get; set; }
 
-         [TimestampEditor]
 
-         [EditorSequence(14)]
 
-         public DateTime Expired { get; set; }
 
-         
 
-         static SupplierProduct()
 
-         {
 
-             LinkedProperties.Register<SupplierProduct, ProductLink, String>(x => x.Product, x => x.Code, x => x.SupplierCode);
 
-             LinkedProperties.Register<SupplierProduct, ProductLink, String>(x => x.Product, x => x.Name, x => x.SupplierDescription);
 
-             StockEntity.LinkStockDimensions<SupplierProduct>();
 
-         }
 
-         protected override void DoPropertyChanged(string name, object? before, object? after)
 
-         {
 
-             base.DoPropertyChanged(name, before, after);
 
-             if (bChanging)
 
-                 return;
 
-             bChanging = true;
 
-             if (name.Equals(nameof(ForeignCurrencyPrice)) && SupplierLink.Currency.ID != Guid.Empty)
 
-             {
 
-                 TradePrice = (double)after / (SupplierLink.Currency.ExchangeRate.IsEffectivelyEqual(0.0) ? 1.0 : SupplierLink.Currency.ExchangeRate);
 
-                 CostPrice = TradePrice * (100.0F - Discount) / 100.0F;
 
-             }
 
-             else if (name.Equals(nameof(TradePrice)))
 
-             {
 
-                 if (SupplierLink.Currency.ID != Guid.Empty)
 
-                     ForeignCurrencyPrice = (double)after * SupplierLink.Currency.ExchangeRate;
 
-                 CostPrice = (double)after * (100.0F - Discount) / 100.0F;
 
-             }
 
-             else if (name.Equals(nameof(Discount)))
 
-                 CostPrice = TradePrice * (100.0F - (double)after) / 100.0F;
 
-             //else if (name.Equals(name,nameof(CostPrice)))
 
-             //    TradePrice = Discount == 100.0F ? double.MaxValue : (double)after / ((100.0F - Discount) / 100.0F);
 
-             bChanging = false;
 
-         }
 
-     }
 
- }
 
 
  |