/// <summary> /// Adds a given warning to the list of warnings /// </summary> /// <param name="warning"></param> public void AddWarning(Warning warning) { warningList.Add(warning); }
/// <summary> /// Detects warning messages for a given XML document based on some rules /// </summary> /// <param name="postalAddress"></param> /// <param name="result"></param> private void DetectWarnings(PostalAddress postalAddress, PostalAddressResult result) { var countryList = ConfigurationManager.AppSettings.Get("CountryList") ?? DefaultCountryList; var permittedCountries = countryList.Split(new[] { ',' }); foreach (var address in postalAddress.PostalAddresses) { string tag = null; Warning warning = null; if (string.IsNullOrEmpty(address.City)) { tag = "<city/>"; warning = new Warning() { Message = string.Format("The {0} tag is empty", tag), Tag = tag }; } else if(!permittedCountries.Contains(address.Country)) { tag = "<country/>"; warning = new Warning() { Message = string.Format("{0} isn't within permitted set of countries", address.Country.Trim()), Tag = tag }; } if (warning != null) { result.AddWarning(warning); } } }