|
@@ -35,7 +35,7 @@ namespace Comal.Classes
|
|
|
public override Filter<PurchaseOrderItemForm> Filter => new Filter<PurchaseOrderItemForm>(x => x.FormCompleted).IsEqualTo(DateTime.MinValue)
|
|
|
.Or(x => x.FormData).IsEqualTo("");
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
[UserTracking(typeof(Bill))]
|
|
|
[Caption("Purchase Order Items")]
|
|
|
public class PurchaseOrderItem : StockEntity, IRemotable, IPersistent, IOneToMany<PurchaseOrder>, ITaxable, IOneToMany<Consignment>, IOneToMany<Job>,
|
|
@@ -48,8 +48,8 @@ namespace Comal.Classes
|
|
|
{
|
|
|
get { return Product; }
|
|
|
set { Product = value; }
|
|
|
- }
|
|
|
-
|
|
|
+ }
|
|
|
+
|
|
|
[EntityRelationship(DeleteAction.SetNull)]
|
|
|
[EditorSequence(1)]
|
|
|
[RequiredColumn]
|
|
@@ -63,7 +63,7 @@ namespace Comal.Classes
|
|
|
get { return Style; }
|
|
|
set { Style = value; }
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
[EntityRelationship(DeleteAction.SetNull)]
|
|
|
[EditorSequence(2)]
|
|
|
public ProductStyleLink Style { get; set; }
|
|
@@ -85,14 +85,14 @@ namespace Comal.Classes
|
|
|
public double Qty { get; set; }
|
|
|
|
|
|
[NullEditor]
|
|
|
- [Obsolete("Replaced with Dimensions",true)]
|
|
|
+ [Obsolete("Replaced with Dimensions", true)]
|
|
|
public double UnitSize { get; set; }
|
|
|
|
|
|
[EditorSequence(7)]
|
|
|
[RequiredColumn]
|
|
|
[DimensionsEditor(typeof(StockDimensions), AllowEditingUnit = false)]
|
|
|
public override StockDimensions Dimensions { get; set; }
|
|
|
-
|
|
|
+
|
|
|
[CurrencyEditor(Visible = Visible.Default)]
|
|
|
[EditorSequence(8)]
|
|
|
public double Cost { get; set; }
|
|
@@ -103,7 +103,7 @@ namespace Comal.Classes
|
|
|
[EditorSequence(14)]
|
|
|
[CurrencyEditor(Visible = Visible.Optional, Editable = Editable.Hidden, Summary = Summary.Sum)]
|
|
|
public double Balance { get; set; }
|
|
|
-
|
|
|
+
|
|
|
[EditorSequence(15)]
|
|
|
[EntityRelationship(DeleteAction.SetNull)]
|
|
|
public ConsignmentLink Consignment { get; set; }
|
|
@@ -126,7 +126,7 @@ namespace Comal.Classes
|
|
|
|
|
|
[NullEditor]
|
|
|
public StockMovementLink StockMovement { get; set; }
|
|
|
-
|
|
|
+
|
|
|
[EntityRelationship(DeleteAction.Cascade)]
|
|
|
public PurchaseOrderLink PurchaseOrderLink { get; set; }
|
|
|
|
|
@@ -149,7 +149,7 @@ namespace Comal.Classes
|
|
|
[Aggregate(typeof(PurchaseOrderItemOpenForms))]
|
|
|
public int OpenForms { get; set; }
|
|
|
|
|
|
-
|
|
|
+
|
|
|
public StockLocationLink StockLocation { get; set; }
|
|
|
|
|
|
[CurrencyEditor(Visible = Visible.Default, Summary = Summary.Sum)]
|
|
@@ -178,7 +178,7 @@ namespace Comal.Classes
|
|
|
Style = new ProductStyleLink();
|
|
|
|
|
|
TaxCode = new TaxCodeLink(() => this);
|
|
|
-
|
|
|
+
|
|
|
Packet = new ManufacturingPacketLink();
|
|
|
|
|
|
Job = new JobLink();
|
|
@@ -197,22 +197,22 @@ namespace Comal.Classes
|
|
|
LinkedProperties.Register<PurchaseOrderItem, ProductLink, String>(x => x.Product, x => x.Code, x => x.SupplierCode);
|
|
|
LinkedProperties.Register<PurchaseOrderItem, ProductLink, String>(x => x.Product, x => x.Name, x => x.Description);
|
|
|
|
|
|
- LinkedProperties.Register<PurchaseOrderItem, TaxCodeLink, Guid>(x=>x.Product.TaxCode, x => x.ID, x => x.TaxCode.ID);
|
|
|
- LinkedProperties.Register<PurchaseOrderItem, TaxCodeLink, double>(x=>x.Product.TaxCode, x => x.Rate, x => x.TaxCode.Rate);
|
|
|
- LinkedProperties.Register<PurchaseOrderItem, ProductStyleLink, Guid>(x=>x.Product.DefaultStyle, x => x.ID, x => x.Style.ID);
|
|
|
+ LinkedProperties.Register<PurchaseOrderItem, TaxCodeLink, Guid>(x => x.Product.TaxCode, x => x.ID, x => x.TaxCode.ID);
|
|
|
+ LinkedProperties.Register<PurchaseOrderItem, TaxCodeLink, double>(x => x.Product.TaxCode, x => x.Rate, x => x.TaxCode.Rate);
|
|
|
+ LinkedProperties.Register<PurchaseOrderItem, ProductStyleLink, Guid>(x => x.Product.DefaultStyle, x => x.ID, x => x.Style.ID);
|
|
|
|
|
|
StockEntity.LinkStockDimensions<PurchaseOrderItem>();
|
|
|
-
|
|
|
- LinkedProperties.Register<PurchaseOrderItem, TaxCodeLink, double>(x=>x.TaxCode, x => x.Rate, x => x.TaxRate);
|
|
|
+
|
|
|
+ LinkedProperties.Register<PurchaseOrderItem, TaxCodeLink, double>(x => x.TaxCode, x => x.Rate, x => x.TaxRate);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
private static Column<PurchaseOrderItem> qty = new Column<PurchaseOrderItem>(x => x.Qty);
|
|
|
private static Column<PurchaseOrderItem> cost = new Column<PurchaseOrderItem>(x => x.Cost);
|
|
|
private static Column<PurchaseOrderItem> extax = new Column<PurchaseOrderItem>(x => x.ExTax);
|
|
|
private static Column<PurchaseOrderItem> inctax = new Column<PurchaseOrderItem>(x => x.IncTax);
|
|
|
private static Column<PurchaseOrderItem> balance = new Column<PurchaseOrderItem>(x => x.Balance);
|
|
|
private static Column<PurchaseOrderItem> received = new Column<PurchaseOrderItem>(x => x.ReceivedDate);
|
|
|
-
|
|
|
+
|
|
|
private bool bChanging;
|
|
|
|
|
|
protected override void DoPropertyChanged(string name, object before, object after)
|
|
@@ -227,10 +227,10 @@ namespace Comal.Classes
|
|
|
|
|
|
else if (cost.IsEqualTo(name))
|
|
|
ExTax = Qty /* * Dimensions.Value */ * (double)after;
|
|
|
-
|
|
|
+
|
|
|
else if (inctax.IsEqualTo(name))
|
|
|
Balance = ReceivedDate.IsEmpty() ? (double)after : 0.00F;
|
|
|
-
|
|
|
+
|
|
|
else if (received.IsEqualTo(name))
|
|
|
Balance = ((DateTime)after).IsEmpty() ? IncTax : 0.00F;
|
|
|
|