示例#1
0
            public JSONASINFeeResponse(string jsonstring)
            {
                JSONASINFeeResponse jsonafr = DeserializeJSon <JSONASINFeeResponse>(jsonstring);

                this.Data          = jsonafr.Data;
                this.ProcessedDate = jsonafr.ProcessedDate;
                this.Succeed       = jsonafr.Succeed;
            }
示例#2
0
        public int GetFees(string asin, double price)
        {
            string tempstring = "";

            if (price == 0)
            {
                price = 100;
            }
            else
            {
                Math.Round(price, 0, MidpointRounding.AwayFromZero);
            }

            Fees = new SortedList <string, double>();

            try
            {
                if (ProfitCalcToken == "" && !GetProfitCalcToken())
                {
                    ErrorOccurred = true;
                    ErrorMessage  = "Es konnte kein Token ermittelt werden";
                    return(0);
                }

                tempstring = GetResponseString("GET", String.Format(MatchesUrl, asin, Language, ProfitCalcToken), "");

                if ((tempstring.IndexOf("succeed\":\"false") > 0) | (tempstring.IndexOf("data\":[]") > 0))
                {
                    ErrorOccurred = true;
                    ErrorMessage  = "Keine ASIN gefunden";
                    return(0);
                }

                JSONProductMatchesResponse jpmr = new JSONProductMatchesResponse(tempstring);

                JSONASINFeesRequest jfrequest = new JSONASINFeesRequest(jpmr.Data[0], MarketPlaceID, price, Currency);

                tempstring = GetResponseString("POST", String.Format(FeeUrl, ProfitCalcToken), jfrequest.ToString());

                if (tempstring.IndexOf("succeed\":\"false") > 0)
                {
                    ErrorOccurred = true;
                    ErrorMessage  = "Gebühren konnten nicht abgerufen werden";
                    return(0);
                }

                //MessageBox.Show(tempstring);

                JSONASINFeeResponse jfresponse = new JSONASINFeeResponse(tempstring);


                SortedList <string, double> fees = jfresponse.Data.AfnFees.ToASINFeeList(asin, Language);

                foreach (var item in fees)
                {
                    Fees.Add(item.Key, item.Value);
                }

                fees = jfresponse.Data.MfnFees.ToASINFeeList(asin, Language);
                foreach (var item in fees)
                {
                    Fees.Add(item.Key, item.Value);
                }
            }
            catch (Exception e)
            {
                ErrorMessage  = e.Message;
                ErrorOccurred = true;
            }

            return(Fees.Count);
        }