public async Task <ProducerList> CreateAsync(ProducerListSettings listSettings) { Guard.ArgumentNotNull(() => listSettings, listSettings); ProducerList producerList = new ProducerList(); SchemeInfo schemeInfo = await FetchSchemeInfo(listSettings.OrganisationID); string approvalNumber = SanitizeApprovalNumber(schemeInfo.ApprovalNumber); string tradingName = SanitizeTradingName(schemeInfo.TradingName); producerList.SchemaVersion = listSettings.SchemaVersion; producerList.ApprovalNumber = approvalNumber; producerList.ComplianceYear = listSettings.ComplianceYear; producerList.TradingName = tradingName; producerList.SchemeBusiness = SchemeBusiness.Create(listSettings); for (int index = 0; index < listSettings.NumberOfNewProducers; ++index) { ProducerSettings producerSettings = new ProducerSettings(); producerSettings.SchemaVersion = listSettings.SchemaVersion; producerSettings.IsNew = true; producerSettings.IgnoreStringLengthConditions = listSettings.IgnoreStringLengthConditions; Producer producer = Producer.Create(producerSettings, listSettings.NoCompaniesForNewProducers); producerList.Producers.Add(producer); } int numberOfExistingProducersToInclude = listSettings.NumberOfExistingProducers; List <string> registrationNumbers = await dataAccess.GetRegistrationNumbers(listSettings.OrganisationID, listSettings.ComplianceYear, numberOfExistingProducersToInclude); int numberOfExistingProducers = registrationNumbers.Count; if (numberOfExistingProducersToInclude > numberOfExistingProducers) { numberOfExistingProducersToInclude = numberOfExistingProducers; } for (int index = 0; index < numberOfExistingProducersToInclude; ++index) { ProducerSettings producerSettings = new ProducerSettings(); producerSettings.SchemaVersion = listSettings.SchemaVersion; producerSettings.IsNew = false; producerSettings.RegistrationNumber = registrationNumbers[index]; producerSettings.IgnoreStringLengthConditions = listSettings.IgnoreStringLengthConditions; Producer producer = Producer.Create(producerSettings, listSettings.NoCompaniesForNewProducers); producerList.Producers.Add(producer); } return(producerList); }
public static SchemeBusiness Create(ISettings settings) { SchemeBusiness schemeBusiness = new SchemeBusiness(); if (RandomHelper.OneIn(2)) { schemeBusiness.Company = SchemeCompany.Create(settings); } else { schemeBusiness.Partnership = SchemePartnership.Create(settings); } return schemeBusiness; }
public static SchemeBusiness Create(ISettings settings) { SchemeBusiness schemeBusiness = new SchemeBusiness(); if (RandomHelper.OneIn(2)) { schemeBusiness.Company = SchemeCompany.Create(settings); } else { schemeBusiness.Partnership = SchemePartnership.Create(settings); } return(schemeBusiness); }