Example #1
0
        private void _DownloadStringCompletedHandler(object sender, DownloadStringCompletedEventArgs e)
        {
            _webClient.DownloadStringCompleted -= _DownloadStringCompletedHandler;
            _CloseWebClient();

            if (e.Error == null)
            {
                try
                {
                    var updateInfoObject = JsonConvert.DeserializeObject <UpdateInfoObject>(e.Result);
                    var version          = LauncherVersion.Parse(updateInfoObject.Version);
                    var currentVersion   = _versionService.GetAssemblyVersion();

                    if (version.AssemblyVersion <= currentVersion)
                    {
                        return;
                    }

                    var acceptUpdate = UpdateAvailableResolver.Invoke(version);
                    if (!acceptUpdate)
                    {
                        return;
                    }

                    InDownloadStage = true;
                    _BeginDownload(updateInfoObject);
                }
                catch (Exception ex)
                {
                    _RaiseError(ex.Message);
                }
            }
            else
            {
                _RaiseError(e.Error.Message);
            }
        }