This commit is contained in:
2021-08-13 16:00:23 +00:00
parent 0af188e1e1
commit 705c3ae0a6
4 changed files with 105 additions and 83 deletions

View File

@@ -1966,16 +1966,16 @@ namespace AyaNova.Biz
if (pct != 0)
{
if (cot == ContractOverrideType.CostMarkup)
o.PriceViz = o.CostViz + (o.CostViz * pct);
o.PriceViz = MoneyUtil.Round(o.CostViz + (o.CostViz * pct));
else if (cot == ContractOverrideType.PriceDiscount)
o.PriceViz = o.ListPriceViz - (o.ListPriceViz * pct);
o.PriceViz = MoneyUtil.Round(o.ListPriceViz - (o.ListPriceViz * pct));
}
}
}
//Calculate totals and taxes
//NET
o.NetViz = o.PriceViz * o.ServiceRateQuantity;
o.NetViz = MoneyUtil.Round(o.PriceViz * o.ServiceRateQuantity);
//TAX
o.TaxAViz = 0;
@@ -1984,17 +1984,17 @@ namespace AyaNova.Biz
{
if (Tax.TaxAPct != 0)
{
o.TaxAViz = o.NetViz * (Tax.TaxAPct / 100);
o.TaxAViz = MoneyUtil.Round(o.NetViz * (Tax.TaxAPct / 100));
}
if (Tax.TaxBPct != 0)
{
if (Tax.TaxOnTax)
{
o.TaxBViz = (o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round((o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100));
}
else
{
o.TaxBViz = o.NetViz * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round(o.NetViz * (Tax.TaxBPct / 100));
}
}
}
@@ -2300,7 +2300,7 @@ namespace AyaNova.Biz
//Calculate totals and taxes
//NET
o.NetViz = o.PriceViz * o.Quantity;
o.NetViz = MoneyUtil.Round(o.PriceViz * o.Quantity);
//TAX
o.TaxAViz = 0;
@@ -2309,17 +2309,17 @@ namespace AyaNova.Biz
{
if (Tax.TaxAPct != 0)
{
o.TaxAViz = o.NetViz * (Tax.TaxAPct / 100);
o.TaxAViz = MoneyUtil.Round(o.NetViz * (Tax.TaxAPct / 100));
}
if (Tax.TaxBPct != 0)
{
if (Tax.TaxOnTax)
{
o.TaxBViz = (o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round((o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100));
}
else
{
o.TaxBViz = o.NetViz * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round(o.NetViz * (Tax.TaxBPct / 100));
}
}
}
@@ -2695,17 +2695,17 @@ namespace AyaNova.Biz
{
if (Tax.TaxAPct != 0)
{
o.TaxAViz = o.NetViz * (Tax.TaxAPct / 100);
o.TaxAViz = MoneyUtil.Round(o.NetViz * (Tax.TaxAPct / 100));
}
if (Tax.TaxBPct != 0)
{
if (Tax.TaxOnTax)
{
o.TaxBViz = (o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round((o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100));
}
else
{
o.TaxBViz = o.NetViz * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round(o.NetViz * (Tax.TaxBPct / 100));
}
}
}
@@ -3064,16 +3064,16 @@ namespace AyaNova.Biz
if (pct != 0)
{
if (cot == ContractOverrideType.CostMarkup)
o.PriceViz = o.Cost + (o.Cost * pct);
o.PriceViz = MoneyUtil.Round(o.Cost + (o.Cost * pct));
else if (cot == ContractOverrideType.PriceDiscount)
o.PriceViz = o.ListPrice - (o.ListPrice * pct);
o.PriceViz = MoneyUtil.Round(o.ListPrice - (o.ListPrice * pct));
}
}
}
//Calculate totals and taxes
//NET
o.NetViz = o.PriceViz * o.Quantity;
o.NetViz = MoneyUtil.Round(o.PriceViz * o.Quantity);
//TAX
o.TaxAViz = 0;
@@ -3082,17 +3082,17 @@ namespace AyaNova.Biz
{
if (Tax.TaxAPct != 0)
{
o.TaxAViz = o.NetViz * (Tax.TaxAPct / 100);
o.TaxAViz = MoneyUtil.Round(o.NetViz * (Tax.TaxAPct / 100));
}
if (Tax.TaxBPct != 0)
{
if (Tax.TaxOnTax)
{
o.TaxBViz = (o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round((o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100));
}
else
{
o.TaxBViz = o.NetViz * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round(o.NetViz * (Tax.TaxBPct / 100));
}
}
}
@@ -3969,16 +3969,16 @@ namespace AyaNova.Biz
if (pct != 0)
{
if (cot == ContractOverrideType.CostMarkup)
o.PriceViz = o.CostViz + (o.CostViz * pct);
o.PriceViz = MoneyUtil.Round(o.CostViz + (o.CostViz * pct));
else if (cot == ContractOverrideType.PriceDiscount)
o.PriceViz = o.ListPriceViz - (o.ListPriceViz * pct);
o.PriceViz = MoneyUtil.Round(o.ListPriceViz - (o.ListPriceViz * pct));
}
}
}
//Calculate totals and taxes
//NET
o.NetViz = o.PriceViz * o.TravelRateQuantity;
o.NetViz = MoneyUtil.Round(o.PriceViz * o.TravelRateQuantity);
//TAX
o.TaxAViz = 0;
@@ -3987,17 +3987,17 @@ namespace AyaNova.Biz
{
if (Tax.TaxAPct != 0)
{
o.TaxAViz = o.NetViz * (Tax.TaxAPct / 100);
o.TaxAViz = MoneyUtil.Round(o.NetViz * (Tax.TaxAPct / 100));
}
if (Tax.TaxBPct != 0)
{
if (Tax.TaxOnTax)
{
o.TaxBViz = (o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round((o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100));
}
else
{
o.TaxBViz = o.NetViz * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round(o.NetViz * (Tax.TaxBPct / 100));
}
}
}

View File

@@ -1788,17 +1788,17 @@ namespace AyaNova.Biz
{
if (Tax.TaxAPct != 0)
{
o.TaxAViz = o.ChargeAmount * (Tax.TaxAPct / 100);
o.TaxAViz = MoneyUtil.Round(o.ChargeAmount * (Tax.TaxAPct / 100));
}
if (Tax.TaxBPct != 0)
{
if (Tax.TaxOnTax)
{
o.TaxBViz = (o.ChargeAmount + o.TaxAViz) * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round((o.ChargeAmount + o.TaxAViz) * (Tax.TaxBPct / 100));
}
else
{
o.TaxBViz = o.ChargeAmount * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round(o.ChargeAmount * (Tax.TaxBPct / 100));
}
}
o.LineTotalViz = o.ChargeAmount + o.TaxAViz + o.TaxBViz;
@@ -2199,16 +2199,16 @@ namespace AyaNova.Biz
if (pct != 0)
{
if (cot == ContractOverrideType.CostMarkup)
o.PriceViz = o.CostViz + (o.CostViz * pct);
o.PriceViz = MoneyUtil.Round(o.CostViz + (o.CostViz * pct));
else if (cot == ContractOverrideType.PriceDiscount)
o.PriceViz = o.ListPriceViz - (o.ListPriceViz * pct);
o.PriceViz = MoneyUtil.Round(o.ListPriceViz - (o.ListPriceViz * pct));
}
}
}
//Calculate totals and taxes
//NET
o.NetViz = o.PriceViz * o.ServiceRateQuantity;
o.NetViz = MoneyUtil.Round(o.PriceViz * o.ServiceRateQuantity);
//TAX
o.TaxAViz = 0;
@@ -2217,17 +2217,17 @@ namespace AyaNova.Biz
{
if (Tax.TaxAPct != 0)
{
o.TaxAViz = o.NetViz * (Tax.TaxAPct / 100);
o.TaxAViz = MoneyUtil.Round(o.NetViz * (Tax.TaxAPct / 100));
}
if (Tax.TaxBPct != 0)
{
if (Tax.TaxOnTax)
{
o.TaxBViz = (o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round((o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100));
}
else
{
o.TaxBViz = o.NetViz * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round(o.NetViz * (Tax.TaxBPct / 100));
}
}
}
@@ -2547,7 +2547,7 @@ namespace AyaNova.Biz
//Calculate totals and taxes
//NET
o.NetViz = o.PriceViz * o.Quantity;
o.NetViz = MoneyUtil.Round(o.PriceViz * o.Quantity);
//TAX
o.TaxAViz = 0;
@@ -2556,17 +2556,17 @@ namespace AyaNova.Biz
{
if (Tax.TaxAPct != 0)
{
o.TaxAViz = o.NetViz * (Tax.TaxAPct / 100);
o.TaxAViz = MoneyUtil.Round(o.NetViz * (Tax.TaxAPct / 100));
}
if (Tax.TaxBPct != 0)
{
if (Tax.TaxOnTax)
{
o.TaxBViz = (o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round((o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100));
}
else
{
o.TaxBViz = o.NetViz * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round(o.NetViz * (Tax.TaxBPct / 100));
}
}
}
@@ -2949,17 +2949,17 @@ namespace AyaNova.Biz
{
if (Tax.TaxAPct != 0)
{
o.TaxAViz = o.NetViz * (Tax.TaxAPct / 100);
o.TaxAViz = MoneyUtil.Round(o.NetViz * (Tax.TaxAPct / 100));
}
if (Tax.TaxBPct != 0)
{
if (Tax.TaxOnTax)
{
o.TaxBViz = (o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round((o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100));
}
else
{
o.TaxBViz = o.NetViz * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round(o.NetViz * (Tax.TaxBPct / 100));
}
}
}
@@ -3325,16 +3325,16 @@ namespace AyaNova.Biz
if (pct != 0)
{
if (cot == ContractOverrideType.CostMarkup)
o.PriceViz = o.Cost + (o.Cost * pct);
o.PriceViz = MoneyUtil.Round(o.Cost + (o.Cost * pct));
else if (cot == ContractOverrideType.PriceDiscount)
o.PriceViz = o.ListPrice - (o.ListPrice * pct);
o.PriceViz = MoneyUtil.Round(o.ListPrice - (o.ListPrice * pct));
}
}
}
//Calculate totals and taxes
//NET
o.NetViz = o.PriceViz * o.Quantity;
o.NetViz = MoneyUtil.Round(o.PriceViz * o.Quantity);
//TAX
o.TaxAViz = 0;
@@ -3343,17 +3343,17 @@ namespace AyaNova.Biz
{
if (Tax.TaxAPct != 0)
{
o.TaxAViz = o.NetViz * (Tax.TaxAPct / 100);
o.TaxAViz = MoneyUtil.Round(o.NetViz * (Tax.TaxAPct / 100));
}
if (Tax.TaxBPct != 0)
{
if (Tax.TaxOnTax)
{
o.TaxBViz = (o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round((o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100));
}
else
{
o.TaxBViz = o.NetViz * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round(o.NetViz * (Tax.TaxBPct / 100));
}
}
}
@@ -4266,16 +4266,16 @@ namespace AyaNova.Biz
if (pct != 0)
{
if (cot == ContractOverrideType.CostMarkup)
o.PriceViz = o.CostViz + (o.CostViz * pct);
o.PriceViz = MoneyUtil.Round(o.CostViz + (o.CostViz * pct));
else if (cot == ContractOverrideType.PriceDiscount)
o.PriceViz = o.ListPriceViz - (o.ListPriceViz * pct);
o.PriceViz = MoneyUtil.Round(o.ListPriceViz - (o.ListPriceViz * pct));
}
}
}
//Calculate totals and taxes
//NET
o.NetViz = o.PriceViz * o.TravelRateQuantity;
o.NetViz = MoneyUtil.Round(o.PriceViz * o.TravelRateQuantity);
//TAX
o.TaxAViz = 0;
@@ -4284,17 +4284,17 @@ namespace AyaNova.Biz
{
if (Tax.TaxAPct != 0)
{
o.TaxAViz = o.NetViz * (Tax.TaxAPct / 100);
o.TaxAViz = MoneyUtil.Round(o.NetViz * (Tax.TaxAPct / 100));
}
if (Tax.TaxBPct != 0)
{
if (Tax.TaxOnTax)
{
o.TaxBViz = (o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round((o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100));
}
else
{
o.TaxBViz = o.NetViz * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round(o.NetViz * (Tax.TaxBPct / 100));
}
}
}

View File

@@ -113,7 +113,7 @@ namespace AyaNova.Biz
return null;
else
{
await WorkOrderBizActionsAsync(AyaEvent.Created, newObject, null, null);
newObject.Tags = TagBiz.NormalizeTags(newObject.Tags);
newObject.CustomFields = JsonUtil.CompactJson(newObject.CustomFields);
@@ -2203,17 +2203,17 @@ namespace AyaNova.Biz
{
if (Tax.TaxAPct != 0)
{
o.TaxAViz = o.ChargeAmount * (Tax.TaxAPct / 100);
o.TaxAViz = MoneyUtil.Round(o.ChargeAmount * (Tax.TaxAPct / 100));
}
if (Tax.TaxBPct != 0)
{
if (Tax.TaxOnTax)
{
o.TaxBViz = (o.ChargeAmount + o.TaxAViz) * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round((o.ChargeAmount + o.TaxAViz) * (Tax.TaxBPct / 100));
}
else
{
o.TaxBViz = o.ChargeAmount * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round(o.ChargeAmount * (Tax.TaxBPct / 100));
}
}
o.LineTotalViz = o.ChargeAmount + o.TaxAViz + o.TaxBViz;
@@ -2598,16 +2598,17 @@ namespace AyaNova.Biz
if (pct != 0)
{
if (cot == ContractOverrideType.CostMarkup)
o.PriceViz = o.CostViz + (o.CostViz * pct);
o.PriceViz = MoneyUtil.Round(o.CostViz + (o.CostViz * pct));
else if (cot == ContractOverrideType.PriceDiscount)
o.PriceViz = o.ListPriceViz - (o.ListPriceViz * pct);
o.PriceViz = MoneyUtil.Round(o.ListPriceViz - (o.ListPriceViz * pct));
}
}
}
//Calculate totals and taxes
//NET
o.NetViz = o.PriceViz * o.ServiceRateQuantity;
o.NetViz = MoneyUtil.Round(o.PriceViz * o.ServiceRateQuantity);
//TAX
o.TaxAViz = 0;
@@ -2616,17 +2617,17 @@ namespace AyaNova.Biz
{
if (Tax.TaxAPct != 0)
{
o.TaxAViz = o.NetViz * (Tax.TaxAPct / 100);
o.TaxAViz = MoneyUtil.Round(o.NetViz * (Tax.TaxAPct / 100));
}
if (Tax.TaxBPct != 0)
{
if (Tax.TaxOnTax)
{
o.TaxBViz = (o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round((o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100));
}
else
{
o.TaxBViz = o.NetViz * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round(o.NetViz * (Tax.TaxBPct / 100));
}
}
}
@@ -2868,7 +2869,7 @@ namespace AyaNova.Biz
if (changeOfUnit || changeOfReturned)
{
var u = await ct.LoanUnit.FirstOrDefaultAsync(x => x.Id == dbObject.LoanUnitId);
if (u != null && (u.WorkOrderItemLoanId==null || u.WorkOrderItemLoanId==putObject.Id))
if (u != null && (u.WorkOrderItemLoanId == null || u.WorkOrderItemLoanId == putObject.Id))
{
if (putObject.ReturnDate != null)
{
@@ -2972,7 +2973,7 @@ namespace AyaNova.Biz
//Calculate totals and taxes
//NET
o.NetViz = o.PriceViz * o.Quantity;
o.NetViz = MoneyUtil.Round(o.PriceViz * o.Quantity);
//TAX
o.TaxAViz = 0;
@@ -2981,17 +2982,17 @@ namespace AyaNova.Biz
{
if (Tax.TaxAPct != 0)
{
o.TaxAViz = o.NetViz * (Tax.TaxAPct / 100);
o.TaxAViz = MoneyUtil.Round(o.NetViz * (Tax.TaxAPct / 100));
}
if (Tax.TaxBPct != 0)
{
if (Tax.TaxOnTax)
{
o.TaxBViz = (o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round((o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100));
}
else
{
o.TaxBViz = o.NetViz * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round(o.NetViz * (Tax.TaxBPct / 100));
}
}
}
@@ -3370,17 +3371,17 @@ namespace AyaNova.Biz
{
if (Tax.TaxAPct != 0)
{
o.TaxAViz = o.NetViz * (Tax.TaxAPct / 100);
o.TaxAViz = MoneyUtil.Round(o.NetViz * (Tax.TaxAPct / 100));
}
if (Tax.TaxBPct != 0)
{
if (Tax.TaxOnTax)
{
o.TaxBViz = (o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round((o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100));
}
else
{
o.TaxBViz = o.NetViz * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round(o.NetViz * (Tax.TaxBPct / 100));
}
}
}
@@ -3896,16 +3897,16 @@ namespace AyaNova.Biz
if (pct != 0)
{
if (cot == ContractOverrideType.CostMarkup)
o.PriceViz = o.Cost + (o.Cost * pct);
o.PriceViz = MoneyUtil.Round(o.Cost + (o.Cost * pct));
else if (cot == ContractOverrideType.PriceDiscount)
o.PriceViz = o.ListPrice - (o.ListPrice * pct);
o.PriceViz = MoneyUtil.Round(o.ListPrice - (o.ListPrice * pct));
}
}
}
//Calculate totals and taxes
//NET
o.NetViz = o.PriceViz * o.Quantity;
o.NetViz = MoneyUtil.Round(o.PriceViz * o.Quantity);
//TAX
o.TaxAViz = 0;
@@ -3914,17 +3915,17 @@ namespace AyaNova.Biz
{
if (Tax.TaxAPct != 0)
{
o.TaxAViz = o.NetViz * (Tax.TaxAPct / 100);
o.TaxAViz = MoneyUtil.Round(o.NetViz * (Tax.TaxAPct / 100));
}
if (Tax.TaxBPct != 0)
{
if (Tax.TaxOnTax)
{
o.TaxBViz = (o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round((o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100));
}
else
{
o.TaxBViz = o.NetViz * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round(o.NetViz * (Tax.TaxBPct / 100));
}
}
}
@@ -5355,16 +5356,16 @@ namespace AyaNova.Biz
if (pct != 0)
{
if (cot == ContractOverrideType.CostMarkup)
o.PriceViz = o.CostViz + (o.CostViz * pct);
o.PriceViz = MoneyUtil.Round(o.CostViz + (o.CostViz * pct));
else if (cot == ContractOverrideType.PriceDiscount)
o.PriceViz = o.ListPriceViz - (o.ListPriceViz * pct);
o.PriceViz = MoneyUtil.Round(o.ListPriceViz - (o.ListPriceViz * pct));
}
}
}
//Calculate totals and taxes
//NET
o.NetViz = o.PriceViz * o.TravelRateQuantity;
o.NetViz = MoneyUtil.Round(o.PriceViz * o.TravelRateQuantity);
//TAX
o.TaxAViz = 0;
@@ -5373,17 +5374,17 @@ namespace AyaNova.Biz
{
if (Tax.TaxAPct != 0)
{
o.TaxAViz = o.NetViz * (Tax.TaxAPct / 100);
o.TaxAViz = MoneyUtil.Round(o.NetViz * (Tax.TaxAPct / 100));
}
if (Tax.TaxBPct != 0)
{
if (Tax.TaxOnTax)
{
o.TaxBViz = (o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round((o.NetViz + o.TaxAViz) * (Tax.TaxBPct / 100));
}
else
{
o.TaxBViz = o.NetViz * (Tax.TaxBPct / 100);
o.TaxBViz = MoneyUtil.Round(o.NetViz * (Tax.TaxBPct / 100));
}
}
}

View File

@@ -0,0 +1,21 @@
using System;
namespace AyaNova.Util
{
internal static class MoneyUtil
{
/// <summary>
/// Rounding for monetary values
///
/// </summary>
/// <param name="d"></param>
/// <returns></returns>
public static decimal Round(decimal d)
{
return Decimal.Round(d, 2, MidpointRounding.AwayFromZero);
}
}//eoc
}//eons