private void OnTimeInterval(ITimeIntervalGenerator sender, TimeIntervalEventArgs args) { var context = new SessionContext(entities, DateTime.UtcNow - date); foreach (var entity in entities.OfType <IUpdatable <ISessionContext> >()) { entity.Update(context); } }
/// <summary> /// Инициализирует новый экземпляр класса <see cref="T:System.Object"/>. /// </summary> public Session(ITimeIntervalGenerator generator, IList <IEntity> entities, TimeSpan interval) { this.generator = generator; this.entities = entities; generator.TimeInterval += OnTimeInterval; date = DateTime.UtcNow; token = generator.Start(interval); }