示例#1
0
        private void MainWindowLoaded(object sender, RoutedEventArgs e)
        {
            BusyIndicator.BusyContent = LocalizedStrings.Str2941;
            BusyIndicator.IsBusy      = true;

            Task.Factory.StartNew(() =>
            {
                InitializeDataSource();

                var tasks = InitializeTasks();

                GuiDispatcher.GlobalDispatcher.AddSyncAction(() => BusyIndicator.BusyContent = LocalizedStrings.Str2942.Put(LocalizedStrings.Securities));
                ConfigManager.RegisterService <ISecurityProvider>(new FilterableSecurityProvider(_entityRegistry.Securities));

                return(tasks);
            })
            .ContinueWith(res =>
            {
                BusyIndicator.IsBusy = false;

                if (res.IsFaulted && res.Exception != null)
                {
                    var ex = res.Exception.InnerException;

                    ex.LogError();

                    Mouse.OverrideCursor = null;

                    new MessageBoxBuilder()
                    .Caption(ex is DbException ? LocalizedStrings.Str2943 : LocalizedStrings.Str2915)
                    .Text(ex.ToString())
                    .Error()
                    .Owner(this)
                    .Show();

                    Close();

                    return;
                }

                Tasks.AddRange(res.Result);

                var collectionView = (AutoRefreshCollectionViewSource)FindResource("SortedSources");
                if (collectionView != null)
                {
                    var view        = (ListCollectionView)collectionView.View;
                    view.CustomSort = new LanguageSorter();
                }

                HydraEntityRegistry = _entityRegistry;

                var settings = _entityRegistry.Settings;

                try
                {
                    _customAutorization = ConfigManager.TryGetService <IRemoteStorageAuthorization>();
                }
                catch (Exception ex)
                {
                    ex.LogError();
                }

                if (_customAutorization == null)
                {
                    _customAutorization = new DummyRemoteStorageAuthorization();
                }

                ApplySettings();

                InitializeGuiEnvironment();

                if (settings.AutoStart)
                {
                    Start(true);
                }

                AutomaticUpdater.ForceCheckForUpdate(true);

                if (Tasks.Count == 0)
                {
                    var newTasks = new List <Type>();

                    var sourcesWnd = new SourcesWindow {
                        AvailableTasks = _availableTasks.Where(t => !t.IsCategoryOf(TaskCategories.Tool)).ToArray()
                    };

                    if (sourcesWnd.ShowModal(this))
                    {
                        newTasks.AddRange(sourcesWnd.SelectedTasks);
                    }

                    var toolsWnd = new ToolsWindow {
                        AvailableTasks = _availableTasks.Where(t => t.IsCategoryOf(TaskCategories.Tool)).ToArray()
                    };

                    if (toolsWnd.ShowModal(this))
                    {
                        newTasks.AddRange(toolsWnd.SelectedTasks);
                    }

                    if (newTasks.Any())
                    {
                        AddTasks(newTasks);
                    }
                }
            }, TaskScheduler.FromCurrentSynchronizationContext());

            try
            {
                AdvertisePanel.Client = new NotificationClient();
            }
            catch (Exception ex)
            {
                ex.LogError();
            }
        }
示例#2
0
		private void MainWindowLoaded(object sender, RoutedEventArgs e)
		{
			BusyIndicator.BusyContent = LocalizedStrings.Str2941;
			BusyIndicator.IsBusy = true;

			Task.Factory.StartNew(() =>
			{
				InitializeDataSource();

				var tasks = InitializeTasks();

				GuiDispatcher.GlobalDispatcher.AddSyncAction(() => BusyIndicator.BusyContent = LocalizedStrings.Str2942.Put(LocalizedStrings.Securities));
				ConfigManager.RegisterService<ISecurityProvider>(new FilterableSecurityProvider(_entityRegistry.Securities));

				return tasks;
			})
			.ContinueWith(res =>
			{
				BusyIndicator.IsBusy = false;

				if (res.IsFaulted && res.Exception != null)
				{
					var ex = res.Exception.InnerException;

					ex.LogError();

					Mouse.OverrideCursor = null;

					new MessageBoxBuilder()
						.Caption(ex is DbException ? LocalizedStrings.Str2943 : LocalizedStrings.Str2915)
						.Text(ex.ToString())
						.Error()
						.Owner(this)
						.Show();

					Close();

					return;
				}

				Tasks.AddRange(res.Result);

				var collectionView = (AutoRefreshCollectionViewSource)FindResource("SortedSources");
				if (collectionView != null)
				{
					var view = (ListCollectionView)collectionView.View;
					view.CustomSort = new LanguageSorter();
				}

				HydraEntityRegistry = _entityRegistry;

				var settings = _entityRegistry.Settings;

				try
				{
					_customAutorization = ConfigManager.TryGetService<IRemoteStorageAuthorization>();
				}
				catch (Exception ex)
				{
					ex.LogError();
				}

				if (_customAutorization == null)
					_customAutorization = new DummyRemoteStorageAuthorization();

				ApplySettings();

				InitializeGuiEnvironment();

				if (settings.AutoStart)
					Start(true);

				AutomaticUpdater.ForceCheckForUpdate(true);

				if (Tasks.Count == 0)
				{
					var newTasks = new List<Type>();

					var sourcesWnd = new SourcesWindow { AvailableTasks = _availableTasks.Where(t => !t.IsCategoryOf(TaskCategories.Tool)).ToArray() };

					if (sourcesWnd.ShowModal(this))
						newTasks.AddRange(sourcesWnd.SelectedTasks);

					var toolsWnd = new ToolsWindow { AvailableTasks = _availableTasks.Where(t => t.IsCategoryOf(TaskCategories.Tool)).ToArray() };

					if (toolsWnd.ShowModal(this))
						newTasks.AddRange(toolsWnd.SelectedTasks);

					if (newTasks.Any())
						AddTasks(newTasks);
				}
			}, TaskScheduler.FromCurrentSynchronizationContext());

			try
			{
				AdvertisePanel.Client = new NotificationClient();
			}
			catch (Exception ex)
			{
				ex.LogError();
			}
		}
		private void MainWindowLoaded(object sender, RoutedEventArgs e)
		{
			BusyIndicator.BusyContent = LocalizedStrings.Str2941;
			BusyIndicator.IsBusy = true;

			Task.Factory.StartNew(() =>
			{
				InitializeDataSource();

				var tasks = InitializeTasks();

				GuiDispatcher.GlobalDispatcher.AddSyncAction(() => BusyIndicator.BusyContent = LocalizedStrings.Str2942.Put(LocalizedStrings.Securities));
				ConfigManager.RegisterService(new FilterableSecurityProvider(_entityRegistry.Securities, s => s.IsAllSecurity()));

				return tasks;
			})
			.ContinueWith(res =>
			{
				BusyIndicator.IsBusy = false;

				if (res.IsFaulted && res.Exception != null)
				{
					var ex = res.Exception.InnerException;

					ex.LogError();

					Mouse.OverrideCursor = null;

					new MessageBoxBuilder()
						.Caption(ex is DbException ? LocalizedStrings.Str2943 : LocalizedStrings.Str2915)
						.Text(ex.ToString())
						.Error()
						.Owner(this)
						.Show();

					Close();

					return;
				}

				Tasks.AddRange(res.Result);

				var collectionView = (AutoRefreshCollectionViewSource)FindResource("SortedSources");
				if (collectionView != null)
				{
					var view = (ListCollectionView)collectionView.View;
					view.CustomSort = new LanguageSorter();
				}

				HydraEntityRegistry = _entityRegistry;

				var settings = _entityRegistry.Settings;

				try
				{
					_customAutorization = ConfigManager.TryGetService<IRemoteStorageAuthorization>();
				}
				catch (Exception ex)
				{
					ex.LogError();
				}

				if (_customAutorization == null)
					_customAutorization = new DummyRemoteStorageAuthorization();

				ApplySettings();

				InitializeGuiEnvironment();

				if (settings.AutoStart)
					Start(true);

				//if (!CheckDatabaseSecurities() || !CheckRtsSecurities(Sources))
				//{
				//	Application.Current.Shutdown();
				//	return;
				//}

				AutomaticUpdater.ForceCheckForUpdate(true);
			}, TaskScheduler.FromCurrentSynchronizationContext());
		}
示例#4
0
        private void MainWindowLoaded(object sender, RoutedEventArgs e)
        {
            BusyIndicator.BusyContent = LocalizedStrings.Str2941;
            BusyIndicator.IsBusy      = true;

            Task.Factory.StartNew(() =>
            {
                InitializeDataSource();

                var tasks = InitializeTasks();

                GuiDispatcher.GlobalDispatcher.AddSyncAction(() => BusyIndicator.BusyContent = LocalizedStrings.Str2942);
                ConfigManager.RegisterService(new FilterableSecurityProvider(_entityRegistry.Securities, s => s.IsAllSecurity()));

                return(tasks);
            })
            .ContinueWith(res =>
            {
                BusyIndicator.IsBusy = false;

                if (res.IsFaulted && res.Exception != null)
                {
                    var ex = res.Exception.InnerException;

                    ex.LogError();

                    Mouse.OverrideCursor = null;

                    new MessageBoxBuilder()
                    .Caption(ex is DbException ? LocalizedStrings.Str2943 : LocalizedStrings.Str2915)
                    .Text(ex.ToString())
                    .Error()
                    .Owner(this)
                    .Show();

                    Close();

                    return;
                }

                Tasks.AddRange(res.Result);

                var collectionView = (AutoRefreshCollectionViewSource)FindResource("SortedSources");
                if (collectionView != null)
                {
                    var view        = (ListCollectionView)collectionView.View;
                    view.CustomSort = new LanguageSorter();
                }

                HydraEntityRegistry = _entityRegistry;

                var settings = _entityRegistry.Settings;

                try
                {
                    _customAutorization = ConfigManager.TryGetService <IRemoteStorageAuthorization>();
                }
                catch (Exception ex)
                {
                    ex.LogError();
                }

                if (_customAutorization == null)
                {
                    _customAutorization = new DummyRemoteStorageAuthorization();
                }

                ApplySettings();

                InitializeGuiEnvironment();

                if (settings.AutoStart)
                {
                    Start(true);
                }

                //if (!CheckDatabaseSecurities() || !CheckRtsSecurities(Sources))
                //{
                //	Application.Current.Shutdown();
                //	return;
                //}

                AutomaticUpdater.ForceCheckForUpdate(true);
            }, TaskScheduler.FromCurrentSynchronizationContext());
        }