コード例 #1
0
        public HttpResponseMessage Edit(Data.EFModels.RepricingInformation repricingInformation)
        {
            if (repricingInformation == null)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, "RepricingInformation object cannot be null."));
            }

            using (AmazonMWSdb amazonMwSdb = m_amazonMwSdbService.GetContextInstance())
            {
                if (repricingInformation.RepricingInformationId == 0)
                {
                    RepricingInformation repricingInformationCreated = amazonMwSdb.RepricingInformations.Add(repricingInformation);
                    amazonMwSdb.SaveChanges();

                    repricingInformation = repricingInformationCreated;
                }
                else
                {
                    amazonMwSdb.RepricingInformations.Attach(repricingInformation);
                    var entry = amazonMwSdb.Entry(repricingInformation);
                    entry.State = EntityState.Modified;
                    amazonMwSdb.SaveChanges();
                }

                return(Request.CreateResponse(HttpStatusCode.OK, repricingInformation));
            }
        }
コード例 #2
0
        public static UpdatedItemPrice CalculateNewPrice(string sku, string asin, RepricingInformation repricingInfo, ListingOffers listingOffers, decimal?myPrice)
        {
            UpdatedItemPrice updatedItemPrice = null;

            decimal minPrice = repricingInfo.MinimumPrice;

            if (listingOffers == null && myPrice.HasValue)
            {
                decimal newPrice = (myPrice.Value > minPrice) ? myPrice.Value + 0.01m : minPrice * 1.15m;

                newPrice = decimal.Round(newPrice, 2);

                updatedItemPrice = new UpdatedItemPrice(sku, newPrice, asin, minPrice, null, null, null, null, null, myPrice, null);
            }
            else if (listingOffers != null)
            {
                updatedItemPrice = CalculateNewPriceFromOffers(sku, asin, listingOffers.Offers, listingOffers.PublishDateTime, minPrice, listingOffers.ListingOffersSource);
            }

            return(updatedItemPrice);
        }