예제 #1
0
        private async Task PerformUpdateAsync(DataSet <SalesOrder> salesOrders, CancellationToken ct)
        {
            salesOrders._.ResetRowIdentifiers();
            await SalesOrderHeader.UpdateAsync(salesOrders, ct);

            await SalesOrderDetail.DeleteAsync(salesOrders, (s, _) => s.Match(_.FK_SalesOrderHeader), ct);

            var salesOrderDetails = salesOrders.GetChild(_ => _.SalesOrderDetails);

            salesOrderDetails._.ResetRowIdentifiers();
            await SalesOrderDetail.InsertAsync(salesOrderDetails, ct);
        }
예제 #2
0
        public async Task UpdateSalesOrderAsync(DataSet <SalesOrderInfo> salesOrders, CancellationToken ct = default(CancellationToken))
        {
            await EnsureConnectionOpenAsync(ct);

            using (var transaction = BeginTransaction())
            {
                salesOrders._.ResetRowIdentifiers();
                await SalesOrderHeader.UpdateAsync(salesOrders, ct);

                await SalesOrderDetail.DeleteAsync(salesOrders, (s, _) => s.Match(_.FK_SalesOrderHeader), ct);

                var salesOrderDetails = salesOrders.GetChild(_ => _.SalesOrderDetails);
                salesOrderDetails._.ResetRowIdentifiers();
                await SalesOrderDetail.InsertAsync(salesOrderDetails, ct);

                await transaction.CommitAsync(ct);
            }
        }