/// <summary>
        /// Change a <see cref="GenericTimeModel" /> object so that its displayed text represents the properties of this object.
        /// </summary>
        /// <param name="model">The object to be updated.</param>
        /// <param name="formats">The format strings to use for displaying times, or null if not available.</param>
        public void UpdateModel(GenericTimeModel model, TimeDisplayFormattingStrings formats)
        {
            if (model == null)
            {
                return;
            }

            // Use the Text property if this has been set.
            if (!string.IsNullOrWhiteSpace(Text))
            {
                model.ActualTime    = null;
                model.DisplayedText = Text;
            }
            // If the Text property has not been set, use the time.  Format the time using the supplied parameter if available.
            else if (AtTime != null)
            {
                model.ActualTime = AtTime.Copy();
                if (formats == null)
                {
                    model.DisplayedText = AtTime.ToString(); // This will be updated later with the correct formatting string.
                }
                else
                {
                    model.DisplayedText = AtTime.ToString(formats.TimeWithoutFootnotes, CultureInfo.CurrentCulture);
                }
            }
            else
            {
                model.ActualTime    = null;
                model.DisplayedText = "";
            }
        }
Beispiel #2
0
 public override string ToString()
 {
     return($"{{{nameof(MsgId)}={MsgId}, " +
            $"{nameof(PkTotal)}={PkTotal}, " +
            $"{nameof(PkNumber)}={PkNumber}, " +
            $"{nameof(RegisteredDelivery)}={RegisteredDelivery}, " +
            $"{nameof(MsgLevel)}={MsgLevel}, " +
            $"{nameof(ServiceId)}={ServiceId?.TrimEnd('\0')}, " +
            $"{nameof(FeeUserType)}={FeeUserType}, " +
            $"{nameof(FeeTerminalId)}={FeeTerminalId.TrimEnd('\0')}, " +
            $"{nameof(FeeTerminalType)}={FeeTerminalType}, " +
            $"{nameof(TPPId)}={TPPId}, {nameof(TPUdhi)}={TPUdhi}, " +
            $"{nameof(MsgFmt)}={MsgFmt}, {nameof(MsgSrc)}={MsgSrc}, " +
            $"{nameof(FeeType)}={FeeType.TrimEnd('\0')}, " +
            $"{nameof(FeeCode)}={FeeCode.TrimEnd('\0')}, " +
            $"{nameof(ValidTime)}={ValidTime.TrimEnd('\0')}, " +
            $"{nameof(AtTime)}={AtTime.TrimEnd('\0')}, " +
            $"{nameof(SrcId)}={SrcId.TrimEnd('\0')}, " +
            $"{nameof(DestUsrTl)}={DestUsrTl}, " +
            $"{nameof(DestTerminalId)}={(DestTerminalId.Length>0?DestTerminalId[0].TrimEnd('\0'):"")}, " +
            $"{nameof(DestTerminalType)}={DestTerminalType}, " +
            $"{nameof(MsgLength)}={MsgLength}, " +
            $"{nameof(MsgContent)}={MsgContent}, " +
            //$"{nameof(LinkId)}={LinkId?.TrimEnd('\0')}, " +
            $"{nameof(Reserve)}={Reserve?.TrimEnd('\0')}}}");
 }
        /// <summary>
        /// Overwrite another object's contents with a copy of the contents of this object.
        /// </summary>
        /// <param name="target">The object to be overwritten.</param>
        public void CopyTo(ToWork target)
        {
            if (target == null)
            {
                throw new ArgumentNullException(nameof(target));
            }

            target.AtTime = AtTime?.Copy();
            target.Text   = Text;
        }
Beispiel #4
0
 /// <summary>
 /// Serilize this object's properties to XML.
 /// </summary>
 /// <param name="writer">Destination to write XML to.</param>
 public void WriteXml(XmlWriter writer)
 {
     if (writer is null)
     {
         throw new ArgumentNullException(nameof(writer));
     }
     if (AtTime != null)
     {
         writer.WriteStartElement("AtTime");
         AtTime.WriteXml(writer);
         writer.WriteEndElement();
     }
     if (Text != null)
     {
         writer.WriteElementString("Text", Text);
     }
 }
Beispiel #5
0
        public event TimerHandler AtTime2; //事件容器

        private void timer1_Tick(object sender, EventArgs e)
        {
            label1.Text = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
            if (this.AtTime != null)  // 先判斷 Form1 是否有事件
            {
                AtTime.Invoke(this, new TimerEventArgs()
                {
                    CurrentTime = DateTime.Now
                });                                                                       //呼叫事件
            }
            if (this.AtTime2 != null)
            {
                AtTime2.Invoke(this, new TimerEventArgs()
                {
                    CurrentTime = DateTime.Now
                });                                                                        //呼叫事件
            }
        }
 /// <summary>
 /// Make a copy of this object.
 /// </summary>
 /// <returns>A copy of this object.</returns>
 public ToWork Copy()
 {
     return(new ToWork {
         AtTime = AtTime?.Copy(), Text = Text
     });
 }