private void UpdateStageOfLife() { Log.Debug($"CurrentStage: {stageOfLife.GetType()} age: {age}"); if (stageOfLife is AdultStage) { // no need to change anything here. return; } if (stageOfLife is TeenStage && age > TeenStage.MaxAge) { stageOfLife = new AdultStage(); } if (stageOfLife is ChildStage && age > ChildStage.MaxAge) { stageOfLife = new TeenStage(); } if (stageOfLife is BabyStage && age > BabyStage.MaxAge) { stageOfLife = new ChildStage(); } // else we are still a baby. }
public RespondStageOfLife(long requestId, IStageOfLife stageOfLifeValue) { RequestId = requestId; StageOfLife = stageOfLifeValue; }