Пример #1
0
 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);
     }
 }
Пример #2
0
 public void AddCalculation(CalculationTemplate calculationTemplate, decimal amount)
 {
     Tickets.ForEach(x => x.AddCalculation(calculationTemplate, amount));
 }
Пример #3
0
        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;
        }
Пример #4
0
 private void OnSelectCalculationTemplate(CalculationTemplate obj)
 {
     var amount = obj.Amount;
     if (amount == 0) amount = GetTenderedValue();
     SelectedTicket.AddCalculation(obj, amount);
     PaymentAmount = "";
     RefreshValues();
 }