Esempio n. 1
0
        public Order AddOrder(Order order)
        {
            IEnumerable <(bool productFound, OrderLine orderLine)> orderlines = order.OrderLines.LeftJoin(
                context.Products,
                ol => ol.Product.Id,
                p => p.Id,
                ol => (false, ol),
                (ol, p) => (true, new OrderLine()
            {
                Product = p,
                Quantity = ol.Quantity,
                Fulfilled = ol.Fulfilled
            })).ToArray();

            var faultyLines = orderlines.Where(ol => !ol.productFound).Select(ol => ol.orderLine);

            if (faultyLines.Any())
            {
                throw new Exception($"Product id's [{string.Join(", ", faultyLines.Select(ol => ol.Product.Id))}] from orderlines could not be found.");
            }

            Order newOrder = new Order()
            {
                Date       = order.Date,
                Remark     = order.Remark,
                OrderLines = orderlines.Where(ol => ol.Item1).Select(ol => ol.Item2).ToList()
            };

            context.Orders.Add(newOrder);

            context.SaveChanges();

            return(newOrder);
        }
Esempio n. 2
0
        public void UpdateOrderTestAddedOrderlines()
        {
            Order order = orderService.AddOrder(mockFactory.CreateOrder());

            order.OrderLines.Add(mockFactory.CreateOrderLine(0, 2, 1, 0));
            context.SaveChanges();

            Order updatedOrder = orderService.UpdateOrder(order);

            Assert.Equal(order.OrderLines.Count, updatedOrder.OrderLines.Count);
        }
Esempio n. 3
0
        public void GetOrdersTestCount()
        {
            int orderCount = 3;

            for (int i = 0; i < orderCount; i++)
            {
                Order order = mockFactory.CreateOrder();
                context.Add(order);
                context.SaveChanges();
            }

            var orders = orderService.GetOrders();

            Assert.Equal(orderCount, orders.Count());
        }
Esempio n. 4
0
        public EarlessContext InitializeContext()
        {
            EarlessContext context = TestDbGenerator.CreateContext();

            TestDbGenerator.Initialize(context);

            productCategories = GetProductCategories(false);
            context.AddRange();

            products = GetProducts(false, productCategories);

            context.AddRange(products);
            context.SaveChanges();

            return(context);
        }