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); }
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 }); }