Example #1
0
        private void SeedMockData()
        {
            using var context = new OrderDbContext(ContextOptions);
            context.Database.EnsureDeleted();
            context.Database.Migrate();

            var order1 = new Order()
            {
                OrderDate     = new DateTime(2020, 11, 20),
                Status        = OrderStatus.Delivered,
                UserId        = "11223344-5566-7788-99AA-BBCCDDEEFF00",
                Email         = "*****@*****.**",
                FirstName     = "Marie",
                LastName      = "Dahlmalm",
                Address       = "Årstaängsvägen 9",
                ZipCode       = "12345",
                City          = "Stockholm",
                Country       = "Sweden",
                Phone         = "555123456",
                ShippingNotes = "",
                OrderProducts = new List <OrderProduct>()
                {
                    new OrderProduct()
                    {
                        Name     = "Kladdkaka",
                        Quantity = 11,
                        Price    = 11.99M,
                        OrderId  = 2000
                    },
                    new OrderProduct()
                    {
                        Name     = "Cheesecake",
                        Quantity = 2,
                        Price    = 29M,
                        OrderId  = 2000
                    }
                }
            };
            var order2 = new Order
            {
                UserId = "d514be83-bebb-4fe7-b905-e8db158a9ffd"
            };

            context.AddRange(order1, order2);

            context.SaveChanges();
        }
Example #2
0
        public async Task <Order> UpdateOrderAsync(Order order)
        {
            if (_orderDbContext.Orders.Any(item => item.Id == order.Id))
            {
                var items = _orderDbContext.OrderItems.Where(o => o.OrderId == order.Id);
                _orderDbContext.OrderItems.RemoveRange(items);
                foreach (var item in order.OrderItems)
                {
                    item.OrderId = order.Id;
                    item.Id      = Guid.NewGuid().ToString();
                }
                _orderDbContext.AddRange(order.OrderItems);
                var entity = _orderDbContext.Orders.Update(order).Entity;

                await _orderDbContext.SaveChangesAsync();

                return(entity);
            }
            return(order);
        }