public AmazonListing UpdateAmazonListing(AmazonListing amazonListing)
        {
            var productVariant = _productVariantService.GetProductVariantBySKU(amazonListing.ProductVariant.SKU);

            amazonListing.ProductVariant = productVariant;
            amazonListing.Brand          = productVariant.Product.Brand != null ? productVariant.Product.Brand.Name : String.Empty;
            amazonListing.Condition      = ConditionType.New;
            var currency = _ecommerceSettings.Currency();

            amazonListing.Currency      = (currency != null && !String.IsNullOrWhiteSpace(currency.Code))?currency.Code:CurrencyCode.GBP.GetDescription();
            amazonListing.Manafacturer  = productVariant.Product.Brand != null ? productVariant.Product.Brand.Name : String.Empty;
            amazonListing.MfrPartNumber = productVariant.ManufacturerPartNumber;
            amazonListing.Quantity      = productVariant.TrackingPolicy == TrackingPolicy.Track
                                          ? _getStockRemainingQuantity.Get(productVariant)
                                          : 1000;
            amazonListing.Price                 = _productPricingMethod.GetUnitPrice(productVariant, 0m, 0m);
            amazonListing.SellerSKU             = productVariant.SKU;
            amazonListing.Title                 = productVariant.DisplayName;
            amazonListing.StandardProductIDType = _amazonSellerSettings.BarcodeIsOfType;
            amazonListing.StandardProductId     = productVariant.Barcode.Trim();

            amazonListing.FulfillmentChannel = amazonListing.AmazonListingGroup.FulfillmentChannel ?? AmazonFulfillmentChannel.MFN;

            _amazonListingService.Save(amazonListing);

            return(amazonListing);
        }
Example #2
0
        public Price GetProductPrice(AmazonListing listing)
        {
            var currency = _ecommerceSettings.Currency();

            return(new Price
            {
                SKU = listing.SellerSKU,
                StandardPrice = new OverrideCurrencyAmount()
                {
                    Currency = currency != null?currency.Code.GetEnumByValue <BaseCurrencyCodeWithDefault>() : BaseCurrencyCodeWithDefault.GBP,
                                   Value = listing.Price
                }
            });
        }
        public static string CurrencyCode(this EcommerceSettings settings)
        {
            var currency = settings.Currency();

            return(currency == null ? string.Empty : currency.Code);
        }
Example #4
0
        private AmazonOrderItem GetAmazonOrderItem(AmazonOrder amazonOrder, OrderItem rawOrderItem)
        {
            Currency currency = _ecommerceSettings.Currency();

            return(new AmazonOrderItem
            {
                ASIN = !String.IsNullOrWhiteSpace(rawOrderItem.ASIN) ? rawOrderItem.ASIN : String.Empty,
                AmazonOrder = amazonOrder,
                AmazonOrderItemId =
                    !String.IsNullOrWhiteSpace(rawOrderItem.OrderItemId) ? rawOrderItem.OrderItemId : String.Empty,
                Title = !String.IsNullOrWhiteSpace(rawOrderItem.Title) ? rawOrderItem.Title : String.Empty,
                SellerSKU =
                    !String.IsNullOrWhiteSpace(rawOrderItem.SellerSKU) ? rawOrderItem.SellerSKU : String.Empty,
                Condition =
                    !String.IsNullOrWhiteSpace(rawOrderItem.ConditionId)
                        ? rawOrderItem.ConditionId.GetEnumByValue <AmazonListingCondition>()
                        : AmazonListingCondition.New,
                ConditionSubtype =
                    !String.IsNullOrWhiteSpace(rawOrderItem.ConditionSubtypeId)
                        ? rawOrderItem.ConditionSubtypeId.GetEnumByValue <AmazonListingCondition>()
                        : AmazonListingCondition.New,
                GiftWrapPriceAmount =
                    (rawOrderItem.GiftWrapPrice != null && rawOrderItem.GiftWrapPrice.Amount != null)
                        ? Decimal.Parse(rawOrderItem.GiftWrapPrice.Amount, new CultureInfo("en-GB", false))
                        : 0,
                GiftWrapPriceCurrency =
                    (rawOrderItem.GiftWrapPrice != null && rawOrderItem.GiftWrapPrice.CurrencyCode != null)
                        ? rawOrderItem.GiftWrapPrice.CurrencyCode
                        : currency.Code,
                GiftWrapTaxAmount =
                    (rawOrderItem.GiftWrapTax != null && rawOrderItem.GiftWrapTax.Amount != null)
                        ? Decimal.Parse(rawOrderItem.GiftWrapTax.Amount, new CultureInfo("en-GB", false))
                        : 0,
                GiftWrapTaxCurrency =
                    (rawOrderItem.GiftWrapTax != null && rawOrderItem.GiftWrapTax.CurrencyCode != null)
                        ? rawOrderItem.GiftWrapTax.CurrencyCode
                        : currency.Code,
                ItemPriceAmount =
                    (rawOrderItem.ItemPrice != null && rawOrderItem.ItemPrice.Amount != null)
                        ? Decimal.Parse(rawOrderItem.ItemPrice.Amount, new CultureInfo("en-GB", false))
                        : 0,
                ItemPriceCurrency =
                    (rawOrderItem.ItemPrice != null && rawOrderItem.ItemPrice.CurrencyCode != null)
                        ? rawOrderItem.ItemPrice.CurrencyCode
                        : currency.Code,
                ItemTaxAmount =
                    (rawOrderItem.ItemTax != null && rawOrderItem.ItemTax.Amount != null)
                        ? Decimal.Parse(rawOrderItem.ItemTax.Amount, new CultureInfo("en-GB", false))
                        : 0,
                ItemTaxCurrency =
                    (rawOrderItem.ItemTax != null && rawOrderItem.ItemTax.CurrencyCode != null)
                        ? rawOrderItem.ItemTax.CurrencyCode
                        : currency.Code,
                PromotionDiscountAmount =
                    (rawOrderItem.PromotionDiscount != null && rawOrderItem.PromotionDiscount.Amount != null)
                        ? Decimal.Parse(rawOrderItem.PromotionDiscount.Amount, new CultureInfo("en-GB", false))
                        : 0,
                PromotionDiscountCurrency =
                    (rawOrderItem.PromotionDiscount != null && rawOrderItem.PromotionDiscount.CurrencyCode != null)
                        ? rawOrderItem.PromotionDiscount.CurrencyCode
                        : currency.Code,
                QuantityOrdered = rawOrderItem.QuantityOrdered,
                QuantityShipped = rawOrderItem.QuantityShipped,
                ShippingDiscountAmount =
                    (rawOrderItem.ShippingDiscount != null && rawOrderItem.ShippingDiscount.Amount != null)
                        ? Decimal.Parse(rawOrderItem.ShippingDiscount.Amount, new CultureInfo("en-GB", false))
                        : 0,
                ShippingDiscountCurrency =
                    (rawOrderItem.ShippingDiscount != null && rawOrderItem.ShippingDiscount.CurrencyCode != null)
                        ? rawOrderItem.ShippingDiscount.CurrencyCode
                        : currency.Code,
                ShippingPriceAmount =
                    (rawOrderItem.ShippingPrice != null && rawOrderItem.ShippingPrice.Amount != null)
                        ? Decimal.Parse(rawOrderItem.ShippingPrice.Amount, new CultureInfo("en-GB", false))
                        : 0,
                ShippingPriceCurrency =
                    (rawOrderItem.ShippingPrice != null && rawOrderItem.ShippingPrice.CurrencyCode != null)
                        ? rawOrderItem.ShippingPrice.CurrencyCode
                        : currency.Code,
                ShippingTaxAmount =
                    (rawOrderItem.ShippingTax != null && rawOrderItem.ShippingTax.Amount != null)
                        ? Decimal.Parse(rawOrderItem.ShippingTax.Amount, new CultureInfo("en-GB", false))
                        : 0,
                ShippingTaxCurrency =
                    (rawOrderItem.ShippingTax != null && rawOrderItem.ShippingTax.CurrencyCode != null)
                        ? rawOrderItem.ShippingTax.CurrencyCode
                        : currency.Code,
            });
        }
        public bool IsCurrencyValid(Order order)
        {
            var currency = _ecommerceSettings.Currency();

            return(!(order.OrderTotal != null && order.OrderTotal.CurrencyCode != currency.Code));
        }