void TicketCashoutControl_Closed(object sender, EventArgs e) { if (!paymentControl.IsTicketPayed) { TicketPayment.DeleteAll(SelectedTicket.PrimaryKey); } }
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); }