Beispiel #1
0
 /// <summary>
 /// Executes command asynchronously and returns number of affected records
 /// </summary>
 /// <param name="sql">Command text</param>
 /// <param name="dataParameters">Command parameters</param>
 /// <returns>Number of records, affected by command execution.</returns>
 public virtual async Task<int> ExecuteNonQueryAsync(string sql, params DataParameter[] dataParameters)
 {
     using var dataContext = await CreateDataConnectionAsync();
     var command = new CommandInfo(dataContext, sql, dataParameters);
     var affectedRecords = await command.ExecuteAsync();
     UpdateOutputParameters(dataContext, dataParameters);
     return affectedRecords;
 }
Beispiel #2
0
        public async Task <IResult> ExecuteDefaultResponse(SocketCommandContext commandContext, int argumentPosition)
        {
            if (!commandContext.IsPrivate && commandContext.Channel.Name != GetBotChannel())
            {
                return(ExecuteResult.FromSuccess());
            }

            CommandInfo defaultCommand = innerService.Commands.FirstOrDefault(command =>
                                                                              command.Attributes.Any(attribute => attribute is DefaultAttribute));

            if (defaultCommand is default(CommandInfo))
            {
                return(ExecuteResult.FromSuccess());
            }

            return(await defaultCommand.ExecuteAsync(commandContext, Enumerable.Empty <object>(),
                                                     Enumerable.Empty <object>(), services));
        }
        public async Task <int> ExecuteNonQueryAsync(
            string sql,
            int timeout,
            params DataParameter[] dataParameters)
        {
            using (var dataContext = new DataConnection(
                       LinqToDbDataProvider,
                       await CreateDbConnectionAsync(),
                       GetMappingSchema())
            {
                CommandTimeout = timeout
            })
            {
                var command         = new CommandInfo(dataContext, sql, dataParameters);
                var affectedRecords = await command.ExecuteAsync();

                UpdateOutputParameters(dataContext, dataParameters);
                return(affectedRecords);
            }
        }