示例#1
0
        ///<summary>Finish work if it's due to be done.</summary>
        private async Task HandleWorker(WoTDbContext db, CharacterWork worker)
        {
            var args = await worker.UpdateAsync(db);

            if (args != null)
            {
                WorkFinished?.Invoke(worker, args);
                Logger?.LogLine(this, args.ToString(), LogSeverity.Verbose);
            }
        }
示例#2
0
        public async Task UpdateAsync(IServiceProvider services)
        {
            WoTDbContext db = services.GetRequiredService <WoTDbContext>();
            IQueryable <CharacterWork> workers = db.Set <CharacterWork>().Where(x => x.IsWorking);

            foreach (CharacterWork worker in workers)
            {
                await HandleWorker(db, worker);
            }
        }