diff --git a/server/AyaNova/models/WorkOrderItemLabor.cs b/server/AyaNova/models/WorkOrderItemLabor.cs index 50347c3a..004b9c26 100644 --- a/server/AyaNova/models/WorkOrderItemLabor.cs +++ b/server/AyaNova/models/WorkOrderItemLabor.cs @@ -25,22 +25,39 @@ namespace AyaNova.Models public decimal NoChargeQuantity { get; set; } public long? ServiceBankId { get; set; } public long? TaxCodeSaleId { get; set; } + + + /* + //from case 3748 + - Cost, this is the entered Cost for the item at time of selection + - ListPrice, [REQUIRED] this is the un-discounted per unit price of the item be it labor, parts, loaner, travel etc. What is normally charged at that moment in time for this item if it wasn't discounted. + - Price, [NULLABLE] this is the EFFECTIVE PRICE either contract determined price calculated from ListPrice, otherwise it's a copy of the list price. User with sufficient rights can can override it to enter a different amount which effectively supports manual discount feature in v7 which was by %. This is the *actual* price used in calculations. + - TaxName copied from selected tax code, not directly editable + - TaxAPct copied from selected tax code, not directly editable + - TaxBPct copied from selected tax code, not directly editable + - TaxOnTax copied from selected tax code not directly editable + - TaxAViz, [calculated NOT persisted] (Price*Quantity)+TaxAPct + - TaxBViz, [calculated NOT persisted] (Price*Quantity)+TaxBPct OR if TaxOnTax = TaxAViz+TaxBPct + - LineTotalViz, [calculated NOT persisted] this is effectively Price * quantity + Taxes, handy for reports and viewing not editable as it's not stored + */ + + //PRICE FIELDS + public decimal Cost { get; set; } + public decimal ListPrice { get; set; } + public decimal Price { get; set; } + public string TaxName { get; set; } + [Required] + public decimal TaxAPct { get; set; } + [Required] + public decimal TaxBPct { get; set; } + public bool TaxOnTax { get; set; } [NotMapped] - public string TaxCodeSaleViz { get; set; } + public decimal TaxAViz { get; set; } + [NotMapped] + public decimal TaxBViz { get; set; } + [NotMapped] + public decimal LineTotalViz { get; set; } -/* -todo: -"BasePrice" -add fields to reflect contract: -OverrideType -OverrideViz -OverridePct -*/ - - - public decimal BasePrice { get; set; }//Rate price per unit at time of entry - public decimal Price { get; set; }//contract adjusted price or a copy of BasePrice if no contract - public decimal ManualDiscountPct { get; set; }// (V7 "Discount") ad-hoc / % off of the contractprice (which is always set regardless if contract or not) entered manually //UTILITY FIELDS