70 lines
2.6 KiB
C#
70 lines
2.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace AyaNovaQBI
|
|
{
|
|
internal enum LoanUnitRateUnit : int
|
|
{
|
|
None = 0,
|
|
Hours = 1,
|
|
HalfDays = 2,
|
|
Days = 3,
|
|
Weeks = 4,
|
|
Months = 5,
|
|
Years = 6
|
|
}
|
|
internal class WorkOrderItemLoan
|
|
{
|
|
public long Id { get; set; }
|
|
public uint Concurrency { get; set; }
|
|
public string Notes { get; set; }
|
|
public DateTime? OutDate { get; set; }
|
|
public DateTime? DueDate { get; set; }
|
|
public DateTime? ReturnDate { get; set; }
|
|
//
|
|
// public decimal Charges { get; set; }//removed in favor of ListPRice snapshot which normalizes fields to other objects
|
|
public long? TaxCodeId { get; set; }
|
|
|
|
public string TaxCodeViz { get; set; }
|
|
|
|
public long LoanUnitId { get; set; }
|
|
|
|
public string LoanUnitViz { get; set; }
|
|
|
|
public decimal Quantity { get; set; }
|
|
|
|
public LoanUnitRateUnit Rate { get; set; }
|
|
|
|
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; }
|
|
}
|
|
}
|