Esempio n. 1
0
 /// <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;
 }
Esempio n. 2
0
        /// <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}");
        }
Esempio n. 3
0
 public MessageMemento GetMemento()
 {
     return(new MessageMemento()
     {
         Hash = Hash.ToString(),
         MessageType = Type,
         Predecessors = Predecessors
                        .Select(p => p.ToString())
                        .ToList(),
         ObjectId = ObjectId,
         Body = Body
     });
 }
Esempio n. 4
0
 public override string ToString()
 {
     return($"{Id} P:[{string.Join(",", Predecessors.Select(p => p.Id))}] S:[{string.Join(",", Successors.Select(s => s.Id))}]");
 }