Example #1
0
        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;
        }
Example #2
0
        public DateTime Offset(DateTime from)
        {
            if (_OffsetTicks == 0 || String.IsNullOrEmpty(_OffsetTickType))
            {
                return(from);
            }
            TickTypeRounder offsetRounder = _Rounders[_OffsetTickType];

            return(offsetRounder.MoveN(from, _OffsetTicks));
        }
Example #3
0
 public TickTypeRounder(TickTypeRounder src)
 {
     this.FirstClock = src.FirstClock;
     this.Options    = src.Options;
     this.Ticks      = src.Ticks;
 }