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

            dec.SetExpiryDate(dec.ExpiryDate.AddSeconds(this.TouchIncrementSecs));
            return(this);
        }
 public static FloatingDateExpirableDecoration DecorateWithFloatingDateExpirable(this DateExpirableDecoration thing, int touchIncrementSecs)
 {
     Condition.Requires(thing).IsNotNull();
     return(new FloatingDateExpirableDecoration(thing, touchIncrementSecs));
 }
 public FloatingDateExpirableDecoration(DateExpirableDecoration decorated, int touchIncrementSecs)
     : base(decorated)
 {
     Condition.Requires(touchIncrementSecs).IsGreaterThan(0);
     this.TouchIncrementSecs = touchIncrementSecs;
 }