public bool Check() { var logger = new TextLogger(LogSeverity.Warning); logger.PutLine("*** Control d’intégrité ***"); logger.PutLine($"Table: {AppContext.TableManager.Incoterms.Name}"); logger.PutLine("La contrainte d’intégrité n° 9 est violée par les éléments suivants :"); bool anyErr = false; foreach (string name in m_ndxerNames.Attributes) { IEnumerable <IDatum> icts = m_ndxerNames.Get(name); if (icts.Count() > 1) { logger.PutLine($"Noms identiques ({name}):"); foreach (Incoterm c in icts) { logger.PutLine(c.ToString()); } logger.PutLine(); anyErr = true; } } if (anyErr) { logger.Flush(); } return(!anyErr); }
public bool Check() { //contrainte 2 var logger = new TextLogger(LogSeverity.Warning); logger.PutLine("*** Control d’intégrité ***"); logger.PutLine($"Table: {AppContext.TableManager.Countries.Name}"); logger.PutLine("La contrainte d’intégrité n° 2 est violée par les éléments suivants :"); bool anyErr = false; //nom unique foreach (string name in m_ndxerName.Attributes) { IEnumerable <IDatum> countries = m_ndxerName.Get(name); if (countries.Count() > 1) { logger.PutLine($"Noms identiques ({name}):"); foreach (Country c in countries) { logger.PutLine(c.ToString()); } logger.PutLine(); anyErr = true; } } //code pays unique foreach (ushort code in m_ndxerInternalCode.Attributes) { IEnumerable <IDatum> countries = m_ndxerInternalCode.Get(code); if (countries.Count() > 1) { logger.PutLine($"Codes pays identiques ({code}):"); foreach (Country c in countries) { logger.PutLine(c.ToString()); } logger.PutLine(); anyErr = true; } } //iso code est nul ou unique foreach (string isoCode in m_ndxerIsoCode.Attributes.Where(s => !string.IsNullOrWhiteSpace(s))) { IEnumerable <IDatum> countries = m_ndxerIsoCode.Get(isoCode); if (countries.Count() > 1) { logger.PutLine($"Iso Codes identiques ({isoCode}):"); foreach (Country c in countries) { logger.PutLine(c.ToString()); } logger.PutLine(); anyErr = true; } } if (anyErr) { logger.Flush(); } return(!anyErr); }