У меня есть класс Order:
public class Order : IOrder
{
public long Id { get; private set; }
public string Serial { get; private set; }
public long CustomerId { get; set; }
public Order() { }
public IOrderItems GetOrderItems()
{
return new OrderItems(Id);
}
}
И я хотел добавить и расширение в order: OrderItems, поэтому я использовал шаблоны объектов расширений - как вы можете видеть, Order имеет GetOrderItems ().OrderItems выглядит следующим образом:
public class OrderItems : IOrderItems
{
public IItem[] Items { get; set; }
public OrderItems(long orderId)
{
Items = Item.GetItems(orderId);
}
}
Поскольку я пишу веб-приложение, я использую веб-сервисы.Моя проблема в том, что иногда мне нужно получать данные Заказа без его Товаров, а иногда мне нужно получать данные Заказа с его Предметами.Получение объекта Order не очень помогает, так как он не получает клиенту его Предметы.Если я преобразую GetOrderItems в свойство - я всегда буду возвращать OrderItems клиенту, а это не то, что я ищу.
Кроме того - иногда клиент захочет вызвать один веб-сервис только с Orderв качестве параметра, а иногда клиент захочет вызвать другой веб-сервис с Order и Items в качестве параметров.
Как я могу решить эту проблему?