private void ButtonDownloadAndUpdate_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                this.ButtonDownloadAndUpdate.Visibility = Visibility.Hidden;

                this.LabelProgressBarTitle.Visibility    = Visibility.Visible;
                this.ProressBarDownloadStatus.Visibility = Visibility.Visible;

                var latest = UpdateHelper.GetUpdateInformation();

                int ratio = 100 / latest.Files.Count;

                foreach (var file in latest.Files)
                {
                    var url = $"{latest.DownloadUrl}{latest.Version}/{file.Name}";

                    bool hasFiledDownloaded = UpdateHelper.HasDownloadedFile(url, file.Name);
                    if (hasFiledDownloaded)
                    {
                        this.ProressBarDownloadStatus.Value = this.ProressBarDownloadStatus.Value + ratio;

                        this.LabelDownloadStatus.Visibility = Visibility.Visible;
                        this.LabelDownloadStatus.Content    = this.ProressBarDownloadStatus.Value + ratio + "%";
                    }
                }

                double progressBarValue = this.ProressBarDownloadStatus.Value;
                if (progressBarValue != 100)
                {
                    this.ButtonDownloadAndUpdate.Visibility = Visibility.Visible;

                    this.LabelDownloadStatus.Visibility = Visibility.Visible;
                    this.LabelDownloadStatus.Content    = "Update failed. Please try again";
                }
                else
                {
                    this.LabelDownloadStatus.Visibility = Visibility.Visible;
                    this.LabelDownloadStatus.Content    = "Application successfully updated";
                }
            }
            catch (Exception ex)
            {
                this.LabelDownloadStatus.Visibility = Visibility.Visible;
                this.LabelDownloadStatus.Content    = "Update failed. Please try again";
            }
        }
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            var latest = UpdateHelper.GetUpdateInformation();

            this.LabelUpdateVersion.Content = $"Version: {latest.Version}";
        }