public RegisteredProducer GetOrCreateRegisteredProducer(Scheme scheme, int complianceYear, string registrationNumber) { // Try to find a RegisteredProducer that has already been created, otherwise create a new one. // A removed producer is not reused. RegisteredProducer registeredProducer = model.RegisteredProducers.Local .SingleOrDefault(rp => rp.ProducerRegistrationNumber == registrationNumber && rp.ComplianceYear == complianceYear && rp.SchemeId == scheme.Id && !rp.Removed); if (registeredProducer == null) { int registeredProducerId = GetNextId(); registeredProducer = new RegisteredProducer { Id = IntegerToGuid(registeredProducerId), Scheme = scheme, SchemeId = scheme.Id, ComplianceYear = complianceYear, ProducerRegistrationNumber = registrationNumber, CurrentSubmissionId = null, Removed = false }; model.RegisteredProducers.Add(registeredProducer); } return(registeredProducer); }
public EeeOutputAmount CreateEeeOutputAmount(RegisteredProducer registeredProducer, string obligationType, int weeeCategory, decimal tonnage) { var eeeOutputAmount = new EeeOutputAmount(); eeeOutputAmount.Id = IntegerToGuid(GetNextId()); eeeOutputAmount.ObligationType = obligationType; eeeOutputAmount.WeeeCategory = weeeCategory; eeeOutputAmount.Tonnage = tonnage; eeeOutputAmount.RegisteredProducer = registeredProducer; return(eeeOutputAmount); }
private ProducerSubmission CreateProducerWithEmptyBusiness(MemberUpload memberUpload, string registrationNumber, string obligationType) { int businessId = GetNextId(); Business business = new Business { Id = IntegerToGuid(businessId), }; model.Businesses.Add(business); int producerSubmissionId = GetNextId(); RegisteredProducer registeredProducer = GetOrCreateRegisteredProducer(memberUpload.Scheme, memberUpload.ComplianceYear.Value, registrationNumber); var chargeBandAmount = FetchChargeBandAmount(ChargeBand.A); ProducerSubmission producerSubmission = new ProducerSubmission { Id = IntegerToGuid(producerSubmissionId), RegisteredProducer = registeredProducer, RegisteredProducerId = registeredProducer.Id, MemberUpload = memberUpload, MemberUploadId = memberUpload.Id, TradingName = string.Format("Producer {0} Trading Name", producerSubmissionId), UpdatedDate = new DateTime(2015, 1, 1, 0, 0, 0), Business = business, ProducerBusinessId = business.Id, AuthorisedRepresentativeId = null, ChargeBandAmountId = chargeBandAmount.Id, ChargeThisUpdate = 0, ObligationType = obligationType, Invoiced = false }; model.ProducerSubmissions.Add(producerSubmission); if (memberUpload.IsSubmitted) { registeredProducer.CurrentSubmissionId = IntegerToGuid(producerSubmissionId); registeredProducer.CurrentSubmission = producerSubmission; } return(producerSubmission); }
public async Task InsertNonRemovedRegisteredProducer_WithExistingRemovedProducer_DoesntThrowAnException() { using (DatabaseWrapper wrapper = new DatabaseWrapper()) { // Arrange ModelHelper helper = new ModelHelper(wrapper.Model); Scheme scheme = helper.CreateScheme(); RegisteredProducer registeredProducer1 = new RegisteredProducer() { Id = new Guid("834635D7-876D-47BD-B3E3-570E481B2C15"), Scheme = scheme, ComplianceYear = 2099, ProducerRegistrationNumber = "WEE/HD6483TF", Removed = true, }; wrapper.Model.RegisteredProducers.Add(registeredProducer1); await wrapper.Model.SaveChangesAsync(); // Act RegisteredProducer registeredProducer2 = new RegisteredProducer() { Id = new Guid("65C1B132-2573-409C-B18E-E7C3AEC777AF"), Scheme = scheme, ComplianceYear = 2099, ProducerRegistrationNumber = "WEE/HD6483TF", Removed = false, }; wrapper.Model.RegisteredProducers.Add(registeredProducer2); await wrapper.Model.SaveChangesAsync(); // Assert // No exception } }
public EeeOutputAmount CreateEeeOutputAmount(DataReturnVersion dataReturnVersion, RegisteredProducer registeredProducer, string obligationType, int weeeCategory, decimal tonnage) { var eeeOutputAmount = CreateEeeOutputAmount(registeredProducer, obligationType, weeeCategory, tonnage); AddEeeOutputAmount(dataReturnVersion, eeeOutputAmount); return eeeOutputAmount; }
public EeeOutputAmount CreateEeeOutputAmount(RegisteredProducer registeredProducer, string obligationType, int weeeCategory, decimal tonnage) { var eeeOutputAmount = new EeeOutputAmount(); eeeOutputAmount.Id = IntegerToGuid(GetNextId()); eeeOutputAmount.ObligationType = obligationType; eeeOutputAmount.WeeeCategory = weeeCategory; eeeOutputAmount.Tonnage = tonnage; eeeOutputAmount.RegisteredProducer = registeredProducer; return eeeOutputAmount; }
public RegisteredProducer GetOrCreateRegisteredProducer(Scheme scheme, int complianceYear, string registrationNumber) { // Try to find a RegisteredProducer that has already been created, otherwise create a new one. // A removed producer is not reused. RegisteredProducer registeredProducer = model.RegisteredProducers.Local .SingleOrDefault(rp => rp.ProducerRegistrationNumber == registrationNumber && rp.ComplianceYear == complianceYear && rp.SchemeId == scheme.Id && !rp.Removed); if (registeredProducer == null) { int registeredProducerId = GetNextId(); registeredProducer = new RegisteredProducer { Id = IntegerToGuid(registeredProducerId), Scheme = scheme, SchemeId = scheme.Id, ComplianceYear = complianceYear, ProducerRegistrationNumber = registrationNumber, CurrentSubmissionId = null, Removed = false }; model.RegisteredProducers.Add(registeredProducer); } return registeredProducer; }
public EeeOutputAmount CreateEeeOutputAmount(DataReturnVersion dataReturnVersion, RegisteredProducer registeredProducer, string obligationType, int weeeCategory, decimal tonnage) { var eeeOutputAmount = CreateEeeOutputAmount(registeredProducer, obligationType, weeeCategory, tonnage); AddEeeOutputAmount(dataReturnVersion, eeeOutputAmount); return(eeeOutputAmount); }