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"); } }