public ITouchable Touch()
        {
            WindowExpirableDecoration dec = this.Decorated as WindowExpirableDecoration;

            dec.SetWindow(dec.StartDate, dec.EndDate.AddSeconds(this.TouchIncrementSecs));
            return(this);
        }
 public FloatingWindowExpirableDecoration(WindowExpirableDecoration decorated, int touchIncrementSecs)
     : base(decorated)
 {
     Condition.Requires(touchIncrementSecs).IsGreaterThan(0);
     this.TouchIncrementSecs = touchIncrementSecs;
 }
 public static FloatingWindowExpirableDecoration DecorateWithFloatingWindowExpirable(this WindowExpirableDecoration thing, int touchIncrementSecs)
 {
     Condition.Requires(thing).IsNotNull();
     return(new FloatingWindowExpirableDecoration(thing, touchIncrementSecs));
 }
 public FloatingWindowExpirableDecoration(WindowExpirableDecoration decorated, int touchIncrementSecs)
     : base(decorated)
 {
     Condition.Requires(touchIncrementSecs).IsGreaterThan(0);
     this.TouchIncrementSecs = touchIncrementSecs;
 }