Exemplo n.º 1
0
        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());
            }
        }
Exemplo n.º 2
0
        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());
            }
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 5
0
        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());
            }
        }
Exemplo n.º 6
0
        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]);
            }
        }