示例#1
0
 internal Task Update(DiscordClient client, ReadyEventArgs e)
 {
     foreach (var key in UpdateList.Select(x => x.Key).Distinct())
     {
         RegisterCommands(UpdateList.Where(x => x.Key == key).Select(x => x.Value), key);
     }
     return(Task.CompletedTask);
 }
示例#2
0
        /// <summary>
        /// Get list of keys of all completed tasks
        /// </summary>
        /// <returns>List of keys</returns>
        public async Task <List <string> > GetKeyListAsync()
        {
            if (UpdateList == null)
            {
                await ReadDataAsync();
            }

            return(UpdateList.Select(selector: x => x.Key).ToList());
        }
示例#3
0
 public async Task <int> BulkUpdateAsync(params string[] UpdateColumns)
 {
     Check.Exception(UpdateColumns == null, "UpdateColumns is null");
     if (_WhereColumnList != null && _WhereColumnList.Any())
     {
         return(await this._Context.Fastest <T>().AS(_AsName).BulkUpdateAsync(UpdateList.Select(it => it.Item).ToList(), _WhereColumnList.Select(it => it.DbColumnName).ToArray(), UpdateColumns));
     }
     else
     {
         var pkColumns = this._Context.EntityMaintenance.GetEntityInfo <T>().Columns.Where(it => it.IsPrimarykey).Select(it => it.DbColumnName).ToArray();
         Check.Exception(pkColumns.Count() == 0, "need primary key");
         return(await this._Context.Fastest <T>().AS(_AsName).BulkUpdateAsync(UpdateList.Select(it => it.Item).ToList(), pkColumns, UpdateColumns));
     }
 }
示例#4
0
        public Task <int> BulkUpdateAsync()
        {
            var isWhereColums = _WhereColumnList != null && _WhereColumnList.Any();

            if (isWhereColums)
            {
                var updateColumns = this._Context.EntityMaintenance.GetEntityInfo <T>().Columns.Where(it => !it.IsPrimarykey && !it.IsIdentity && !it.IsOnlyIgnoreUpdate && !it.IsIgnore).Select(it => it.DbColumnName ?? it.PropertyName).ToArray();
                return(BulkUpdateAsync(updateColumns));
            }
            else
            {
                return(this._Context.Fastest <T>().AS(_AsName).BulkUpdateAsync(UpdateList.Select(it => it.Item).ToList()));
            }
        }