public void Create_LimitedCompanyWithNullOrEmptyNumber_Throws(string registrationNumber)
 {
     Assert.Throws <InvalidOperationException>(
         () =>
         ProducerBusiness.CreateProducerBusiness(AnyString, BusinessType.LimitedCompany, registrationNumber,
                                                 null));
 }
Exemple #2
0
        public static TComplexType Create <TComplexType>(string name = AnyString) where TComplexType : class
        {
            var argumentType = typeof(TComplexType);

            if (argumentType == typeof(Address))
            {
                return(new Address(AnyString, AnyString, AnyString, AnyString, AnyString, AnyString) as TComplexType);
            }

            if (argumentType == typeof(Business))
            {
                return(Business.CreateBusiness(name, BusinessType.SoleTrader, AnyString, null) as TComplexType);
            }

            if (argumentType == typeof(Contact))
            {
                return(new Contact(name, AnyString, AnyString, AnyString) as TComplexType);
            }

            if (argumentType == typeof(ProducerBusiness))
            {
                return(ProducerBusiness.CreateProducerBusiness(name, BusinessType.SoleTrader, AnyString, null) as TComplexType);
            }

            return(null);
        }
Exemple #3
0
        public static Producer Create(Guid id, ProducerBusiness business = null, Address address = null, Contact contact = null)
        {
            var producer = ObjectInstantiator <Producer> .CreateNew();

            EntityHelper.SetEntityId(producer, id);

            if (business == null)
            {
                business = ObjectFactory.CreateEmptyProducerBusiness();
            }

            if (address == null)
            {
                address = ObjectFactory.CreateDefaultAddress();
            }

            if (contact == null)
            {
                contact = ObjectFactory.CreateEmptyContact();
            }

            ObjectInstantiator <Producer> .SetProperty(x => x.Business, business, producer);

            ObjectInstantiator <Producer> .SetProperty(x => x.Address, address, producer);

            ObjectInstantiator <Producer> .SetProperty(x => x.Contact, contact, producer);

            return(producer);
        }
        public void Create_LimitedCompany_setsRegistrationNumber()
        {
            var number = "554636546";

            var business = ProducerBusiness.CreateProducerBusiness(AnyString, BusinessType.LimitedCompany, number, null);

            Assert.Equal(number, business.RegistrationNumber);
        }
Exemple #5
0
            public static ProducerSubmission WithProducerBusiness(ProducerBusiness producerBusiness)
            {
                var builder = new ProducerBuilder();

                builder.producerBusiness = producerBusiness;

                return(builder.Build());
            }
Exemple #6
0
        public void Producer_SetProducerPartnershipCountry_Returns_RegOfficeOrPPoBCountry()
        {
            // Arrange
            Scheme scheme = new Scheme(
                A.Dummy <Guid>());

            MemberUpload memberUpload = new MemberUpload(
                A.Dummy <Guid>(),
                A.Dummy <string>(),
                A.Dummy <List <MemberUploadError> >(),
                A.Dummy <decimal>(),
                2019,
                scheme,
                A.Dummy <string>(),
                A.Dummy <string>());

            RegisteredProducer registeredProducer = new RegisteredProducer(
                "WEE/AA1111AA",
                2019,
                scheme);

            var producerAddress = new ProducerAddress("PrimaryName", "SecondaryName", "Street", "Town", "Locality", "AdministrativeArea",
                                                      new Country(A.Dummy <Guid>(), "SPAIN"), "PostCode");

            var producerContact = new ProducerContact(
                "Title", "Forename", "Surname", "123456", "1235467", "12345678", "[email protected]", producerAddress);

            var producerBusiness = new ProducerBusiness(
                partnership: new Partnership("TestPartnership", producerContact, new List <Partner> {
            }));

            var producer = new ProducerSubmission(
                registeredProducer,
                memberUpload,
                producerBusiness,
                null,
                new DateTime(2019, 3, 18),
                0,
                false,
                null,
                "Trading Name 1",
                EEEPlacedOnMarketBandType.Lessthan5TEEEplacedonmarket,
                SellingTechniqueType.Both,
                Domain.Obligation.ObligationType.Both,
                AnnualTurnOverBandType.Greaterthanonemillionpounds,
                new List <Domain.Producer.BrandName>(),
                new List <Domain.Producer.SICCode>(),
                A.Dummy <ChargeBandAmount>(),
                0,
                A.Dummy <StatusType>());

            Assert.Equal("SPAIN", producer.RegOfficeOrPBoBCountry);
        }
Exemple #7
0
        public async Task <Guid> HandleAsync(AddProducerToNotification command)
        {
            var country = await countryRepository.GetById(command.Address.CountryId.Value);

            var address  = ValueObjectInitializer.CreateAddress(command.Address, country.Name);
            var contact  = ValueObjectInitializer.CreateContact(command.Contact);
            var business = ProducerBusiness.CreateProducerBusiness(command.Business.Name, command.Business.BusinessType,
                                                                   command.Business.RegistrationNumber, command.Business.OtherDescription);

            var producers = await repository.GetByNotificationId(command.NotificationId);

            var producer = producers.AddProducer(business, address, contact);

            await context.SaveChangesAsync();

            return(producer.Id);
        }
Exemple #8
0
        public static ProducerBusiness Create(ISettings settings, bool noCompany)
        {
            ProducerBusiness producerBusiness = new ProducerBusiness();

            producerBusiness.CorrespondentForNotices = CorrespondentForNotices.Create(settings);

            if (noCompany || RandomHelper.OneIn(2))
            {
                producerBusiness.Partnership = Partnership.Create(settings);
            }
            else
            {
                producerBusiness.Company = Company.Create(settings);
            }

            return(producerBusiness);
        }
        public static ProducerBusiness Create(ISettings settings, bool noCompany)
        {
            ProducerBusiness producerBusiness = new ProducerBusiness();
            
            producerBusiness.CorrespondentForNotices = CorrespondentForNotices.Create(settings);

            if (noCompany || RandomHelper.OneIn(2))
            {
                producerBusiness.Partnership = Partnership.Create(settings);
            }
            else
            {
                producerBusiness.Company = Company.Create(settings);
            }

            return producerBusiness;
        }
Exemple #10
0
        public static ProducerSubmission Create(
            ObligationType obligationType,
            string prn,
            Guid?schemeOrganisationId         = null,
            int?complianceYear                = null,
            ProducerBusiness producerBusiness = null,
            params string[] brandNames)
        {
            Scheme scheme = new Scheme(
                schemeOrganisationId ?? Guid.Empty);

            RegisteredProducer registeredProducer = new RegisteredProducer(
                prn,
                complianceYear ?? 2016,
                scheme);

            MemberUpload memberUpload = new MemberUpload(
                Guid.NewGuid(),
                "<xml>SomeData</xml>",
                new List <MemberUploadError>(),
                0,
                complianceYear ?? 2016,
                scheme,
                "File name");

            return(new ProducerSubmission(
                       registeredProducer,
                       memberUpload,
                       producerBusiness ?? new ProducerBusiness(),
                       new AuthorisedRepresentative("authrep"),
                       DateTime.Now,
                       0,
                       true,
                       null,
                       "trading name",
                       EEEPlacedOnMarketBandType.Lessthan5TEEEplacedonmarket,
                       SellingTechniqueType.Both,
                       obligationType,
                       AnnualTurnOverBandType.Greaterthanonemillionpounds,
                       brandNames.Select(bn => new BrandName(bn)).ToList(),
                       new List <SICCode>(),
                       new ChargeBandAmount(Guid.NewGuid(), ChargeBand.A, 123),
                       999,
                       A.Dummy <StatusType>()));
        }
        public static ProducerSubmission Create(
            ObligationType obligationType,
            string prn,
            Guid? schemeOrganisationId = null,
            int? complianceYear = null,
            ProducerBusiness producerBusiness = null,
            params string[] brandNames)
        {
            Scheme scheme = new Scheme(
                schemeOrganisationId ?? Guid.Empty);

            RegisteredProducer registeredProducer = new RegisteredProducer(
                prn,
                complianceYear ?? 2016,
                scheme);

            MemberUpload memberUpload = new MemberUpload(
                Guid.NewGuid(),
                "<xml>SomeData</xml>",
                new List<MemberUploadError>(),
                0,
                complianceYear ?? 2016,
                scheme,
                "File name");

            return new ProducerSubmission(
                registeredProducer,
                memberUpload,
                producerBusiness ?? new ProducerBusiness(),
                new AuthorisedRepresentative("authrep"),
                DateTime.Now,
                0,
                true,
                null,
                "trading name",
                EEEPlacedOnMarketBandType.Lessthan5TEEEplacedonmarket,
                SellingTechniqueType.Both,
                obligationType,
                AnnualTurnOverBandType.Greaterthanonemillionpounds,
                brandNames.Select(bn => new BrandName(bn)).ToList(),
                new List<SICCode>(),
                new ChargeBandAmount(Guid.NewGuid(), ChargeBand.A, 123),
                999);
        }
        public async Task <Guid> HandleAsync(UpdateProducerForNotification message)
        {
            var country = await countryRepository.GetById(message.Address.CountryId.Value);

            var producers = await repository.GetByNotificationId(message.NotificationId);

            var business = ProducerBusiness.CreateProducerBusiness(message.Business.Name,
                                                                   message.Business.BusinessType,
                                                                   message.Business.RegistrationNumber,
                                                                   message.Business.OtherDescription);
            var address = ValueObjectInitializer.CreateAddress(message.Address, country.Name);
            var contact = ValueObjectInitializer.CreateContact(message.Contact);

            var producer = producers.GetProducer(message.ProducerId);

            producer.Address  = address;
            producer.Business = business;
            producer.Contact  = contact;

            await context.SaveChangesAsync();

            return(producer.Id);
        }
 public void Create_OtherWithNullDescription_Throws()
 {
     Assert.Throws <ArgumentNullException>(
         () => ProducerBusiness.CreateProducerBusiness(AnyString, BusinessType.Other, null, null));
 }
Exemple #14
0
        public async Task <IEnumerable <ProducerSubmission> > GenerateProducerData(schemeType scheme, MemberUpload memberUpload, Dictionary <string, ProducerCharge> producerCharges)
        {
            if (memberUpload.ComplianceYear == null)
            {
                string errorMessage = "Producers cannot be generated for a member upload "
                                      + "that does not have a compliance year.";
                throw new InvalidOperationException(errorMessage);
            }

            List <ProducerSubmission> producers = new List <ProducerSubmission>();

            int            numberOfPrnsNeeded = scheme.producerList.Count(p => p.status == statusType.I);
            Queue <string> generatedPrns      = await dataAccess.ComputePrns(numberOfPrnsNeeded);

            foreach (producerType producerData in scheme.producerList)
            {
                var producerName = producerData.GetProducerName();

                if (producerCharges == null)
                {
                    throw new ApplicationException("No charges have been supplied");
                }
                if (!producerCharges.ContainsKey(producerName))
                {
                    throw new ApplicationException(string.Format("No charges have been supplied for the {0}.", producerName));
                }
                var chargeBandAmount = producerCharges[producerName].ChargeBandAmount;
                var chargeThisUpdate = producerCharges[producerName].Amount;

                List <BrandName> brandNames = producerData.producerBrandNames.Select(name => new BrandName(name)).ToList();

                List <SICCode> codes = producerData.SICCodeList.Select(name => new SICCode(name)).ToList();

                ProducerBusiness producerBusiness = await SetProducerBusiness(producerData.producerBusiness);

                AuthorisedRepresentative authorisedRepresentative = await SetAuthorisedRepresentative(producerData.authorisedRepresentative);

                EEEPlacedOnMarketBandType eeebandType = Enumeration.FromValue <EEEPlacedOnMarketBandType>((int)producerData.eeePlacedOnMarketBand);

                SellingTechniqueType sellingTechniqueType = Enumeration.FromValue <SellingTechniqueType>((int)producerData.sellingTechnique);

                ObligationType obligationType = producerData.obligationType.ToDomainObligationType();

                AnnualTurnOverBandType annualturnoverType = Enumeration.FromValue <AnnualTurnOverBandType>((int)producerData.annualTurnoverBand);

                StatusType status = Enumeration.FromValue <StatusType>((int)producerData.status);

                DateTime?ceaseDate = null;
                if (producerData.ceaseToExistDateSpecified)
                {
                    ceaseDate = producerData.ceaseToExistDate;
                }

                RegisteredProducer registeredProducer = null;

                string producerRegistrationNo;
                switch (producerData.status)
                {
                case statusType.I:
                    producerRegistrationNo = generatedPrns.Dequeue();
                    break;

                case statusType.A:
                    producerRegistrationNo = producerData.registrationNo;

                    await EnsureProducerRegistrationNumberExists(producerRegistrationNo);

                    registeredProducer = await dataAccess.FetchRegisteredProducerOrDefault(
                        producerRegistrationNo,
                        memberUpload.ComplianceYear.Value,
                        memberUpload.Scheme.Id);

                    break;

                default:
                    throw new NotSupportedException();
                }

                if (registeredProducer == null)
                {
                    registeredProducer = new RegisteredProducer(
                        producerRegistrationNo,
                        memberUpload.ComplianceYear.Value,
                        memberUpload.Scheme);
                }

                ProducerSubmission producer = new ProducerSubmission(
                    registeredProducer,
                    memberUpload,
                    producerBusiness,
                    authorisedRepresentative,
                    SystemTime.UtcNow,
                    producerData.annualTurnover,
                    producerData.VATRegistered,
                    ceaseDate,
                    producerData.tradingName,
                    eeebandType,
                    sellingTechniqueType,
                    obligationType,
                    annualturnoverType,
                    brandNames,
                    codes,
                    chargeBandAmount,
                    chargeThisUpdate,
                    status);

                // modify producer data
                switch (producerData.status)
                {
                case statusType.A:

                    if (registeredProducer.CurrentSubmission == null)
                    {
                        producers.Add(producer);
                    }
                    else
                    {
                        if (!registeredProducer.CurrentSubmission.Equals(producer))
                        {
                            producers.Add(producer);
                        }
                        else
                        {
                            /*
                             * The producer's details are the same as the current submission for this
                             * registration so we don't need to update them.
                             */
                        }
                    }
                    break;

                case statusType.I:
                    producers.Add(producer);
                    break;
                }
            }

            return(producers);
        }
Exemple #15
0
 public override bool Equals(ProducerBusiness other)
 {
     return(false);
 }
 public ProducerController(ProducerBusiness producerBusiness)
 {
     _producerBusiness = producerBusiness;
 }
Exemple #17
0
        private void PopulateProducerBusiness(ProducerBusiness producerBusiness, XElement xmlProducerBusiness)
        {
            XElement xmlCorrespondentForNotices = new XElement(XmlNamespace.MemberRegistration + "correspondentForNotices");

            xmlProducerBusiness.Add(xmlCorrespondentForNotices);

            if (producerBusiness.CorrespondentForNotices.ContactDetails != null)
            {
                XElement xmlContactDetails = new XElement(XmlNamespace.MemberRegistration + "contactDetails");
                xmlCorrespondentForNotices.Add(xmlContactDetails);
                PopulateContactDetails(producerBusiness.CorrespondentForNotices.ContactDetails, xmlContactDetails);
            }

            if (producerBusiness.Partnership != null)
            {
                XElement xmlParnership = new XElement(XmlNamespace.MemberRegistration + "partnership");
                xmlProducerBusiness.Add(xmlParnership);

                XElement xmlPartnershipName = new XElement(XmlNamespace.MemberRegistration + "partnershipName");
                xmlParnership.Add(xmlPartnershipName);
                xmlPartnershipName.Value = producerBusiness.Partnership.PartnershipName ?? string.Empty;

                XElement xmlPartnershipList = new XElement(XmlNamespace.MemberRegistration + "partnershipList");
                xmlParnership.Add(xmlPartnershipList);

                foreach (string partner in producerBusiness.Partnership.PartnershipList)
                {
                    XElement xmlPartner = new XElement(XmlNamespace.MemberRegistration + "partner");
                    xmlPartnershipList.Add(xmlPartner);
                    xmlPartner.Value = partner ?? string.Empty;
                }

                XElement xmlPrincipalPlaceOfBusiness = new XElement(XmlNamespace.MemberRegistration + "principalPlaceOfBusiness");
                xmlParnership.Add(xmlPrincipalPlaceOfBusiness);

                XElement xmlContactDetails = new XElement(XmlNamespace.MemberRegistration + "contactDetails");
                xmlPrincipalPlaceOfBusiness.Add(xmlContactDetails);
                PopulateContactDetails(producerBusiness.Partnership.PrincipalPlaceOfBusiness, xmlContactDetails);
            }

            if (producerBusiness.Company != null)
            {
                XElement xmlCompany = new XElement(XmlNamespace.MemberRegistration + "company");
                xmlProducerBusiness.Add(xmlCompany);

                XElement xmlCompanyName = new XElement(XmlNamespace.MemberRegistration + "companyName");
                xmlCompany.Add(xmlCompanyName);
                xmlCompanyName.Value = producerBusiness.Company.CompanyName ?? string.Empty;

                XElement xmlCompanyNumber = new XElement(XmlNamespace.MemberRegistration + "companyNumber");
                xmlCompany.Add(xmlCompanyNumber);
                xmlCompanyNumber.Value = producerBusiness.Company.CompanyNumber ?? string.Empty;

                XElement xmlRegisteredOffice = new XElement(XmlNamespace.MemberRegistration + "registeredOffice");
                xmlCompany.Add(xmlRegisteredOffice);

                XElement xmlContactDetails = new XElement(XmlNamespace.MemberRegistration + "contactDetails");
                xmlRegisteredOffice.Add(xmlContactDetails);
                PopulateContactDetails(producerBusiness.Company.RegisteredOffice, xmlContactDetails);
            }
        }
 public override bool Equals(ProducerBusiness other)
 {
     return false;
 }
            public static ProducerSubmission WithProducerBusiness(ProducerBusiness producerBusiness)
            {
                var builder = new ProducerBuilder();
                builder.producerBusiness = producerBusiness;

                return builder.Build();
            }
 private Business CreateProducerBusiness(AddAddressBookEntry message)
 {
     return(ProducerBusiness.CreateProducerBusiness(message.Business.Name,
                                                    message.Business.BusinessType,
                                                    message.Business.RegistrationNumber, message.Business.OtherDescription));
 }
Exemple #21
0
 public static ProducerBusiness CreateEmptyProducerBusiness()
 {
     return(ProducerBusiness.CreateProducerBusiness("test", BusinessType.SoleTrader, "test", null));
 }
        public async Task HandleAsync_ForPartnershipProducer_ReturnsPartnershipContactDetails_AndIsCompanyValueFalse()
        {
            // Arrange
            Scheme scheme = new Scheme(A.Dummy <Guid>());

            MemberUpload memberUpload = new MemberUpload(
                A.Dummy <Guid>(),
                A.Dummy <string>(),
                A.Dummy <List <MemberUploadError> >(),
                A.Dummy <decimal>(),
                2017,
                scheme,
                A.Dummy <string>(),
                A.Dummy <string>());

            RegisteredProducer registeredProducer = new RegisteredProducer(
                "WEE/AA1111AA",
                2017,
                scheme);

            var producerAddress = new ProducerAddress("PrimaryName", "SecondaryName", "Street", "Town", "Locality", "AdministrativeArea",
                                                      new Country(A.Dummy <Guid>(), "TestCountry"), "PostCode");

            var producerContact = new ProducerContact(
                "Title", "Forename", "Surname", "123456", "1235467", "12345678", "[email protected]", producerAddress);

            var producerBusiness = new ProducerBusiness(
                partnership: new Partnership("TestPartnership", producerContact, new List <Partner> {
            }));

            var producer = new ProducerSubmission(
                registeredProducer,
                memberUpload,
                producerBusiness,
                null,
                new DateTime(2015, 1, 1),
                0,
                false,
                null,
                "Trading Name 1",
                EEEPlacedOnMarketBandType.Lessthan5TEEEplacedonmarket,
                SellingTechniqueType.Both,
                Domain.Obligation.ObligationType.Both,
                AnnualTurnOverBandType.Greaterthanonemillionpounds,
                new List <BrandName>(),
                new List <SICCode>(),
                A.Dummy <ChargeBandAmount>(),
                0,
                A.Dummy <StatusType>());

            IGetProducerDetailsDataAccess dataAccess = A.Fake <IGetProducerDetailsDataAccess>();

            A.CallTo(() => dataAccess.Fetch(A <string> ._, A <int> ._))
            .Returns(new List <ProducerSubmission> {
                producer
            });

            IWeeeAuthorization authorization = A.Fake <IWeeeAuthorization>();

            A.CallTo(() => authorization.CheckUserInRole(Roles.InternalAdmin))
            .Returns(false);

            IMapper mapper = A.Fake <IMapper>();

            GetProducerDetailsHandler handler = new GetProducerDetailsHandler(dataAccess, authorization, mapper);

            // Act
            var result = await handler.HandleAsync(A.Dummy <GetProducerDetails>());

            // Assert
            Assert.NotNull(result);
            Assert.Single(result.Schemes);

            ProducerContactDetails businessContact = result.Schemes[0].ProducerBusinessContact;

            Assert.Equal("PrimaryName, SecondaryName, Street, Town, Locality, AdministrativeArea, PostCode, TestCountry", businessContact.Address);
            Assert.Equal("Title Forename Surname", businessContact.ContactName);
            Assert.Equal("123456", businessContact.Telephone);
            Assert.Equal("1235467", businessContact.Mobile);
            Assert.Equal("[email protected]", businessContact.Email);
            Assert.False(result.Schemes[0].IsCompany);
        }
        public void Create_SoleTrader_NonNullRegistrationNumber_DoesNotSetToCustomValue()
        {
            var business = ProducerBusiness.CreateProducerBusiness(AnyString, BusinessType.SoleTrader, AnyString, null);

            Assert.Equal(NotApplicable, business.RegistrationNumber);
        }
        private void PopulateProducerBusiness(ProducerBusiness producerBusiness, XElement xmlProducerBusiness)
        {
            XElement xmlCorrespondentForNotices = new XElement(XmlNamespace.MemberRegistration + "correspondentForNotices");
            xmlProducerBusiness.Add(xmlCorrespondentForNotices);

            if (producerBusiness.CorrespondentForNotices.ContactDetails != null)
            {
                XElement xmlContactDetails = new XElement(XmlNamespace.MemberRegistration + "contactDetails");
                xmlCorrespondentForNotices.Add(xmlContactDetails);
                PopulateContactDetails(producerBusiness.CorrespondentForNotices.ContactDetails, xmlContactDetails);
            }

            if (producerBusiness.Partnership != null)
            {
                XElement xmlParnership = new XElement(XmlNamespace.MemberRegistration + "partnership");
                xmlProducerBusiness.Add(xmlParnership);

                XElement xmlPartnershipName = new XElement(XmlNamespace.MemberRegistration + "partnershipName");
                xmlParnership.Add(xmlPartnershipName);
                xmlPartnershipName.Value = producerBusiness.Partnership.PartnershipName ?? string.Empty;

                XElement xmlPartnershipList = new XElement(XmlNamespace.MemberRegistration + "partnershipList");
                xmlParnership.Add(xmlPartnershipList);
                
                foreach (string partner in producerBusiness.Partnership.PartnershipList)
                {
                    XElement xmlPartner = new XElement(XmlNamespace.MemberRegistration + "partner");
                    xmlPartnershipList.Add(xmlPartner);
                    xmlPartner.Value = partner ?? string.Empty;
                }

                XElement xmlPrincipalPlaceOfBusiness = new XElement(XmlNamespace.MemberRegistration + "principalPlaceOfBusiness");
                xmlParnership.Add(xmlPrincipalPlaceOfBusiness);

                XElement xmlContactDetails = new XElement(XmlNamespace.MemberRegistration + "contactDetails");
                xmlPrincipalPlaceOfBusiness.Add(xmlContactDetails);
                PopulateContactDetails(producerBusiness.Partnership.PrincipalPlaceOfBusiness, xmlContactDetails);
            }

            if (producerBusiness.Company != null)
            {
                XElement xmlCompany = new XElement(XmlNamespace.MemberRegistration + "company");
                xmlProducerBusiness.Add(xmlCompany);

                XElement xmlCompanyName = new XElement(XmlNamespace.MemberRegistration + "companyName");
                xmlCompany.Add(xmlCompanyName);
                xmlCompanyName.Value = producerBusiness.Company.CompanyName ?? string.Empty;

                XElement xmlCompanyNumber = new XElement(XmlNamespace.MemberRegistration + "companyNumber");
                xmlCompany.Add(xmlCompanyNumber);
                xmlCompanyNumber.Value = producerBusiness.Company.CompanyNumber ?? string.Empty;

                XElement xmlRegisteredOffice = new XElement(XmlNamespace.MemberRegistration + "registeredOffice");
                xmlCompany.Add(xmlRegisteredOffice);

                XElement xmlContactDetails = new XElement(XmlNamespace.MemberRegistration + "contactDetails");
                xmlRegisteredOffice.Add(xmlContactDetails);
                PopulateContactDetails(producerBusiness.Company.RegisteredOffice, xmlContactDetails);
            }
        }