/// <summary> /// Converts a duration to a string. /// </summary> /// <param name="Duration">Duration</param> /// <returns>String representation of duration.</returns> public static string ToString(Waher.Content.Duration Duration) { StringBuilder sb = new StringBuilder(); ExportText(Duration, sb); return(sb.ToString()); }
/// <summary> /// Exports PlantUML /// </summary> /// <param name="Duration">Duration value.</param> /// <param name="Output">Output</param> public static void ExportText(Waher.Content.Duration Duration, StreamWriter Output) { StringBuilder sb = new StringBuilder(); ExportText(Duration, sb); Output.Write(sb.ToString()); }
/// <summary> /// Exports PlantUML /// </summary> /// <param name="Duration">Duration value.</param> /// <param name="Output">Output</param> public static void ExportText(Waher.Content.Duration Duration, StringBuilder Output) { if (Duration.Negation) { Output.Append("-("); } bool First = true; Append(Output, Duration.Years, "years", "year", ref First); Append(Output, Duration.Months, "months", "month", ref First); Append(Output, Duration.Days, "d", null, ref First); Append(Output, Duration.Hours, "h", null, ref First); Append(Output, Duration.Minutes, "min", null, ref First); int s = (int)Duration.Seconds; Append(Output, s, "s", null, ref First); int ms = (int)((Duration.Seconds - s) * 1000); Append(Output, ms, "ms", null, ref First); if (Duration.Negation) { Output.Append(')'); } }
/// <summary> /// Sets properties and attributes of class in accordance with XML definition. /// </summary> /// <param name="Definition">XML definition</param> public override Task FromXml(XmlElement Definition) { this.actor = XML.Attribute(Definition, "actor"); this.queue = XML.Attribute(Definition, "queue"); this.variable = XML.Attribute(Definition, "variable"); this.timeout = XML.Attribute(Definition, "timeout", Waher.Content.Duration.Zero); return(base.FromXml(Definition)); }
/// <summary> /// Sets properties and attributes of class in accordance with XML definition. /// </summary> /// <param name="Definition">XML definition</param> public override Task FromXml(XmlElement Definition) { this.value = XML.Attribute(Definition, "value", Waher.Content.Duration.Zero); return(Task.CompletedTask); }
/// <summary> /// Duration value. /// </summary> /// <param name="Parent">Parent node</param> /// <param name="Model">Model in which the node is defined.</param> /// <param name="Value">Value</param> public Duration(ISimulationNode Parent, Model Model, Waher.Content.Duration Value) : base(Parent, Model) { this.value = Value; }
/// <summary> /// Defines an argument in an action. /// </summary> /// <param name="Parent">Parent node</param> /// <param name="Model">Model in which the node is defined.</param> /// <param name="Name">Name of argument.</param> /// <param name="Value">Argument value.</param> public Argument(ISimulationNode Parent, Model Model, string Name, Waher.Content.Duration Value) : base(Parent, Model) { this.name = Name; this.AddChild(new Duration(this, Model, Value)); }