private void RemoveUnitFromGroup(SalesUnitOrderGroupsCollection collection, SalesUnitOrderItem unit) { //группа из которой необходимо удалить юнит var group = collection.Single(x => x.Units.Contains(unit)); //удаление group.Units.Remove(unit); //если в группе не осталось юнитов, удаляем группу из коллекции if (!group.Units.Any()) { collection.Remove(group); } }
private void AddUnit(SalesUnitOrderItem unit) { //фиксируем заказ unit.Order = Item; //фиксируем дату действия и заказ unit.SignalToStartProductionDone = DateTime.Today; //ставим предполагаемую дату производства unit.EndProductionPlanDate = unit.EndProductionDateExpected; //заполняем позиции заказа unit.OrderPosition = "1"; //добавляем группу в план производства GroupsInOrder.Add(new SalesUnitOrderGroup(new List <SalesUnitOrderItem> { unit })); //удаляем в подгруппах RemoveUnitFromGroup(GroupsPotential, unit); }