Files
ravenqbi/AyaNovaQBI/WorkOrderItemPart.cs
2022-07-09 04:17:38 +00:00

62 lines
2.3 KiB
C#

using System.Collections.Generic;
namespace AyaNovaQBI
{
internal class WorkOrderItemPart
{
public long Id { get; set; }
public uint Concurrency { get; set; }
public string Description { get; set; }
public string Serials { get; set; }
public long PartId { get; set; }
public string PartDescriptionViz { get; set; }
public string PartNameViz { get; set; }
public string UpcViz { get; set; }
public long PartWarehouseId { get; set; }
public string PartWarehouseViz { get; set; }
public decimal Quantity { get; set; }
public decimal SuggestedQuantity { get; set; }
public long? TaxPartSaleId { get; set; }
public string TaxCodeViz { get; set; }
//NOTE: part prices are volatile and expected to be frequently edited so snapshotted when newly added unlike other things like rates etc that are protected from change
public decimal Cost { get; set; }//cost from source record (e.g. serviceRate) or zero if no cost entered
public decimal ListPrice { get; set; }//List price from source record (e.g. serviceRate) or zero if no cost entered
//Standard pricing fields (mostly to support printed reports though some show in UI)
//some not to be sent with record depending on role (i.e. cost and charge in some cases)
public decimal? PriceOverride { get; set; }//user entered manually overridden price, if null then ignored in calcs otherwise this *is* the price even if zero
public string UnitOfMeasureViz { get; set; }//"each", "hour" etc
public decimal PriceViz { get; set; }//per unit price used in calcs after discounts or manual price if non-null or just ListPrice if no discount or manual override
public decimal NetViz { get; set; }//quantity * price (before taxes line total essentially)
public decimal TaxAViz { get; set; }//total amount of taxA
public decimal TaxBViz { get; set; }//total amount of taxB
public decimal LineTotalViz { get; set; }//line total netViz + taxes
//workaround for notification
public List<string> Tags { get; set; } = new List<string>();
public string Name { get; set; }
public long WorkOrderItemId { get; set; }
}
}