コード例 #1
0
        private void TryCreateOrder(ISqlConnectionResolver sqlConnectionResolver, string orderName)
        {
            var orderCreator     = new OrderCreator(sqlConnectionResolver);
            var orderItemCreator = new OrderItemCreator(sqlConnectionResolver);

            using (var transaction = new TransactionScope())
            {
                var order = orderCreator.Create(new OrderCreatorInput
                {
                    Name = orderName
                });

                orderItemCreator.Create(new OrderItemCreatorInput
                {
                    OrderId = order.OrderId,
                    Name    = "Item"
                });

                transaction.Complete();
            }
        }
コード例 #2
0
        private void ExecuteLongRunningTask(ISqlConnectionResolver connectionResolver, string taskName, bool shouldFail)
        {
            // We don't use transaction - if task fails, it remains in the database, marked as incomplete

            var taskCreator   = new TaskCreator(connectionResolver);
            var taskCompleter = new TaskCompleter(connectionResolver);

            var task = taskCreator.Create(new TaskCreatorInput
            {
                Name = taskName
            });

            // Perfom long-running operations...

            if (shouldFail)
            {
                throw new InvalidOperationException("Task failed.");
            }

            taskCompleter.Complete(new TaskCompleterInput
            {
                TaskId = task.TaskId
            });
        }
コード例 #3
0
 public PeopleBatchReader(ISqlConnectionResolver sqlConnectionResolver)
 {
     _sqlConnectionResolver = sqlConnectionResolver;
 }
コード例 #4
0
 public ExecuteSqlWithDapper(ISqlConnectionResolver sqlConnectionResolver)
 {
     if (sqlConnectionResolver == null) throw new ArgumentNullException("sqlConnectionResolver");
     this.sqlConnectionResolver = sqlConnectionResolver;
 }
コード例 #5
0
 public CommitSqlConnection(ISqlConnectionResolver sqlConnectionResolver)
 {
     if (sqlConnectionResolver == null) throw new ArgumentNullException("sqlConnectionResolver");
     this.sqlConnectionResolver = sqlConnectionResolver;
 }
コード例 #6
0
 public TaskCompleter(ISqlConnectionResolver sqlConnectionResolver)
 {
     _sqlConnectionResolver = sqlConnectionResolver;
 }
コード例 #7
0
 public OrderCreator(ISqlConnectionResolver sqlConnectionResolver)
 {
     _sqlConnectionResolver = sqlConnectionResolver;
 }
コード例 #8
0
 public PeopleSummaryReader(ISqlConnectionResolver sqlConnectionResolver)
 {
     _sqlConnectionResolver = sqlConnectionResolver;
 }
コード例 #9
0
 public TaskCreator(ISqlConnectionResolver sqlConnectionResolver)
 {
     _sqlConnectionResolver = sqlConnectionResolver;
 }
コード例 #10
0
 public PeopleCounter(ISqlConnectionResolver sqlConnectionResolver)
 {
     _sqlConnectionResolver = sqlConnectionResolver;
 }
コード例 #11
0
 public SqlServerBulkInsert(ISqlConnectionResolver connectionResolver)
 {
     if (connectionResolver == null) throw new ArgumentNullException("connectionResolver");
     this.connectionResolver = connectionResolver;
 }