Catel.Services.IPleaseWaitServiceExtensions.HideTemporarily C# (CSharp) Method

HideTemporarily() public static method

Hides the please wait service temporarily by storing the show counter and restoring it afterwards.
public static HideTemporarily ( this pleaseWaitService ) : IDisposable
pleaseWaitService this
return IDisposable
        public static IDisposable HideTemporarily(this IPleaseWaitService pleaseWaitService)
        {
            Argument.IsNotNull("pleaseWaitService", pleaseWaitService);

            var showCounter = pleaseWaitService.ShowCounter;

            return new DisposableToken<IPleaseWaitService>(pleaseWaitService,
                x => x.Instance.Hide(),
                x =>
                {
                    for (var i = 0; i < showCounter; i++)
                    {
                        if (x.Instance.ShowCounter < showCounter)
                        {
                            x.Instance.Push();
                        }
                    }
                });
        }
IPleaseWaitServiceExtensions