public async Task DbTable_DeleteAsync_from_DataSet() { var log = new StringBuilder(); using (var db = await MockSalesOrder.CreateAsync(CreateDb(log))) { var count = await db.SalesOrderDetail.CountAsync(); var countToDelete = await db.SalesOrderDetail.Where(_ => _.SalesOrderID == 1 | _.SalesOrderID == 2).CountAsync(); Assert.IsTrue(countToDelete > 1); var query = db.CreateQuery((DbQueryBuilder builder, SalesOrder.Key _) => { builder.From(db.SalesOrderHeader, out var s) .AutoSelect() .Where(s.SalesOrderID == 1 | s.SalesOrderID == 2); }); var dataSet = await query.ToDataSetAsync(); var countDeleted = await db.SalesOrderDetail.DeleteAsync(dataSet, (s, _) => s.Match(_.FK_SalesOrderHeader)); Assert.AreEqual(countToDelete, countDeleted); Assert.AreEqual(count - countDeleted, await db.SalesOrderDetail.CountAsync()); } }
public async Task DbTable_DeleteAsync_without_source() { var log = new StringBuilder(); using (var db = await MockSalesOrder.CreateAsync(CreateDb(log))) { var count = await db.SalesOrderDetail.CountAsync(); var countToDelete = await db.SalesOrderDetail.Where(_ => _.SalesOrderDetailID > 2).CountAsync(); Assert.IsTrue(countToDelete > 0); var countDeleted = await db.SalesOrderDetail.DeleteAsync(_ => _.SalesOrderDetailID > 2); Assert.AreEqual(countToDelete, countDeleted); Assert.AreEqual(count - countToDelete, await db.SalesOrderDetail.CountAsync()); } }
public async Task DbSession_ExecuteTransactionAsync_insert_sales_order() { var log = new StringBuilder(); using (var db = await MockSalesOrder.CreateAsync(CreateDb(log))) { var salesOrder = DataSet <SalesOrder> .ParseJson(Strings.ExpectedJSON_SalesOrder_71774); await db.InsertAsync(salesOrder, CancellationToken.None); int salesOrderID = salesOrder._.SalesOrderID[0].Value; Assert.AreEqual(5, salesOrderID); var dataSet = await db.SalesOrderDetail.Where(_ => _.SalesOrderID == salesOrderID).ToDataSetAsync(CancellationToken.None); Assert.IsTrue(dataSet._.ModifiedDate[0].Value.AddSeconds(1) > DateTime.Now); } }
public async Task DbSession_ExecuteTransactionAsync_update_sales_order() { var log = new StringBuilder(); using (var db = await MockSalesOrder.CreateAsync(CreateDb(log))) { var salesOrder = await db.SalesOrderHeader.ToDbQuery <SalesOrder>().Where(_ => _.SalesOrderID == 1).ToDataSetAsync(CancellationToken.None); await salesOrder.FillChildAsync(0, _ => _.SalesOrderDetails, db.SalesOrderDetail); await db.UpdateAsync(salesOrder, CancellationToken.None); var dataSet = await db.SalesOrderDetail.Where(_ => _.SalesOrderID == 1).ToDataSetAsync(CancellationToken.None); Assert.IsTrue(dataSet._.ModifiedDate[0].Value.AddSeconds(1) > DateTime.Now); } }
public async Task DbTable_DeleteAsync_from_scalar() { var log = new StringBuilder(); using (var db = await MockSalesOrder.CreateAsync(CreateDb(log))) { var count = await db.SalesOrderDetail.CountAsync(); var dataSet = await db.SalesOrderDetail.Where(x => x.SalesOrderDetailID == 1).ToDataSetAsync(); Assert.IsTrue(dataSet.Count == 1); bool success = await db.SalesOrderDetail.DeleteAsync(dataSet, 0, (s, _) => s.Match(_)) > 0; Assert.IsTrue(success); Assert.AreEqual(count - 1, await db.SalesOrderDetail.CountAsync()); } }
public async Task DbTable_UpdateAsync_self_increment() { var log = new StringBuilder(); using (var db = await MockSalesOrder.CreateAsync(CreateDb(log))) { _Int32 salesOrderId = 1; var dataSet = await db.SalesOrderHeader.Where(_ => _.SalesOrderID == salesOrderId).ToDataSetAsync(); Assert.AreEqual(1, dataSet.Count); var revisionNumber = dataSet._.RevisionNumber[0]; await db.SalesOrderHeader.UpdateAsync((m, _) => m.Select(_.RevisionNumber + 1, _.RevisionNumber), _ => _.SalesOrderID == salesOrderId); dataSet = await db.SalesOrderHeader.Where(_ => _.SalesOrderID == salesOrderId).ToDataSetAsync(); Assert.AreEqual(1, dataSet.Count); Assert.AreEqual(revisionNumber + 1, dataSet._.RevisionNumber[0]); } }