예제 #1
0
        public void CreateOrderWithProducts(OrderCreationViewModel orderCreationViewModel)
        {
            var order = new Order
            {
                Id            = orderCreationViewModel.Id,
                CreationDate  = orderCreationViewModel.CreationDate,
                EstimatedDate = orderCreationViewModel.EstimatedDate,
                StatusId      = orderCreationViewModel.StatusId,
                CustomerId    = orderCreationViewModel.CustomerId
            };

            OrderRepository.AddOrder(order);
            try
            {
                OrderRepository.SaveChanges();
            }
            catch (DataException dx)
            {
                Console.WriteLine("cant save changes");
            }

            var orderedProducts = orderCreationViewModel.Products.Where(p => p.IsOrdered).Select(s => s.Id);

            foreach (var op in orderedProducts)
            {
                var opderedProduct = new OrderProduct()
                {
                    OrderId   = order.Id,
                    ProductId = op
                };
                OrderRepository.AddOrderProduct(opderedProduct);
            }

            try
            {
                OrderRepository.SaveChanges();
            }
            catch (DataException dx)
            {
                Console.WriteLine("cant save changes");
            }
        }