public Interval(string intervalString) { string[] strs = intervalString.Split(','); int length = strs.Length; _Seconds = Convert.ToInt32(strs[0].Trim()); _Name = strs[1].Trim(); _FirstClock = Convert.ToDateTime(strs[2].Trim()); _Format = strs[3].Trim(); _TickType = strs[4].Trim(); _Ticks = Convert.ToInt32(strs[5].Trim()); string str = strs[6]; if (str != null && str.Trim().Length > 0) { _OffsetTickType = str.Trim(); } str = strs[7]; if (str != null && str.Trim().Length > 0) { _OffsetTicks = Convert.ToInt32(str.Trim()); } str = strs[8]; if (str != null && str.Trim().Length > 0) { string[] subs = str.Split('.'); _Options = new List <string>(); foreach (string sub in subs) { if (!string.IsNullOrEmpty(sub.Trim())) { _Options.Add(sub.Trim()); } } } if (strs.Length > 9) { str = strs[9]; if (str != null && str.Trim().Length > 0) { _SmallerId = Convert.ToInt32(str.Trim()); } } if (strs.Length > 10) { str = strs[10]; if (str != null && str.Trim().Length > 0) { _BiggerId = Convert.ToInt32(str.Trim()); } } _Rounder = Rounders[_TickType].Clone(); _Rounder.Ticks = _Ticks; _Rounder.Options = _Options; _Rounder.FirstClock = _FirstClock; }
public DateTime Offset(DateTime from) { if (_OffsetTicks == 0 || String.IsNullOrEmpty(_OffsetTickType)) { return(from); } TickTypeRounder offsetRounder = _Rounders[_OffsetTickType]; return(offsetRounder.MoveN(from, _OffsetTicks)); }
public TickTypeRounder(TickTypeRounder src) { this.FirstClock = src.FirstClock; this.Options = src.Options; this.Ticks = src.Ticks; }