Exemplo n.º 1
0
        // Send a list of items to purchase from the faction store
        public static bool PostBuyItems(Dictionary <string, PurchasedItem> sold, FactionValue owner, bool blackMarket)
        {
            try {
                if (sold == null || owner == null)
                {
                    PersistentMapClient.Logger.LogIfDebug("null owner or dictionary");
                    return(false);
                }
                if (sold.Count() > 0)
                {
                    WarService market = WarService.PostBuyItems;
                    if (blackMarket)
                    {
                        market = WarService.PostBuyBlackMarketItem;
                    }
                    string          testjson = JsonConvert.SerializeObject(sold.Values.ToList <PurchasedItem>());
                    HttpWebRequest  request  = new RequestBuilder(market).Faction(owner).PostData(testjson).Build();
                    HttpWebResponse response = request.GetResponse() as HttpWebResponse;
                    using (Stream responseStream = response.GetResponseStream())
                    {
                        StreamReader reader      = new StreamReader(responseStream);
                        string       pitemString = reader.ReadToEnd();
                        if (blackMarket)
                        {
                            PurchasedItem pItem;
                            pItem = JsonConvert.DeserializeObject <PurchasedItem>(pitemString);
                            PersistentMapClient.updateBMarketId(pItem.TransactionId);
                        }

                        return(true);
                    }
                }
                else
                {
                    PersistentMapClient.Logger.Log("No online items purchased, nothing to do");
                    return(true);
                }
            }
            catch (Exception e) {
                PersistentMapClient.Logger.LogError(e);
                return(false);
            }
        }