예제 #1
0
파일: Duration.cs 프로젝트: ewin66/ComSim
        /// <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());
        }
예제 #2
0
파일: Duration.cs 프로젝트: ewin66/ComSim
        /// <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());
        }
예제 #3
0
파일: Duration.cs 프로젝트: ewin66/ComSim
        /// <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(')');
            }
        }
예제 #4
0
파일: Get.cs 프로젝트: ewin66/ComSim
        /// <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));
        }
예제 #5
0
파일: Duration.cs 프로젝트: ewin66/ComSim
        /// <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);
        }
예제 #6
0
파일: Duration.cs 프로젝트: ewin66/ComSim
 /// <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;
 }
예제 #7
0
파일: Argument.cs 프로젝트: ewin66/ComSim
 /// <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));
 }