コード例 #1
0
        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);
        }
コード例 #2
0
        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;
        }
コード例 #3
0
ファイル: SchemeBusiness.cs プロジェクト: DEFRA/prsd-weee
        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);
        }