public async Task FetchSingleByIDAsync()
        {
            int id    = 1;
            var order = await ConnectorOrders.FetchSingleAsync(id);

            Console.WriteLine($"{order.ID} - {order.Created} - {order.CustomerID}");

            Assert.IsTrue(order?.ID == id);
        }
        public async Task FetchAllAsync()
        {
            var orders = await ConnectorOrders.FetchAllAsync();

            foreach (var order in orders)
            {
                Console.WriteLine($"{order.ID} - {order.Created} - {order.CustomerID}");
            }

            Assert.IsTrue(orders.Count > 0);
        }
        public async Task FetchSingleBySqlAsync()
        {
            int id = 3;

            string sql = $"SELECT * FROM cat_Orders WHERE Order_Key = {id}"; //this is BAD PRACTICE! always use parameters

            var order = await ConnectorOrders.FetchSingleAsync(sql);

            Console.WriteLine($"{order.ID} - {order.Created} - {order.CustomerID}");

            Assert.IsTrue(order?.ID == id);
        }
        public async Task FetchAllBySqlAsync()
        {
            string sql    = "SELECT TOP(3) * FROM cat_Orders";
            var    orders = await ConnectorOrders.FetchAllAsync(sql);

            foreach (var order in orders)
            {
                Console.WriteLine($"{order.ID} - {order.Created} - {order.CustomerID}");
            }

            Assert.IsTrue(orders.Count > 0);
        }
        public async Task SaveNewAsync()
        {
            var order = new Order()
            {
                CustomerID    = 1,
                Created       = DateTime.UtcNow,
                DeliveryTime  = new TimeSpan(3, 20, 35),
                DeliveryTime2 = DateTime.UtcNow.TimeOfDay
            };
            await ConnectorOrders.SaveAsync(order);

            Assert.IsTrue(order.ID > 0);
        }
        public async Task FetchSingleByFilterAsync()
        {
            int id = 2;

            var filter = ConnectorOrders.CreateQuery();

            filter.Add(x => x.ID, id);

            var order = await ConnectorOrders.FetchSingleAsync(filter);

            Console.WriteLine($"{order.ID} - {order.Created} - {order.CustomerID}");

            Assert.AreEqual(id, order?.ID);
        }
        public async Task FetchWhereInEmptyEnumerableAsync()
        {
            var request = new DataQuery <Order>();

            request.Add(x => x.ID, new int[] { }, ComparisonOperator.In);
            var orders = await ConnectorOrders.FetchAllAsync(request);

            foreach (var order in orders)
            {
                Console.WriteLine($"{order.ID} - {order.Created} - {order.CustomerID}");
            }

            Assert.AreEqual(0, orders.Count);
        }
        public async Task FetchWhereInIntAsync()
        {
            var request = new DataQuery <Order>();

            //request.WhereClause.Add(new DatabaseDataValueColumn("Order_Key", System.Data.SqlDbType.Int, new int[] { 1, 2,3 }, ComparisonOperator.In));
            request.Add(x => x.ID, new int[] { 1, 2, 3 }, ComparisonOperator.In);
            var orders = await ConnectorOrders.FetchAllAsync(request);

            foreach (var order in orders)
            {
                Console.WriteLine($"{order.ID} - {order.Created} - {order.CustomerID}");
            }

            Assert.IsTrue(orders.Count == 3);
        }
        public async Task FetchSingleBySqlAndFilterAsync()
        {
            int id = 3;

            string sql = $"SELECT * FROM cat_Orders WHERE Order_Key = @orderID"; //this is BAD PRACTICE! always use parameters

            var filter = ConnectorOrders.CreateQuery();

            filter.AddParameter("@orderID", id);

            var order = await ConnectorOrders.FetchSingleAsync(sql, filter);

            Console.WriteLine($"{order.ID} - {order.Created} - {order.CustomerID}");

            Assert.IsTrue(order?.ID == id);
        }
Ejemplo n.º 10
0
        public async Task TestCancellation()
        {
            var cts    = new CancellationTokenSource();
            var filter = new DataQuery <Order>();

            cts.Cancel();
            try
            {
                var orders = await ConnectorOrders.FetchAllAsync(filter, cts.Token);

                Assert.Fail();
            }
            catch (TaskCanceledException)
            {
            }
        }
Ejemplo n.º 11
0
        public async Task SaveExistingAsync()
        {
            //save the order
            var order = ConnectorOrders.FetchSingle(20);


            string newComments = DateTime.UtcNow.ToString();

            order.Comments      = newComments;
            order.DeliveryTime  = null;
            order.DeliveryTime2 = DateTime.UtcNow.TimeOfDay;
            ConnectorOrders.Save(order);

            //retrieve order again from database
            order = await ConnectorOrders.FetchSingleAsync(20);


            Assert.AreEqual(newComments, order.Comments);
        }
Ejemplo n.º 12
0
        public async Task FetchPagingAsync()
        {
            var request = new DataQuery <Order>();

            request.AddPaging(5, 2);

            var orders = await ConnectorOrders.FetchAllAsync(request);

            foreach (var order in orders)
            {
                Console.WriteLine($"{order.ID} - {order.Created} - {order.CustomerID}");
            }

            Console.WriteLine("Total number of rows: " + orders.TotalNumberOfRows);
            Console.WriteLine("Total number of pages: " + orders.TotalNumberOfPages);

            Assert.IsTrue(orders.Count == request.Paging.NumberOfRows);
            Assert.IsTrue(request.Paging.TotalNumberOfRows.HasValue);
            Assert.IsTrue(orders.TotalNumberOfPages.HasValue);
            Assert.IsTrue(orders.TotalNumberOfRows.HasValue);
        }
Ejemplo n.º 13
0
        public async Task FetchNotExistingAsync()
        {
            var order = await ConnectorOrders.FetchSingleAsync(-1);

            Assert.IsTrue(order == null);
        }