Example #1
0
        private static void ValidateMarketplaceCompatibility(string reportType, IEnumerable <string> requestedMarketplacesIds = null)
        {
            if (requestedMarketplacesIds == null)
            {
                return;
            }

            var permittedMarketplacesIds = ReportsPermittedMarketplacesMapper.GetMarketplaces(reportType)?.Select(m => m.Id) ?? MwsMarketplaceGroup.AmazonGlobal().Select(m => m.Id);

            foreach (var requestedMarketplace in requestedMarketplacesIds)
            {
                if (!permittedMarketplacesIds.Contains(requestedMarketplace))
                {
                    throw new ArgumentException(
                              $@"The report request for type:'{reportType}', is only available to the following marketplaces:'{
								MwsMarketplace.GetMarketplaceCountryCodesAsCommaSeparatedString(permittedMarketplacesIds)
							}'.
The requested marketplace:'{
								MwsMarketplace.GetMarketplaceCountryCode(requestedMarketplace)
							}' is not supported by Amazon MWS for the specified report type"                            );
                }
            }
        }
Example #2
0
        public void GetMarketplaceCountryCode_ForAustraliaMarketplaceId_ReturnsAustralia()
        {
            var countryCode = MwsMarketplace.GetMarketplaceCountryCode(MwsMarketplace.Australia.Id);

            Assert.AreEqual(MwsMarketplace.Australia.CountryCode, countryCode);
        }
Example #3
0
        public void GetMarketplaceCountryCode_ForJapanMarketplaceId_ReturnsJapan()
        {
            var countryCode = MwsMarketplace.GetMarketplaceCountryCode(MwsMarketplace.Japan.Id);

            Assert.AreEqual(MwsMarketplace.Japan.CountryCode, countryCode);
        }
Example #4
0
        public void GetMarketplaceCountryCode_ForChinaMarketplaceId_ReturnsChina()
        {
            var countryCode = MwsMarketplace.GetMarketplaceCountryCode(MwsMarketplace.China.Id);

            Assert.AreEqual(MwsMarketplace.China.CountryCode, countryCode);
        }
Example #5
0
        public void GetMarketplaceCountryCode_ForBrazilMarketplaceId_ReturnsBrazil()
        {
            var countryCode = MwsMarketplace.GetMarketplaceCountryCode(MwsMarketplace.Brazil.Id);

            Assert.AreEqual(MwsMarketplace.Brazil.CountryCode, countryCode);
        }
Example #6
0
        public void GetMarketplaceCountryCode_ForItalyMarketplaceId_ReturnsItaly()
        {
            var countryCode = MwsMarketplace.GetMarketplaceCountryCode(MwsMarketplace.Italy.Id);

            Assert.AreEqual(MwsMarketplace.Italy.CountryCode, countryCode);
        }
Example #7
0
        public void GetMarketplaceCountryCode_ForFranceMarketplaceId_ReturnsFrance()
        {
            var countryCode = MwsMarketplace.GetMarketplaceCountryCode(MwsMarketplace.France.Id);

            Assert.AreEqual(MwsMarketplace.France.CountryCode, countryCode);
        }
Example #8
0
        public void GetMarketplaceCountryCode_ForUKMarketplaceId_ReturnsUK()
        {
            var countryCode = MwsMarketplace.GetMarketplaceCountryCode(MwsMarketplace.UK.Id);

            Assert.AreEqual(MwsMarketplace.UK.CountryCode, countryCode);
        }
Example #9
0
        public void GetMarketplaceCountryCode_ForMexicoMarketplaceId_ReturnsMexico()
        {
            var countryCode = MwsMarketplace.GetMarketplaceCountryCode(MwsMarketplace.Mexico.Id);

            Assert.AreEqual(MwsMarketplace.Mexico.CountryCode, countryCode);
        }
Example #10
0
        private ReportOptions PopulateReportOptionsWithCustomValue(ReportOptions reportOptions, bool custom = false, IEnumerable <MwsMarketplace> requestedMarketplaces = null)
        {
            if (custom && requestedMarketplaces != null)
            {
                var acceptedMarketplaceIdsForCustomOption = new List <string>
                {
                    MwsMarketplace.Canada.Id,
                    MwsMarketplace.US.Id,
                    MwsMarketplace.UK.Id,
                    MwsMarketplace.India.Id
                };
                var nonAcceptedMarketplaceIds = requestedMarketplaces.Select(m => m.Id).Except(acceptedMarketplaceIdsForCustomOption).ToList();

                if (nonAcceptedMarketplaceIds.Any())
                {
                    throw new ArgumentException(
                              $"The 'Custom' option is not available for the following marketplace(s) : {MwsMarketplace.GetMarketplaceCountryCodesAsCommaSeparatedString(nonAcceptedMarketplaceIds)}");
                }
            }

            if (reportOptions == null)
            {
                reportOptions = new ReportOptions();
            }
            reportOptions.AddBooleanOption("custom", custom);

            return(reportOptions);
        }