public new object Clone()
 {
     OrderList NewList = new OrderList();
     foreach (OrderItem item in items)
     {
         NewList.Add((OrderItem)item.Clone());
     }
     return NewList;
 }
 /// <summary>
 /// Расставляем директивные сроки в зависмости от заказа
 /// </summary>
 /// <param name="Orders">Списко исходных заказов.</param>
 /// <param name="Tasks">Список исходных заданий.</param>
 private void SetDirectiveFromOrder(OrderList Orders, TaskList Tasks)
 {
     // Копируем директивные сроки из заказа в каждое задание
     for (int i = 0; i < Orders.Count; i++)
     {
         for (int j = 0; j < Tasks.Count; j++)
         {
             if (Tasks[j].OrderId == Orders[i].Id)
             {
                 if (Orders[i].DeadLine != null)
                 {
                     Tasks[j].UseDeadLine = true;
                     Tasks[j].DeadLine = Orders[i].DeadLine.Value;
                 }
                 else
                     Tasks[j].UseDeadLine = false;
             }
         }
     }
 }
 public void Assign(Configuration Obj)
 {
     baseTime = Obj.baseTime;
     materials = (MaterialList)Obj.materials.Clone();
     saws = (DeviceList)Obj.saws.Clone();
     grinders = (DeviceList)Obj.grinders.Clone();
     productions = (ProductionList)Obj.productions.Clone();
     customers = (CustomerList)Obj.customers.Clone();
     orders = (OrderList)Obj.orders.Clone();
     tasks = (TaskList)Obj.tasks.Clone();
 }