Beispiel #1
0
        public override RecordInfo Read(string infoString)
        {
            RecordInfo info = new RecordInfo();
            var match = Regex.Match(infoString, ReadPattern);
            info.Start = DateTime.Parse(match.Groups[1].Value + " " + match.Groups[2].Value);
            info.Stop = DateTime.Parse(match.Groups[1].Value + " " + match.Groups[3].Value);

            return info;
        }
Beispiel #2
0
 public override string Write(RecordInfo info)
 {
     string timeFormat = "yyyy/MM/dd HH:mm:ss";
     return string.Format(WritePattern,
             info.Start.HasValue ? info.Start.Value.ToString(timeFormat) : null,
             info.Stop.HasValue ? info.Stop.Value.ToString(timeFormat) : null,
             info.SpanStr,
             info.TotalMonthLateStr
             );
 }
Beispiel #3
0
 private void AddItem()
 {
     var newItem = new RecordInfo();
     newItem.PreRecordInfo = LastRecordInfo;
     Items.Insert(0, newItem);
 }
Beispiel #4
0
 public abstract string Write(RecordInfo info);
Beispiel #5
0
 public override string Write(RecordInfo info)
 {
     string timeFormat = "yyyy/MM/dd HH:mm:ss";
     return string.Format(WritePattern,
             info.Start.HasValue ? info.Start.Value.ToString(timeFormat) : "".PadLeft(timeFormat.Length + 3, repeatChar),
             info.Stop.HasValue ? info.Stop.Value.ToString(timeFormat) : "".PadLeft(timeFormat.Length + 3, repeatChar),
             info.SpanStr,
             info.TotalMonthLateStr
             );
 }
Beispiel #6
0
        public override RecordInfo Read(string infoString)
        {
            RecordInfo info = new RecordInfo();
            var match = Regex.Match(infoString, ReadPattern);
            if (!string.IsNullOrEmpty(match.Groups[1].Value) &&
                !string.IsNullOrEmpty(match.Groups[1].Value.Replace(repeatChar.ToString(), "")))
                info.Start = DateTime.Parse(match.Groups[1].Value);
            if (!string.IsNullOrEmpty(match.Groups[2].Value) &&
                !string.IsNullOrEmpty(match.Groups[2].Value.Replace(repeatChar.ToString(), "")))
                info.Stop = DateTime.Parse(match.Groups[2].Value);

            return info;
        }
Beispiel #7
0
 public TimeSpan? GetTotalMonthLate(RecordInfo info)
 {
     if (info.PreRecordInfo == null || info.PreRecordInfo.Month != info.Month)
         return info.TotalLate;
     TimeSpan lastMonthSpan = GetTotalMonthLate(info.PreRecordInfo) ?? TimeSpan.Zero;
     return lastMonthSpan + (info.TotalLate ?? TimeSpan.Zero);
 }
Beispiel #8
0
 public abstract string Write(RecordInfo info);