public void Dispose() { if (GetPayBalanceRequest != null) { GetPayBalanceRequest.GetInvocationList().ToList().ForEach(x => GetPayBalanceRequest -= (RequestEventHandler <int>)x); } if (PaymentBackRequest != null) { PaymentBackRequest.GetInvocationList().ToList().ForEach(x => PaymentBackRequest -= (RequestEventHandler <bool>)x); } if (GetCoinsRequest != null) { GetCoinsRequest.GetInvocationList().ToList().ForEach(x => GetCoinsRequest -= (RequestEventHandler <int, CoinType>)x); } if (PaymentRequest != null) { PaymentRequest.GetInvocationList().ToList().ForEach(x => PaymentRequest -= (RequestEventHandler <bool, Dictionary <CoinType, int> >)x); } if (GetDrinksQtyRequest != null) { GetDrinksQtyRequest.GetInvocationList().ToList().ForEach(x => GetDrinksQtyRequest -= (RequestEventHandler <int, Guid>)x); } if (ShippingRequest != null) { ShippingRequest.GetInvocationList().ToList().ForEach(x => ShippingRequest -= (RequestEventHandler <bool, int>)x); } if (GetDrinksPriceRequest != null) { GetDrinksPriceRequest.GetInvocationList().ToList().ForEach(x => GetDrinksPriceRequest -= (RequestEventHandler <int, Guid>)x); } if (PurchaseRequest != null) { PurchaseRequest.GetInvocationList().ToList().ForEach(x => PurchaseRequest -= (VoidEventHandler <Guid>)x); } if (ThanksMessageRequest != null) { ThanksMessageRequest.GetInvocationList().ToList().ForEach(x => ThanksMessageRequest -= (VoidEventHandler)x); } if (InsufficientMessageRequest != null) { InsufficientMessageRequest.GetInvocationList().ToList().ForEach(x => InsufficientMessageRequest -= (VoidEventHandler)x); } }