Exemple #1
0
        private static async Task ProcessCommand(InternalCommandDto internalCommand)
        {
            var type = typeof(ICustomersModule).Assembly.GetType(internalCommand.Type);

            if (null == type)
            {
                throw new ArgumentNullException(nameof(type));
            }

            dynamic commandToProcess = JsonConvert.DeserializeObject(internalCommand.Data, type);
            await CommandsExecutor.Execute(commandToProcess);
        }
Exemple #2
0
        private static async Task MarkCommandAsFailed(
            IDbConnection connection,
            InternalCommandDto internalCommand,
            string error
            )
        {
            const string sql = @"
                UPDATE customers.internal_commands
                SET processed_date = @ProcessedDate, error = @Error
                WHERE id = @Id
            ";

            await connection.ExecuteAsync(sql, new
            {
                internalCommand.Id,
                ProcessedDate = DateTime.UtcNow,
                Error         = error
            });
        }