public static int GetProgress(int challengeId, int userId)
{
Challenge challenge = ChallengeDAO.GetChallengeFromChallengeId(challengeId);
float initial = ChallengeDAO.GetInitializationValue(challengeId, userId);
UserStatistic current = UserStatisticDAO.GetStatisticFromUserIdAndStatType(userId, challenge.StatisticBinding);
if (initial >= 0 && current != null)
{
return Math.Min((int)(100 * (current.Value - initial) / challenge.Requirement), 100);
}
else
{
return 0;
}
}