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