Esempio n. 1
0
        static async Task <List <Member> > ProcessMembers(List <Member> members)
        {
            string GoogleApiKey = Configuration.GetValue <string>("GoogleApiKey");
            ZipCodeRetrieverService zipRetriever    = new ZipCodeRetrieverService(GoogleApiKey);
            MemberProcessor         memberProcessor = new MemberProcessor(zipRetriever);
            List <Member>           newMembers      = new List <Member>();

            // this lets us capture the index (row number)
            // borrowed from here: https://stackoverflow.com/a/39997157/11199987
            foreach (var(m, index) in members.WithIndex())
            {
                // Log.Information("Processing member {firstname} {lastname}", m.FirstName, m.LastName);
                m.TrimAllFields();
                m.PadZipCodeWithZeroes();
                m.ReplaceNumberSignInAddressWithApt();
                m.AppendApartmentToAddress();
                m.RemoveNonAlphanumericFromAddress();
                m.RemoveMultipleSpacesFromAddress();
                m.RemoveNonNumericAndSpacesFromPhones();
                m.ChangeZeroPhoneValuesToNull();
                m.SetHomePhoneToNullIfSameAsCellPhone();
                m.RemoveNAFromEmail();
                m.State = memberProcessor.GetStateAbbreviation(m, index);
                // m.ZipCode = await memberProcessor.GetZipFromMemberAddress(m);
                newMembers.Add(m);
                // Log.Information("Adding {firstName} {lastName} to newMembers", m.FirstName, m.LastName);
            }
            return(newMembers);
        }
Esempio n. 2
0
        private static async Task TestZipCodeRetriever()
        {
            string GoogleApiKey = Configuration.GetValue <string>("GoogleApiKey");
            ZipCodeRetrieverService zipRetriever = new ZipCodeRetrieverService(GoogleApiKey);
            string myAddress = "225 e 17th street, new york ny";
            string myZip     = await zipRetriever.GetZip(myAddress);

            Console.WriteLine($"Full Address is {myAddress} {myZip}");
        }
Esempio n. 3
0
 public MemberProcessor(ZipCodeRetrieverService zipCodeRetrieverService)
 {
     _zipRetrieverService = zipCodeRetrieverService;
 }