Пример #1
0
        public static string GetClearDescription(FullTradeItem item)
        {
            var description = item?.Description;

            if (item == null || description == null)
            {
                return(string.Empty);
            }

            var descriptionBuilder = new StringBuilder();

            descriptionBuilder.Append($"Game: {description.AppId}{Environment.NewLine}");
            descriptionBuilder.Append($"Name: {description.MarketHashName}{Environment.NewLine}");
            descriptionBuilder.Append($"Type: {description.Type}{Environment.NewLine}");

            var descriptions = description.Descriptions?.Where(d => !string.IsNullOrWhiteSpace(d.Value.Trim()))
                               .ToArray();

            if (descriptions != null && descriptions.Any())
            {
                descriptionBuilder.Append($"Description: {string.Join(", ", descriptions.Select(d => d.Value.Trim()))}{Environment.NewLine}");
            }

            return(descriptionBuilder.ToString());
        }
Пример #2
0
        public IEnumerable <FullTradeOffer> ReceiveTradeOffers(
            bool getSentOffers,
            bool getReceivedOffers,
            string language      = "en_us",
            bool getDescriptions = true)
        {
            var offersResponse = this.TradeOfferWeb.GetActiveTradeOffers(
                getSentOffers,
                getReceivedOffers,
                getDescriptions,
                language);

            var fullOffersList = new List <FullTradeOffer>();

            if (offersResponse.AllOffers == null)
            {
                return(fullOffersList);
            }

            fullOffersList.AddRange(
                offersResponse.AllOffers.Select(
                    trade => new FullTradeOffer
            {
                Offer   = trade,
                MyItems = FullTradeItem.GetFullItemsList(
                    trade.ItemsToGive,
                    offersResponse.Descriptions),
                PartnerItems = FullTradeItem.GetFullItemsList(
                    trade.ItemsToReceive,
                    offersResponse.Descriptions)
            }));

            return(fullOffersList);
        }
Пример #3
0
        public void LoadCurrentTradeOffers(bool getSentOffers, bool getReceivedOffers, bool activeOnly, string language)
        {
            var tradesList = new List <FullTradeOffer>();

            var response = CurrentSession.SteamManager.TradeOfferWeb.GetTradeOffers(
                getSentOffers,
                getReceivedOffers,
                true,
                activeOnly,
                false,
                language: language);

            Program.LoadingForm.SetTotalItemsCount(
                response.AllOffers?.Count() ?? 0,
                response.AllOffers?.Count() ?? 0,
                "Total trades count");

            if (response.AllOffers == null)
            {
                this.currentTrades = tradesList;
                return;
            }

            foreach (var trade in response.AllOffers)
            {
                tradesList.Add(
                    new FullTradeOffer
                {
                    Offer          = trade,
                    ItemsToGive    = FullTradeItem.GetFullItemsList(trade.ItemsToGive, response.Descriptions),
                    ItemsToReceive = FullTradeItem.GetFullItemsList(trade.ItemsToReceive, response.Descriptions)
                });
                Program.LoadingForm.TrackLoadedIteration("{currentPage} of {totalPages} trades loaded");
            }

            this.currentTrades = tradesList;
        }
Пример #4
0
 public static string GetClearType(FullTradeItem item)
 {
     return(GetClearType(item.Description.Type));
 }