public void AcceptCustomerPayment(EntityRef <Customer> customer, decimal amount)
        {
            CustomerAccountLine accountLine = new CustomerAccountLine
            {
                Amount      = amount,
                Customer    = customer,
                Date        = DateTime.Now,
                Description = "Customer Payment",
                Employee    = this.Session.Employee
            };

            this.AddCustomerAccountLine(accountLine);

            CashboxOperation cashboxOperation = new CashboxOperation
            {
                Amount      = amount,
                Cashbox     = this.Session.Cashbox,
                Date        = DateTime.Now,
                Description = string.Format("Customer Payment: {0} ({1} {2})",
                                            customer.Entity.CustomerId, customer.Entity.FirstName,
                                            customer.Entity.LastName),
                Employee = this.Session.Employee
            };

            this.cashboxProcesses.RegisterCashboxOperation(cashboxOperation);
        }
Beispiel #2
0
        public void RegisterCashboxOperation(CashboxOperation operation)
        {
            if (operation == null)
            {
                throw new ArgumentNullException("operation");
            }

            BusinessRulesManager.Assert("RegisterCashboxOperation", operation);

            Cashbox cashbox = operation.Cashbox.GetVanillaEntity();

            cashbox.Balance += operation.Amount;

            StorageContext.Current.Insert(operation);
            StorageContext.Current.Update(cashbox);
        }