private Version CheckAsync(Version version) { try { var versions = new MongoClient(this.ConnectionString) .GetServer() .GetDatabase(this.DatabaseName) .GetCollection<RemoteVersion>("versions") .AsQueryable(); var max = versions.Max(v => v.Version); var remote = (from v in versions where v.Version == max select v).Single(); return Version.Parse(remote.Version); } catch (Exception ex) { Logger.Error("Impossible to check the remote versions", ex); return new Version(); } }