Esempio n. 1
0
        public void Write(TextWriter writer)
        {
            if (StreetName != _MetaphoneStreet)
            {
                try
                {
                    var metaphone = DoubleMetaphone.EncodePhrase(StreetName);
                    if (metaphone.Length > ZipStreets.MetaphoneMaxLength)
                    {
                        metaphone = metaphone.Substring(0, ZipStreets.MetaphoneMaxLength);
                    }
                    _MetaphoneStreet = StreetName;
                    _MetaphoneValue  = metaphone;
                }
                // ReSharper disable once EmptyGeneralCatchClause
                catch (Exception /*ex*/)
                {
                }
            }

            if (writer == null) // write to database
            {
                ZipStreets.Insert(ZipCode, UpdateKey, DirectionPrefix, StreetName, StreetSuffix,
                                  DirectionSuffix, PrimaryLowNumber, PrimaryHighNumber, PrimaryOddEven,
                                  BuildingName, SecondaryType, SecondaryLowNumber, SecondaryHighNumber,
                                  SecondaryOddEven, _MetaphoneValue, State, LdsInfo.Congress,
                                  LdsInfo.StateSenate, LdsInfo.StateHouse, LdsInfo.County);
            }
            else // write to csv
            {
                var csvWriter = new SimpleCsvWriter();
                csvWriter.AddField(ZipCode);
                csvWriter.AddField(UpdateKey);
                csvWriter.AddField(DirectionPrefix);
                csvWriter.AddField(StreetName);
                csvWriter.AddField(StreetSuffix);
                csvWriter.AddField(DirectionSuffix);
                csvWriter.AddField(PrimaryLowNumber);
                csvWriter.AddField(PrimaryHighNumber);
                csvWriter.AddField(PrimaryOddEven);
                csvWriter.AddField(BuildingName);
                csvWriter.AddField(SecondaryType);
                csvWriter.AddField(SecondaryLowNumber);
                csvWriter.AddField(SecondaryHighNumber);
                csvWriter.AddField(SecondaryOddEven);
                csvWriter.AddField(_MetaphoneValue);
                csvWriter.AddField(State);
                csvWriter.AddField(LdsInfo.Congress);
                csvWriter.AddField(LdsInfo.StateSenate);
                csvWriter.AddField(LdsInfo.StateHouse);
                csvWriter.AddField(LdsInfo.County);
                csvWriter.Write(writer);
            }
        }