Ejemplo n.º 1
0
 public void AddTimeObject(ITimeObject timeObject)
 {
     lock (_timeObjectsLock)
     {
         _timeObjects.Add(timeObject);
     }
 }
Ejemplo n.º 2
0
 public void Register(ITimeObject obj)
 {
     if (!_context.NotYetUpdate.Contains(obj))
     {
         _context.NotYetUpdate.Add(obj);
     }
 }
Ejemplo n.º 3
0
 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);
 }
Ejemplo n.º 4
0
 public void UnRegister(ITimeObject obj)
 {
     _context.NotYetUpdate.Remove(obj);
     _context.Updated.Remove(obj);
 }
Ejemplo n.º 5
0
 /// <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);
 }
Ejemplo n.º 6
0
 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)));
 }
Ejemplo n.º 7
0
 public static DayOfWeek GetDay(this ITimeObject o, int day)
 {
     return((DayOfWeek)((day + 1) % 7));
 }
Ejemplo n.º 8
0
 public static int GetWeek(this ITimeObject o, DateTime date)
 {
     return((int)Math.Ceiling((date.Date.Subtract(o.StartDate).TotalDays + 1) / 7.0) - 1);
 }
Ejemplo n.º 9
0
 public static TimeSpan PeriodToTime(this ITimeObject o, int periodInDay)
 {
     return(o.StartTime.Add(TimeSpan.FromMinutes(periodInDay * o.PeriodLength)));
 }
Ejemplo n.º 10
0
 public static int TimeToPeriod(this ITimeObject o, TimeSpan time)
 {
     return((int)(time.Subtract(o.StartTime).TotalMinutes / o.PeriodLength));
 }