コード例 #1
0
        public async Task LogoutAsync()
        {
            var closer = new InternalCloseRequestedEventArgs(CloseReason.None);

            this.OnCloseRequested(closer);
            await closer.WhenAll();

            this.ErrorMessage = string.Empty;
            if (this.DataBaseName != string.Empty)
            {
                await this.UnloadAsync();
            }

            await this.CloseAsync();

            this.NotifyOfPropertyChange(nameof(this.CanLogin));
        }
コード例 #2
0
        public async Task UnloadAsync()
        {
            if (this.DataBaseName == string.Empty)
            {
                throw new InvalidOperationException();
            }

            await this.CloseDocumentsAsync(false);

            var args = new InternalCloseRequestedEventArgs(CloseReason.None);

            this.OnUnloadRequested(args);
            await args.WhenAll();

            this.OnUnloading(EventArgs.Empty);
            this.BeginProgress();
            await this.LeaveDataBaseAsync();

            this.dataBaseName = null;
            this.IsLoaded     = false;
            this.EndProgress();
            this.Refresh();
            this.OnUnloaded(EventArgs.Empty);
        }