Ejemplo n.º 1
0
        private void CheckUpdateButton_OnClick(object sender, RoutedEventArgs e)
        {
            UpdateRing.IsActive = true;

            Task.Run(() => SquirrelManager.IsUpdateAvailable()
                     .ContinueWith(x =>
            {
                var result = x.Result;
                Dispatcher.Invoke(() => AskForUpdate(result));
            }));
        }
Ejemplo n.º 2
0
        private void AskForUpdate(bool result)
        {
            UpdateRing.IsActive = false;

            if (result)
            {
                var task = MessageFactory.NewMessage()
                           .MessageTranslated("Dialog.UpdateAvailable")
                           .TitleTranslated("Dialog.Update")
                           .ButtonTranslated("Dialog.Update_Do", 0)
                           .ButtonTranslated("Dialog.Update_Dismiss", 1)
                           .ShowMessage();

                if (task.Result == 0)
                {
                    Task.Run(() => SquirrelManager.UpdateSquirrel(null, (x, y) =>
                    {
                        Dispatcher?.Invoke(() =>
                        {
                            if (x)
                            {
                                MessageFactory.NewMessage()
                                .MessageTranslated("Dialog.UpdateFinished")
                                .TitleTranslated("Dialog.Update")
                                .ShowMessage();
                            }
                            else
                            {
                                MessageFactory.NewMessage()
                                .MessageTranslated("Dialog.UpdateFailed")
                                .Title("Dialog.Update")
                                .ShowMessage();
                            }
                        });
                    }));
                }
            }
            else
            {
                MessageFactory.NewMessage()
                .MessageTranslated("Dialog.UpdateNotAvailable")
                .Title("Dialog.Update")
                .ShowMessage();
            }
        }
Ejemplo n.º 3
0
        public App()
        {
#if DEBUG
            Log4NetService.Instance.Configure(new FileInfo("log4net.debug.config"));
#endif
            SimpleIoc.Default.Register <ILogService>(() => Log4NetService.Instance);

            SquirrelManager.Startup();

            var instance = new Task <bool>(IsSingleInstance);
            instance.ContinueWith(x =>
            {
                if (!x.Result)
                {
                    Current.Shutdown();
                }
            });
            instance.Start();
        }