Inheritance: Window, IDownloadProgressReporter
Ejemplo n.º 1
0
        private void barButtonItem5_ItemClick_1(object sender, ItemClickEventArgs e)
        {
            using (TickerDataDownloadForm dlg = new TickerDataDownloadForm()
            {
                Owner = this
            }) {
                if (dlg.ShowDialog() != DialogResult.OK)
                {
                    return;
                }
                DownloadCanceled = false;
                TradeHistoryIntensityInfo info = new TradeHistoryIntensityInfo();
                info.DownloadProgressChanged += OnTickerDownloadProgressChanged;
                info.Exchange = Exchange.Get(dlg.TickerInfo.Exchange);
                Crypto.Core.Helpers.TickerDownloadData historyInfo = null;
                ProgressForm         = new DownloadProgressForm();
                ProgressForm.Cancel += (d, ee) => {
                    DownloadCanceled = true;
                };

                Thread t = new Thread(() => {
                    historyInfo = info.DownloadItem(dlg.TickerInfo.Ticker.BaseCurrency, dlg.TickerInfo.Ticker.MarketCurrency);
                    BeginInvoke(new MethodInvoker(() => ProgressForm.Close()));
                });
                t.Start();
                ProgressForm.ShowDialog(this);
                if (DownloadCanceled)
                {
                    XtraMessageBox.Show("Downloading Canceled.");
                    return;
                }
                if (historyInfo == null)
                {
                    XtraMessageBox.Show("Error downloading ticker trade history");
                    return;
                }
                info.Items.Add(historyInfo);
                info.Result.Add(historyInfo);

                StrategyDataForm dataForm = new StrategyDataForm();
                dataForm.Visual = info;
                dataForm.Show();
            }
        }
Ejemplo n.º 2
0
        /// <inheritdoc />
        protected async override Task OnUpdateCheckCompleted(UpdateCheckEventArgs e)
        {
            await base.OnUpdateCheckCompleted(e);

            bool isNewer = e.Successful && new Version(e.Update.Version) > new Version((string)settings["CheckedUpdate"]);

            // --- update settings according to update info ---
            if (isNewer)
            {
                settings["SkipVersion"] = false;
            }
            if (e.NewVersion)
            {
                settings["CheckedUpdate"] = e.Update.Version;
            }
            settings.Save();
            // --- show update information if needed ---
            if (e.UpdateNotifyMode == UpdateNotifyMode.Never ||
                e.UpdateNotifyMode == UpdateNotifyMode.NewUncheckedUpdate && !isNewer ||
                e.UpdateNotifyMode == UpdateNotifyMode.Auto && !isNewer && (bool)settings["SkipVersion"])
            {
                return;
            }
            else if (e.Successful && e.NewVersion)
            {
                UpdateForm updateWindow = new UpdateForm(e.NewVersion, e.Update, allowSkip: e.UpdateNotifyMode == UpdateNotifyMode.Auto);
                updateWindow.Owner = this.Owner;
                if (updateWindow.ShowDialog() == DialogResult.OK)
                {
                    DownloadProgressForm progForm = new DownloadProgressForm(e.Update);
                    progForm.Owner = this.Owner;
                    progForm.Show();
                    try
                    {
                        string path = await DownloadUpdate(e.Update, progForm.DownloadProgress, ct : progForm.CancellationToken);

                        progForm.Close();
                        if (System.IO.Path.GetExtension(path) == ".msi")
                        {
                            ApplyMsiUpdate(path);
                        }
                        else if (!String.IsNullOrEmpty(path))
                        {
                            ShowUpdateDownload(path);
                        }
                    }
                    catch (UpdateFailedException)
                    {
                        MessageBox.Show(this.Owner, Resources.Box_UpdateFailed, Resources.Box_UpdateFailed_Title,
                                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else if (updateWindow.SkipVersion)
                {
                    settings["SkipVersion"] = true;
                    settings.Save();
                }
            }
            else if (e.UpdateNotifyMode == UpdateNotifyMode.Always)
            {
                if (e.Successful)
                {
                    MessageBox.Show(this.Owner, Resources.Box_NoNewUpdate, Resources.strSoftwareUpdate);
                }
                else
                {
                    MessageBox.Show(this.Owner, Resources.Box_UpdateCheckFailed, Resources.Box_UpdateFailed_Title,
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }