public VersionPair CheckUpdates(GameModel model)
{
if (model == null) {
throw new ArgumentException("model argument cannot be null");
}
string versionFile = ConfigurationManager.GetLocalVersionFile(model);
if (File.Exists(ConfigurationManager.GetLocalVersionFile(model))) {
int verCurrent = -1;
int verRemote = -1;
using (StreamReader streamReader = new StreamReader(versionFile)) {
verCurrent = GetVersion(streamReader.ReadToEnd());
}
using (WebClientEx webClient = new WebClientEx()) {
string result;
try {
result = webClient.DownloadString(ConfigurationManager.GetConfiguration(model).VersionRemoteURL);
verRemote = GetVersion(result);
} catch {
return null;
}
if (verRemote < 0 || verCurrent < 0) {
return null;
}
return new VersionPair(verCurrent, verRemote);
}
}
return null;
}