public void AddCalculation(CalculationTemplate template, decimal amount) { var t = Calculations.SingleOrDefault(x => x.ServiceId == template.Id) ?? Calculations.SingleOrDefault(x => x.AccountTransactionTemplateId == template.AccountTransactionTemplate.Id); if (t == null) { t = new Calculation { Amount = amount, Name = template.Name, CalculationType = template.CalculationMethod, ServiceId = template.Id, IncludeTax = template.IncludeTax, DecreaseAmount = template.DecreaseAmount, Order = template.Order, AccountTransactionTemplateId = template.AccountTransactionTemplate.Id, AccountTransactionTemplate = template.AccountTransactionTemplate }; Calculations.Add(t); } else if (t.Amount == amount) { amount = 0; } else t.Amount = amount; t.Name = template.Name; if (amount == 0) { Calculations.Remove(t); UpdateCalculationTransaction(t, 0); } }
public void AddCalculation(CalculationTemplate calculationTemplate, decimal amount) { Tickets.ForEach(x => x.AddCalculation(calculationTemplate, amount)); }
public void AddCalculation(CalculationTemplate template, decimal amount) { var t = Calculations.SingleOrDefault(x => x.ServiceId == template.Id) ?? Calculations.SingleOrDefault(x => x.AccountTransactionTemplateId == template.AccountTransactionTemplate.Id); if (t == null) { t = new Calculation { Amount = amount, Name = template.Name, CalculationType = template.CalculationMethod, ServiceId = template.Id, IncludeTax = template.IncludeTax, DecreaseAmount = template.DecreaseAmount, Order = template.Order, AccountTransactionTemplateId = template.AccountTransactionTemplate.Id }; var transaction = AccountTransaction.Create(template.AccountTransactionTemplate); transaction.Name = t.Name; transaction.UpdateAccounts(AccountTemplateId, AccountId); AccountTransactions.AccountTransactions.Add(transaction); Calculations.Add(t); } else if (t.Amount == amount) amount = 0; t.Name = template.Name; if (amount == 0) { Calculations.Remove(t); AccountTransactions.AccountTransactions.Remove( AccountTransactions.AccountTransactions.Single(x => t.AccountTransactionTemplateId == x.AccountTransactionTemplateId)); } t.Amount = amount; }
private void OnSelectCalculationTemplate(CalculationTemplate obj) { var amount = obj.Amount; if (amount == 0) amount = GetTenderedValue(); SelectedTicket.AddCalculation(obj, amount); PaymentAmount = ""; RefreshValues(); }