Пример #1
0
        public async Task CheckForUpdatesAsync()
        {
            _log.Debug("Checking for updates.");
            IReadOnlyCollection <ReleaseInfo> newReleases;

            try {
                newReleases = await _reader.GetReleaseInfosAsync();
            } catch (Exception ex) {
                _log.Error(ex, "Getting release informations failed");
                return;
            }

            // remove re-published versions
            foreach (var release in newReleases)
            {
                _releases.RemoveAll(r => r.Version == release.Version);
            }

            _releases.AddRange(newReleases);
            _releases.Sort((r1, r2) => r2.Version.CompareTo(r1.Version));
            _releases.ForEach(r => r.IsNew = r.Version > _currentVersion);
            SaveReleases();
            if (_releases.Any(r => r.IsNew))
            {
                _log.Debug("{0} new updates detected.", _releases.Count(r => r.IsNew));
                OnUpdatesAvailable();
            }
            else
            {
                _log.Debug("No updates detected.");
            }
        }
Пример #2
0
        public async Task CheckForUpdatesAsync()
        {
            _log.Debug("Checking for updates.");
            IReadOnlyCollection <ReleaseInfo> newReleases;

            try {
                newReleases = await _reader.GetReleaseInfosAsync();

                //HACK weil ein Release keine Version hat
                foreach (var releaseInfo in newReleases.Where(v => v.Version == null))
                {
                    var t = releaseInfo.TagName.Split('.');
                    releaseInfo.Version = new Version(int.Parse(t[0]), int.Parse(t[1]));
                }
            } catch (Exception ex) {
                _log.ErrorException("Getting release informations failed", ex);
                return;
            }

            // remove re-published versions
            foreach (var release in newReleases)
            {
                _releases.RemoveAll(r => r.Version == release.Version);
            }

            _releases.AddRange(newReleases);
            _releases.Sort((r1, r2) => r2.Version.CompareTo(r1.Version));
            _releases.ForEach(r => r.IsNew = r.Version > _currentVersion);
            SaveReleases();
            if (_releases.Any(r => r.IsNew))
            {
                _log.Debug("{0} new updates detected.", _releases.Count(r => r.IsNew));
                OnUpdatesAvailable();
            }
            else
            {
                _log.Debug("No updates detected.");
            }
        }
Пример #3
0
        public async Task CheckForUpdatesAsync()
        {
            IReadOnlyCollection <ReleaseInfo> newReleases;

            try {
                newReleases = await _reader.GetReleaseInfosAsync();
            } catch {
                return;
            }

            // remove re-published versions
            foreach (var release in newReleases)
            {
                _releases.RemoveAll(r => r.Version == release.Version);
            }

            _releases.AddRange(newReleases);
            _releases.Sort((r1, r2) => r2.Version.CompareTo(r1.Version));
            if (_releases.Any(r => r.Version > _currentVersion))
            {
                OnUpdatesAvailable();
            }
        }