Пример #1
0
        private static double RefundTicket(Ticket selectedTicket, TicketRefundType refundType)
        {
            double sumOfPayments = TicketPayment.GetAll(selectedTicket.PrimaryKey)
                                   .Sum(payment => payment.Amount);

            // Don't refund money for items that were already returned
            sumOfPayments = TicketItemReturn.GetAllForTicket(selectedTicket.PrimaryKey)
                            .Aggregate(sumOfPayments, (current, ticketItemReturn) => current - ticketItemReturn.Amount);

            RegisterManager.ActiveRegisterDrawer.RemoveFromCurrentAmount(sumOfPayments);
            TicketPayment.DeleteAll(selectedTicket.PrimaryKey);
            TicketRefund.Add(selectedTicket.PrimaryKey, SessionManager.ActiveEmployee.Id,
                             RegisterManager.ActiveRegisterDrawer.Id, sumOfPayments, refundType);
            return(sumOfPayments);
        }
Пример #2
0
 private static void ResetTransactionalTables()
 {
     SettingManager.SetStoreSetting("DailyIdOffset", 0);
     DayOfOperation.Reset(typeof(DayOfOperation));
     EmployeeTimesheet.Reset(typeof(EmployeeTimesheet));
     EmployeeTimesheetChangeLog.Reset(typeof(EmployeeTimesheetChangeLog));
     Lock.Reset(typeof(Lock));
     Party.Reset(typeof(Party));
     PartyInvite.Reset(typeof(PartyInvite));
     RegisterDeposit.Reset(typeof(RegisterDeposit));
     RegisterDrawer.Reset(typeof(RegisterDrawer));
     RegisterDrop.Reset(typeof(RegisterDrop));
     RegisterNoSale.Reset(typeof(RegisterNoSale));
     RegisterPayout.Reset(typeof(RegisterPayout));
     Ticket.Reset(typeof(Ticket));
     TicketCoupon.Reset(typeof(TicketCoupon));
     TicketDiscount.Reset(typeof(TicketDiscount));
     TicketItem.Reset(typeof(TicketItem));
     TicketItemOption.Reset(typeof(TicketItemOption));
     TicketItemReturn.Reset(typeof(TicketItemReturn));
     TicketPayment.Reset(typeof(TicketPayment));
     TicketRefund.Reset(typeof(TicketRefund));
     TicketVoid.Reset(typeof(TicketVoid));
 }