public Order_FullDetails(ICustomerData customerData, IEmployeeData employeeData, IImageData imageData, IOrderData orderData, IPartData partData, IOrderPartData OrderPartData, IStatusData statusData, int orderId) { Order order = orderData.Get(orderId); if (order == null) { throw new NotFoundInDatabaseException(); } Employee employee = employeeData.Get(order.EmployeeId); Details = new Order_Detail(employee, customerData, statusData, order); this.OrderParts = new List <OrderPart_Detail>(); EmployeePayPerHour = employee.PayPerHour; IEnumerable <OrderPart> OrderParts = OrderPartData.Get(orderId); foreach (OrderPart OrderPart in OrderParts) { OrderPart_Detail newDetail = new OrderPart_Detail(partData, OrderPart); this.OrderParts = this.OrderParts.Concat(new[] { newDetail }); } Images = imageData.GetOrderImages(orderId); }