public void PlaceOrder(OrderModel orderModel) { var phones = _cart.Items.Select(p => p.Phone).ToList(); var order = PrepareOrder(orderModel); foreach (var p in phones) { string image = ""; foreach (var img in p.Images) { if (string.IsNullOrWhiteSpace(image)) { image += img; } else { image += "?" + img; } } var manufacturer = _manufacturerRepository.GetRange().Where(m => m.Name == p.Manufacturer).FirstOrDefault(); var phone = _phoneRepository.GetRange().Where(ph => ph.Name == p.Name).First(); var orderItem = PrepareOrderItem(phone, order, p.ID); _orderItemRepository.SaveOrderItem(orderItem); } _orderRepository.SaveOrder(order); }