public ProducerCharge GetProducerChargeBand(schemeType schmemeType, producerType producerType, MemberUpload memberUpload) { var complianceYear = int.Parse(schmemeType.complianceYear); var previousProducerSubmission = registeredProducerDataAccess.GetProducerRegistration(producerType.registrationNo, complianceYear, schmemeType.approvalNo, memberUpload); var previousAmendmentCharge = registeredProducerDataAccess.HasPreviousAmendmentCharge(producerType.registrationNo, complianceYear, schmemeType.approvalNo, memberUpload); var chargeband = environmentAgencyProducerChargeBandCalculator.GetProducerChargeBand(schmemeType, producerType, memberUpload); if (previousProducerSubmission != null) { Log.Information(string.Format("previous {0}", previousProducerSubmission.Id)); Log.Information(string.Format("previous amendment {0}", previousAmendmentCharge.ToString())); if (!previousAmendmentCharge && (producerType.eeePlacedOnMarketBand == eeePlacedOnMarketBandType.Morethanorequalto5TEEEplacedonmarket && previousProducerSubmission.EEEPlacedOnMarketBandType == (int)eeePlacedOnMarketBandType.Lessthan5TEEEplacedonmarket)) { return(chargeband); } } return(new ProducerCharge() { ChargeBandAmount = chargeband.ChargeBandAmount, Amount = 0 }); }