Пример #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);
        }