This commit is contained in:
Bobbie Hodgetts
2024-05-12 00:07:24 +01:00
parent a56a97031a
commit fb058fc22f
14 changed files with 920 additions and 40 deletions

View File

@@ -9,18 +9,71 @@ namespace bnhtrade.Core.Model.Account
public class PurchaseInvoice
{
public int PurchaseID { get; set; }
public int PurchaseNumber { get; set; }
public int? RecordID { get; set; }
public DateTime PurchaseDate { get; set; }
public Model.Account.Contact Contact { get; set; }
public string SupplierRef { get; set; }
public string AccountCurrency { get; set; }
public string PurchaseChannel { get; set; }
public string CurrencyCode { get; set; }
public decimal PurchaseTotalAmount { get; set; }
public decimal InvoiceNetAmount
{
get
{
return InvoiceGrossAmount - InvoiceTaxAmount;
}
}
public decimal InvoiceTaxAmount
{
get
{
decimal amount = 0;
foreach (var item in InvoiceLines)
{
amount = amount + item.LineTotalTax;
}
return amount;
}
}
public decimal InvoiceGrossAmount
{
get
{
decimal amount = 0;
foreach (var item in InvoiceLines)
{
amount = amount + item.LineTotalGross;
}
return amount;
}
}
/// <summary>
/// Value stored in database to check invoice lines against
/// </summary>
public decimal InvoiceGrossAmountCheck { get; set; }
/// <summary>
/// Don't know what this is for, all the amounts in the db are gross, so this is always true
/// </summary>
public bool VatInclusiveAmounts { get; set; }
public DateTime RecordCreated { get; set; }
public DateTime RecordModified { get; set; }
public bool IsActive { get; set; }
public List<Model.Account.PurchaseInvoice.Line> InvoiceLines { get; set; }
@@ -28,24 +81,91 @@ namespace bnhtrade.Core.Model.Account
public class Line
{
public int PurchaseLineId { get; set; }
public int PurchaseId { get; set; }
public string Status { get; set; }
public string SupplierRef { get; set; }
public DateTime? CheckedIn { get; set; }
public string ItemDescription { get; set; }
public int ItemQuantity { get; set; }
public decimal ItemNet
{
get
{
return ItemGross - ItemTax;
}
}
public decimal ItemGross { get; set; }
public decimal ItemTax { get; set; }
public decimal ShippingNet
{
get
{
return ShippingGross - ShippingTax;
}
}
public decimal ShippingGross { get; set; }
public decimal ShippingTax { get; set; }
public decimal OtherNet
{
get
{
return OtherGross - OtherTax;
}
}
public decimal OtherGross { get; set; }
public decimal OtherTax { get; set; }
public string AccountTaxCode { get; set; }
public decimal LineTotalNet
{
get
{
return (ItemGross + ShippingGross + OtherGross) - (ItemTax + ShippingTax + OtherTax);
}
}
public decimal LineTotalTax
{
get
{
return ItemTax + ShippingTax + OtherTax;
}
}
public decimal LineTotalGross
{
get
{
return ItemGross + ShippingGross + OtherGross;
}
}
public bnhtrade.Core.Model.Account.TaxCodeInfo AccountTaxCode { get; set; }
public int? Tax_AccountTransactionId { get; set; }
public int Net_AccountChartOfId { get; set; }
public int? Net_AccountTransactionId { get; set; }
public DateTime RecordCreated { get; set; }
public DateTime RecordModified { get; set; }
public bool IsActive { get; set; }
}
}

View File

@@ -9,7 +9,7 @@ namespace bnhtrade.Core.Model.Account
{
public class TaxCodeInfo : IValidatableObject
{
public TaxCodeInfo(string taxCodeId, string title, string description, decimal taxRatePercent, bool isMarginSchemeRate,
public TaxCodeInfo(string taxCode, string title, string description, decimal taxRatePercent, bool isMarginSchemeRate,
bool isValidOnExpense, bool isValidOnIncome, string taxType, bool isActive)
{
if (TaxRate < 0)
@@ -24,7 +24,7 @@ namespace bnhtrade.Core.Model.Account
throw new Exception("Tax rate is >= 100%");
}
TaxCode = taxCodeId;
TaxCode = taxCode;
TaxCodeDescription = description;
TaxRate = taxRatePercent;
IsMarginScheme = isMarginSchemeRate;