public void AddMovement(Movement movement) { if (TimelineUtils.HasIntersection(Movements, movement)) { throw new SfaException("Пересечение интервалов перемещения объекта: " + movement.ObjectId); } Movements.Add(movement); Movements.Sort((l, r) => l.Start.CompareTo(r.Start)); }
private static IEnumerable <Movement> ParseMovements(IEnumerable <XElement> movementNodes) { var list = new List <Movement>(); foreach (var movement in movementNodes.Select(ParseMovement)) { if (TimelineUtils.HasIntersection(list, movement)) { throw new SfaException("Пересечение интервалов перемещения объекта: " + movement.ObjectId); } list.Add(movement); } return(list); }