/// <summary> /// Fills the AccountAddress object. /// </summary> /// <param name="baseResponse"></param> public void Fill(AccountAddress accountAddress) { try { // we are going to need this dataAccess assembly to get needed information. DalAccount dalAccount = new DalAccount(); // now go get header information CustomerAccountSchema.CustomerAddress address = dalAccount.GetCustomerAddress(_siteId, _siteCode, _accountNumber.AccountNumber9); // if we don't get back an address, then its not a valid accountNumber. if (address == null) { throw new InvalidAccountNumberException(); } accountAddress.AccountNumber13 = _accountNumber.AccountNumber13; accountAddress.SiteCode = _siteCode; accountAddress.SiteNumber = _siteId.ToString(); accountAddress.AddressLine1 = address.AddressLine1; accountAddress.AddressLine2 = address.AddressLine2; accountAddress.AddressLine3 = address.AddressLine3; accountAddress.AddressLine4 = address.AddressLine4; accountAddress.City = address.City; accountAddress.State = address.State; string zip4 = address.Zip4.Trim(); string zip5 = address.Zip5.Trim(); accountAddress.Zip = zip5; if (zip5 != null && zip5.Length > 0 && zip4 != null && zip4.Length > 0) { accountAddress.Zip += "-" + zip4; } accountAddress.FirstName = address.FirstName; accountAddress.MiddleInitial = address.MiddleInitial; accountAddress.LastName = address.LastName; accountAddress.HomeTelephoneNumber = (address.IsHomeAreaCodeNull() || address.IsHomeExchangeCodeNull() || address.IsHomeTelephoneNumberNull())? string.Empty:FormatPhoneNumber(address.HomeAreaCode, address.HomeExchangeCode, address.HomeTelephoneNumber); accountAddress.BusinessTelephoneNumber = (address.IsBusinessAreaCodeNull() || address.IsBusinessExchangeCodeNull() || address.IsBusinessTelephoneNumberNull())? string.Empty:FormatPhoneNumber(address.BusinessAreaCode, address.BusinessAreaCode, address.BusinessTelephoneNumber); accountAddress.OtherTelephoneNumber = (address.IsOtherAreaCodeNull() || address.IsOtherExchangeCodeNull() || address.IsOtherTelephoneNumberNull())? string.Empty:FormatPhoneNumber(address.OtherAreaCode, address.OtherExchangeCode, address.OtherTelephoneNumber); accountAddress.AccountNumber13 = _accountNumber.AccountNumber13; accountAddress.SiteCode = _siteCode; accountAddress.SiteNumber = _siteId.ToString(); } catch (BusinessLogicLayerException) { // already handled throw; } catch (DataSourceException dse) { // not handled. need to handle throw new DataSourceUnavailableException(dse); } catch (Exception ex) { // not handled. need to handle throw new UnexpectedSystemException(ex); } }
/// <summary> /// Fills the AccountAddress object. /// </summary> /// <param name="account"></param> private static void PopulateAccountInformation(CustomerContactInformation accountAddress, CustomerAccountSchema.CustomerAddress address) { if (address == null) { throw new InvalidAccountNumberException(); } accountAddress.AccountNumber13 = address.Account_Number13.PadLeft(12, '0'); accountAddress.SiteId = int.Parse(address.Site_ID); accountAddress.AccountStatus = address.AccountStatus; accountAddress.BillTypeCode = address.BillType; accountAddress.FranchiseNumber = int.Parse(address.Franchise_Number); accountAddress.ServiceAddressLine1 = address.AddressLine1; accountAddress.ServiceAddressLine2 = address.AddressLine2; accountAddress.ServiceAddressLine3 = address.AddressLine3; accountAddress.ServiceAddressLine4 = address.AddressLine4; accountAddress.City = address.City; accountAddress.State = address.State; accountAddress.ZipCode4 = address.Zip4.Trim(); accountAddress.ZipCode5 = address.Zip5.Trim(); accountAddress.FirstName = address.FirstName; accountAddress.MiddleInitial = address.MiddleInitial; accountAddress.LastName = address.LastName; accountAddress.CustomerName = address.CustomerName; accountAddress.PhoneNumber10 = address.HomeTelephoneNumberFull; accountAddress.BusinessPhoneNumber = address.BusinessTelephoneNumberFull; accountAddress.OtherPhoneNumber = address.OtherTelephoneNumberFull; }