public override string ToString()
{
if (AchieveTime.HasValue && Value != 0)
return $"Achieved({AchieveTime}), Value({Value})";
if (AchieveTime.HasValue)
return $"Achieved({AchieveTime})";
if (Value != 0)
return $"Value({Value})";
return string.Empty;
}