コード例 #1
0
        /// <summary>
        /// Sets <see cref="thisPerson"/> home-related data to the same values of <see cref="livesWithThisOne"/>
        /// </summary>
        /// <param name="thisPerson"></param>
        /// <param name="livesWithThisOne"></param>
        public static void SetNAmerCohabitants(American thisPerson, American livesWithThisOne)
        {
            if (thisPerson == null || livesWithThisOne == null)
            {
                return;
            }
            var addrMatchTo = livesWithThisOne.GetAddressAt(null);

            if (addrMatchTo == null)
            {
                return;
            }
            thisPerson.AddAddress(addrMatchTo);
            thisPerson.GetPhoneNumbers().Clear();
            if (livesWithThisOne.GetPhoneNumbers().Any(p => p.Descriptor == KindsOfLabels.Home))
            {
                thisPerson.AddPhone(livesWithThisOne.GetPhoneNumbers().First(p => p.Descriptor == KindsOfLabels.Home));
            }
            if (thisPerson.GetAgeAt(null) < 12 ||
                String.IsNullOrWhiteSpace(addrMatchTo.CityArea?.GetPostalCodePrefix()))
            {
                return;
            }

            var mobilePhone = NorthAmericanPhone.RandomAmericanPhone(addrMatchTo.CityArea.GetPostalCodePrefix());

            mobilePhone.Descriptor = KindsOfLabels.Mobile;
            thisPerson.AddPhone(mobilePhone);
        }
コード例 #2
0
ファイル: PhoneTests.cs プロジェクト: nofuture-git/31g
        public void TestTryParse()
        {
            var testInput  = "5184154299";
            var testResult = NorthAmericanPhone.TryParse(testInput, out var testResultOut);

            Assert.IsTrue(testResult);
            Assert.IsNotNull(testResultOut);
            Assert.AreEqual("518", testResultOut.AreaCode);
            Assert.AreEqual("415", testResultOut.CentralOfficeCode);
            Assert.AreEqual("4299", testResultOut.SubscriberNumber);

            testInput  = "4154299";
            testResult = NorthAmericanPhone.TryParse(testInput, out testResultOut);
            Assert.IsTrue(testResult);
            Assert.IsNotNull(testResultOut);
            Assert.AreEqual("415", testResultOut.CentralOfficeCode);
            Assert.AreEqual("4299", testResultOut.SubscriberNumber);

            testInput  = "15184154299";
            testResult = NorthAmericanPhone.TryParse(testInput, out testResultOut);
            Assert.IsTrue(testResult);
            Assert.IsNotNull(testResultOut);
            Assert.AreEqual("518", testResultOut.AreaCode);
            Assert.AreEqual("415", testResultOut.CentralOfficeCode);
            Assert.AreEqual("4299", testResultOut.SubscriberNumber);

            testInput  = "1 518 415 4299";
            testResult = NorthAmericanPhone.TryParse(testInput, out testResultOut);
            Assert.IsTrue(testResult);
            Assert.IsNotNull(testResultOut);
            Assert.AreEqual("518", testResultOut.AreaCode);
            Assert.AreEqual("415", testResultOut.CentralOfficeCode);
            Assert.AreEqual("4299", testResultOut.SubscriberNumber);

            testInput  = "1-518-415-4299";
            testResult = NorthAmericanPhone.TryParse(testInput, out testResultOut);
            Assert.IsTrue(testResult);
            Assert.IsNotNull(testResultOut);
            Assert.AreEqual("518", testResultOut.AreaCode);
            Assert.AreEqual("415", testResultOut.CentralOfficeCode);
            Assert.AreEqual("4299", testResultOut.SubscriberNumber);

            testInput  = "(518)415-4299";
            testResult = NorthAmericanPhone.TryParse(testInput, out testResultOut);
            Assert.IsTrue(testResult);
            Assert.IsNotNull(testResultOut);
            Assert.AreEqual("518", testResultOut.AreaCode);
            Assert.AreEqual("415", testResultOut.CentralOfficeCode);
            Assert.AreEqual("4299", testResultOut.SubscriberNumber);

            testInput  = "(518)-415-4299";
            testResult = NorthAmericanPhone.TryParse(testInput, out testResultOut);
            Assert.IsTrue(testResult);
            Assert.IsNotNull(testResultOut);
            Assert.AreEqual("518", testResultOut.AreaCode);
            Assert.AreEqual("415", testResultOut.CentralOfficeCode);
            Assert.AreEqual("4299", testResultOut.SubscriberNumber);
        }
コード例 #3
0
ファイル: PhoneTests.cs プロジェクト: nofuture-git/31g
        public void TestTryParseUri()
        {
            var testInput = "tel:7078554512;phone-context=Mobile.KindsOfLabels.Enums.Core.Rand.NoFuture";
            NorthAmericanPhone testOutput;
            var testResult = NorthAmericanPhone.TryParse(new Uri(testInput), out testOutput);

            Assert.IsTrue(testResult);
            Assert.IsNotNull(testOutput);
            Assert.AreEqual("7078554512", testOutput.Unformatted);
            Assert.AreEqual(KindsOfLabels.Mobile, testOutput.Descriptor);
        }
コード例 #4
0
ファイル: PhoneTests.cs プロジェクト: nofuture-git/31g
        public void TestToUri()
        {
            var testSubject = new NorthAmericanPhone();

            testSubject.Value      = "707-855-4512";
            testSubject.Descriptor = KindsOfLabels.Mobile;
            var testResult = testSubject.ToUri();

            Assert.IsNotNull(testResult);
            Assert.AreEqual("tel:7078554512;phone-context=Mobile.KindsOfLabels.Enums.Core.Rand.NoFuture", testResult.ToString());
        }
コード例 #5
0
ファイル: PersonTests.cs プロジェクト: nofuture-git/31g
        public void TestAsPoco()
        {
            var dob        = Etx.RandomAdultBirthDate();
            var gender     = Gender.Female;
            var firstName  = AmericanUtil.RandomAmericanFirstName(gender, dob);
            var middleName = AmericanUtil.RandomAmericanFirstName(gender, dob);
            var lastName   = AmericanUtil.RandomAmericanLastName();

            var testSubject = new American
            {
                BirthCert  = new AmericanBirthCert(dob),
                Gender     = gender,
                FirstName  = firstName,
                LastName   = lastName,
                MiddleName = middleName
            };

            var addrLine1 = "4455 Deweier St.";
            var addrLine2 = "Huntington Beach, CA 90802";

            PostalAddress.TryParse(addrLine1, addrLine2, out var address);
            testSubject.AddAddress(address);

            Assert.AreEqual($"{firstName} {middleName} {lastName}", testSubject.FullName);
            Assert.IsNotNull(testSubject.Address);
            Assert.AreEqual($"{addrLine1}\r\n{addrLine2}", testSubject.Address.ToString());

            var phNum = "707-884-5563";

            NorthAmericanPhone.TryParse(phNum, out var naph);
            naph.Descriptor = KindsOfLabels.Mobile;
            testSubject.AddPhone(naph);

            var testResultPhone = testSubject.PhoneNumbers.FirstOrDefault(p => p.Descriptor == KindsOfLabels.Mobile);

            Assert.IsNotNull(testResultPhone as NorthAmericanPhone);
            var namerTestResultPhone = testResultPhone as NorthAmericanPhone;

            Assert.AreEqual("707", namerTestResultPhone.AreaCode);
            Assert.AreEqual("884", namerTestResultPhone.CentralOfficeCode);
            Assert.AreEqual("5563", namerTestResultPhone.SubscriberNumber);

            var testEmail = "*****@*****.**";

            testSubject.AddUri(testEmail);

            var testResultEmail = testSubject.NetUris.FirstOrDefault(u => u.Scheme == Uri.UriSchemeMailto);

            Assert.IsNotNull(testResultEmail);
            Assert.IsTrue(testResultEmail.ToString().EndsWith(testEmail));
        }
コード例 #6
0
ファイル: PhoneTests.cs プロジェクト: nofuture-git/31g
        public void TestToData()
        {
            var testSubject = new NorthAmericanPhone
            {
                Value      = "707-855-4512",
                Descriptor = KindsOfLabels.Mobile
            };
            var testResult = testSubject.ToData(KindsOfTextCase.Kabab);

            Assert.IsNotNull(testResult);
            Assert.AreNotEqual(0, testResult.Count);
            foreach (var k in testResult.Keys)
            {
                Console.WriteLine($"{k}: {testResult[k]}");
            }
        }
コード例 #7
0
ファイル: PhoneTests.cs プロジェクト: nofuture-git/31g
        public void AmericanPhoneTests()
        {
            var testResult = NorthAmericanPhone.RandomAmericanPhone();

            Assert.IsNotNull(testResult);
            Assert.IsFalse(string.IsNullOrWhiteSpace(testResult.AreaCode));
            Assert.IsFalse(string.IsNullOrWhiteSpace(testResult.CentralOfficeCode));
            Assert.IsFalse(string.IsNullOrWhiteSpace(testResult.SubscriberNumber));
            Assert.IsFalse(string.IsNullOrWhiteSpace(testResult.Formatted));
            Assert.IsFalse(string.IsNullOrWhiteSpace(testResult.ToString()));

            Assert.IsTrue(!testResult.ToString().Contains("-"));

            Console.WriteLine(testResult.AreaCode);
            Console.WriteLine(testResult.CentralOfficeCode);
            Console.WriteLine(testResult.SubscriberNumber);
        }
コード例 #8
0
ファイル: PhoneTests.cs プロジェクト: nofuture-git/31g
        public void CanadianPhoneByProvidenceTests()
        {
            const string TEST_STATE_WITH_MANY = "ON";
            const string TEST_STATE_WITH_ONE  = "YT";

            var testResult = NorthAmericanPhone.RandomCanadianPhone(TEST_STATE_WITH_MANY);

            Assert.IsNotNull(testResult);
            Assert.IsNotNull(testResult.AreaCode);

            Console.WriteLine(testResult.AreaCode);

            testResult = NorthAmericanPhone.RandomCanadianPhone(TEST_STATE_WITH_ONE);
            Assert.IsNotNull(testResult);
            Assert.IsNotNull(testResult.AreaCode);

            Console.WriteLine(testResult.AreaCode);
        }
コード例 #9
0
ファイル: PhoneTests.cs プロジェクト: nofuture-git/31g
        public void AmericanPhoneByStateTests()
        {
            const string TEST_STATE_WITH_MANY = "CA";
            const string TEST_STATE_WITH_ONE  = "DC";

            var testResult = NorthAmericanPhone.RandomAmericanPhone(TEST_STATE_WITH_MANY);

            Assert.IsNotNull(testResult);
            Assert.IsNotNull(testResult.AreaCode);

            Console.WriteLine(testResult.AreaCode);

            testResult = NorthAmericanPhone.RandomAmericanPhone(TEST_STATE_WITH_ONE);
            Assert.IsNotNull(testResult);
            Assert.IsNotNull(testResult.AreaCode);

            Console.WriteLine(testResult.AreaCode);
        }
コード例 #10
0
        /// <summary>
        /// Try to parse the xml (atom) content from the SEC returned from a search on a CIK.
        /// </summary>
        /// <param name="xmlContent"></param>
        /// <param name="srcUri"></param>
        /// <param name="publicCompany"></param>
        /// <returns></returns>
        public static bool TryParseSecEdgarCikSearch(string xmlContent, Uri srcUri, ref PublicCompany publicCompany)
        {
            if (String.IsNullOrWhiteSpace(xmlContent))
            {
                return(false);
            }

            var myDynData     = DynamicDataFactory.GetDataParser(srcUri);
            var myDynDataRslt = myDynData.ParseContent(xmlContent);

            if (myDynDataRslt == null || !myDynDataRslt.Any <dynamic>())
            {
                return(false);
            }

            var pr = myDynDataRslt.First <dynamic>();

            if (publicCompany == null)
            {
                publicCompany = new PublicCompany();
            }

            if (!String.IsNullOrWhiteSpace(pr.Name))
            {
                publicCompany.AddName(KindsOfNames.Legal, pr.Name);
            }
            publicCompany.CIK = String.IsNullOrWhiteSpace(pr.Cik)
                ? publicCompany.CIK
                : new CentralIndexKey {
                Value = pr.Cik, Src = myDynData.SourceUri.ToString()
            };
            publicCompany.SIC = String.IsNullOrWhiteSpace(pr.Sic)
                ? publicCompany.SIC
                : new StandardIndustryClassification {
                Value = pr.Sic, Src = myDynData.SourceUri.ToString()
            };

            publicCompany.UsStateOfIncorporation = pr.IncorpState;

            if (publicCompany.SIC != null && !String.IsNullOrWhiteSpace(pr.SicDesc))
            {
                publicCompany.SIC.Description = pr.SicDesc;
            }

            var bizAddr = new AddressData();

            if (!String.IsNullOrWhiteSpace(pr.BizAddrStreet))
            {
                UsStreetPo temp;
                if (UsStreetPo.TryParse(pr.BizAddrStreet, out temp))
                {
                    bizAddr = temp.GetData();
                }
            }

            if (!String.IsNullOrWhiteSpace(pr.BizAddrCity))
            {
                bizAddr.Locality = pr.BizAddrCity;
            }

            if (!String.IsNullOrWhiteSpace(pr.BizAddrState))
            {
                bizAddr.RegionAbbrev = pr.BizAddrState;
            }

            if (!String.IsNullOrWhiteSpace(pr.BizPostalCode))
            {
                bizAddr.PostalCode = pr.BizPostalCode;
            }

            publicCompany.BusinessAddress = new PostalAddress
            {
                Street = new UsStreetPo(bizAddr)
                {
                    Src = myDynData.SourceUri.ToString()
                },
                CityArea = new UsCityStateZip(bizAddr)
                {
                    Src = myDynData.SourceUri.ToString()
                }
            };

            var mailAddr = new AddressData();

            if (!String.IsNullOrWhiteSpace(pr.MailAddrStreet))
            {
                UsStreetPo temp;
                if (UsStreetPo.TryParse(pr.MailAddrStreet, out temp))
                {
                    mailAddr = temp.GetData();
                }
            }

            if (!String.IsNullOrWhiteSpace(pr.MailAddrCity))
            {
                mailAddr.Locality = pr.MailAddrCity;
            }

            if (!String.IsNullOrWhiteSpace(pr.MailAddrState))
            {
                mailAddr.RegionAbbrev = pr.MailAddrState;
            }

            if (!String.IsNullOrWhiteSpace(pr.MailPostalCode))
            {
                mailAddr.PostalCode = pr.MailPostalCode;
            }

            publicCompany.MailingAddress = new PostalAddress
            {
                Street = new UsStreetPo(mailAddr)
                {
                    Src = myDynData.SourceUri.ToString()
                },
                CityArea = new UsCityStateZip(mailAddr)
                {
                    Src = myDynData.SourceUri.ToString()
                }
            };

            NorthAmericanPhone phOut;

            if (NorthAmericanPhone.TryParse(pr.BizPhone, out phOut) && publicCompany.PhoneNumbers.All(x => !x.Equals(phOut)))
            {
                phOut.Src = myDynData.SourceUri.ToString();
                publicCompany.AddPhone(phOut);
            }

            if (NorthAmericanPhone.TryParse(pr.MailPhone, out phOut) && publicCompany.PhoneNumbers.All(x => !x.Equals(phOut)))
            {
                phOut.Src = myDynData.SourceUri.ToString();
                publicCompany.AddPhone(phOut);
            }

            if (pr.FormerNames != null)
            {
                foreach (var fn in pr.FormerNames)
                {
                    var strFnDt  = fn.FormerDate ?? String.Empty;
                    var strFnVal = fn.FormerName ?? String.Empty;

                    publicCompany.AddName(KindsOfNames.Former, $"{strFnVal}[{strFnDt}]");
                }
            }

            if (pr.FiscalYearEnd != null && pr.FiscalYearEnd.Length == 4)
            {
                int fyed;
                if (TryGetDayOfYearFiscalEnd(pr.FiscalYearEnd, out fyed))
                {
                    publicCompany.FiscalYearEndDay = fyed;
                }
            }

            return(true);
        }