private string Validate(string str, bool limitSize) {
string validated = str;
if (!String.IsNullOrEmpty(validated)) {
// First replace all illegal characters with underscores
foreach (char c in Path.GetInvalidFileNameChars()) {
validated = validated.Replace(c, '_');
}
// Replace all spaces with underscores
validated = validated.Replace(' ', '_');
if (limitSize) {
validated = (validated.Length > MAX_LENGTH_TO_USE) ? validated.Substring(0, MAX_LENGTH_TO_USE) : validated;
}
}
return validated;
}
}