internal static void FixGenericDate(string fieldName, XElement rt, string className, Guid guid, ErrorLogger errorLogger)
{
foreach (var xeGenDate in rt.Descendants(fieldName).ToList()) // ToList because we may modify things and mess up iterator.
{
var genDateAttr = xeGenDate.Attribute("val");
if (genDateAttr == null)
continue;
var genDateStr = genDateAttr.Value;
GenDate someDate;
if (GenDate.TryParse(genDateStr, out someDate))
continue; // all is well, valid GenDate
genDateAttr.Value = "0"; //'Remove' the date if we could not load or parse it
errorLogger(string.Format(Strings.ksRemovingGenericDate, genDateStr, fieldName, className, guid), true);
}
}