public void AddTimeObject(ITimeObject timeObject) { lock (_timeObjectsLock) { _timeObjects.Add(timeObject); } }
public void Register(ITimeObject obj) { if (!_context.NotYetUpdate.Contains(obj)) { _context.NotYetUpdate.Add(obj); } }
public static LynxTime getPositionTime(ITimeObject o) { if (o is ITimePeriodObject) { return((o as ITimePeriodObject).BeginTime); } if (o is ITimePointObject) { return((o as ITimePointObject).HappenTime); } return(null); }
public void UnRegister(ITimeObject obj) { _context.NotYetUpdate.Remove(obj); _context.Updated.Remove(obj); }
/// <summary> /// Converts a date to a period in year index /// </summary> /// <param name="o"></param> /// <param name="week">Zero-indexed week</param> /// <param name="day">S+ day</param> /// <returns></returns> public static int DateToPeriod(this ITimeObject o, int week, int day) { return(o.PeriodsPerDay * 7 * week + day * o.PeriodsPerDay); }
public static int DateToPeriod(this ITimeObject o, DateTime date) { return((int)Math.Floor(date.Subtract(o.StartDate).TotalDays) * o.PeriodsPerDay + (date.TimeOfDay == TimeSpan.FromDays(0) ? 0 : o.TimeToPeriod(date.TimeOfDay))); }
public static DayOfWeek GetDay(this ITimeObject o, int day) { return((DayOfWeek)((day + 1) % 7)); }
public static int GetWeek(this ITimeObject o, DateTime date) { return((int)Math.Ceiling((date.Date.Subtract(o.StartDate).TotalDays + 1) / 7.0) - 1); }
public static TimeSpan PeriodToTime(this ITimeObject o, int periodInDay) { return(o.StartTime.Add(TimeSpan.FromMinutes(periodInDay * o.PeriodLength))); }
public static int TimeToPeriod(this ITimeObject o, TimeSpan time) { return((int)(time.Subtract(o.StartTime).TotalMinutes / o.PeriodLength)); }