// gets the AppIDs contained within the package and then builds a listing for each one using BuildListingWithAppID private void BuildListingWithPackageID(Listing listing, List <int> appIds, string name = "") { foreach (int id in appIds) { Listing subListing = GetListingByAppID(id, "Steam"); if (subListing == null) { subListing = new Listing(); subListing.AddPlatform(GetPlatforms().Where(p => object.Equals(p.PlatformName, "Steam")).SingleOrDefault()); subListing.AddProduct(new Product(id)); AddListing(subListing); BuildListingWithAppID(subListing, id); UpdateListing(subListing); listing.AddChildListing(subListing); } else { listing.AddChildListing(subListing); } } if (String.IsNullOrEmpty(listing.ListingName)) { string newName = ""; string[] names = listing.ChildListings.OrderBy(l => l.ListingName).Select(l => l.ListingName).ToArray(); if (names.Count() > 0) { newName = names[0]; } for (int i = 1; i < names.Count(); i++) { newName = newName + "," + names[i]; } listing.ListingName = newName; } }