public override void GetActualGuildAsync(Server server, string guildName, bool isDetailed, int actualInterval)
{
bool fetchCurrent = false;
using (IDatabaseContext context = DatabaseManager.CreateContext()) {
Guild storedGuild = context.FindGuild(server, guildName);
if (storedGuild != null && !(isDetailed && !storedGuild.IsDetailed) && storedGuild.UpdateTime != null) {
TimeSpan timeDiff = (TimeSpan)(DateTime.Now - storedGuild.UpdateTime);
if (timeDiff.Days < actualInterval) {
fetchCurrent = true;
}
}
}
if (fetchCurrent) {
Task.Factory.StartNew(() => {
using (IDatabaseContext context = DatabaseManager.CreateContext()) {
OnStarted();
OnStatusChanged(DMODownloadStatusCode.GETTING_GUILD, guildName, 0, 50);
Guild storedGuild = context.FetchGuild(server, guildName);
OnCompleted(DMODownloadResultCode.OK, storedGuild);
}
});
return;
}
GetGuildAsync(server, guildName, isDetailed);
}