/// <summary> /// Vorwärtsterminierung. Berechnet den frühesten Anfangs- und Endzeitpunkt des Vorgangs. /// </summary> internal void ForwardPassCalculation() { EarliestStartingPoint = IsInitial ? 0 : Predecessors.Select(pre => pre.EarliestFinishingPoint).Max(); EarliestFinishingPoint = EarliestStartingPoint + Duration; }
/// <summary> /// Erzeugt eine textuelle Repräsentation des Vorgangs. Angelehnt an die Syntax des Prozessplans. /// </summary> /// <returns>Textuelle Repräsentation des Vorgangs.</returns> internal string GetInfo() { string predecessors = String.Join(",", Predecessors.Select(n => n.ID)); string ancestors = String.Join(",", Successors.Select(n => n.ID)); predecessors = String.IsNullOrWhiteSpace(predecessors) ? "-" : predecessors; ancestors = String.IsNullOrWhiteSpace(ancestors) ? "-" : ancestors; return($"{ID} | {Description} | {Duration} | {predecessors} | {ancestors}"); }
public MessageMemento GetMemento() { return(new MessageMemento() { Hash = Hash.ToString(), MessageType = Type, Predecessors = Predecessors .Select(p => p.ToString()) .ToList(), ObjectId = ObjectId, Body = Body }); }
public override string ToString() { return($"{Id} P:[{string.Join(",", Predecessors.Select(p => p.Id))}] S:[{string.Join(",", Successors.Select(s => s.Id))}]"); }