Avatar of Eddie Shipman
Eddie ShipmanFlag for United States of America

asked on 

Building an object from several other objects

First off, this is not a homework assignment. It is to determine the best object building techniques. I am trying to wrap my head around building the bookSeller object below.
    public class bookSeller
    {
        public List<seller> sellers { get; set; }
    }

    // Resulting data sample:
    {
      "sellers": [
        {
          "sellerId": 6657742342,
          "name": "Tim's Booksellers",
          "books": [
            {
              "bookId": 7283137721,
              "year": 2014,
              "title": "Adventures of Laney"
            }
          ]
        },
        {
          "sellerId": 92081755410,
          "name": "All Old Books",
          "books": [
            {
             "bookId": 6941353265,
              "year": 2017,
              "title": "Signs of the Returning Pleistocene"
            }
          ]
        }
      ]
    }

Open in new window

The data comes from several web service calls. The first one gets a list of bookIds like this:
    public class bookIDs
    {
        public List<int> bookIds { get; set; }
    }

    // Resulting data sample:
    {
      "bookIds": [
        7283137721,
        6941353265
      ]
    }

Open in new window

I am looping through the returned list of bookIds and calling the second to get the information for each book like this:    
    public class bookInfo
    {
        public int bookId { get; set; }
        public int year { get; set; }
        public string title { get; set; }
        public int sellerId { get; set; }
    }

    // Resulting data sample:
    {
      "bookId": 7283137721,
      "year": 2014,
      "title": "Adventures of Laney",
      "sellerId": 1148459751
    }

Open in new window

I also need to get the seller information that returns info like this:
    
    public class sellerInfo
    {
        public int sellerId { get; set; }
        public string name { get; set; }
    }

    // Resulting data sample:
    {
      "sellerId": 6657742342,
      "name": "Tim's Booksellers"
    }

Open in new window

So...
    
    // This function call returns the list of bookIds
    bookIDs bkIds = GetBookIds(authKey); // authKey allows call to webservice function
    // Now we loop over them to get the bookInfo for each book and sellerInfo for each 
    // seller and build the resulting bookSeller object.
    for(int i=0; i< bkIds.bookIds.Count-1; i++)
    {
        book bookInfo = GetBookInfo(bkIds.bookIds[i]);
        // Here is where I need to get the sellerInfo and 
        // add the seller info and the book to the final bookSeller object.
        // Not sure how I should handle it.
        // Function to retrieve the sellerInfo takes the sellerId as parameter
    }

Open in new window

C#

Avatar of undefined
Last Comment
Eddie Shipman
Avatar of kaufmed
kaufmed
Flag of United States of America image

What is your question?
Avatar of Eddie Shipman

ASKER

I need to understand the way to build the bookSellers object. See comments in the for loop at the bottom.
ASKER CERTIFIED SOLUTION
Avatar of it_saige
it_saige
Flag of United States of America image

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
Avatar of Eddie Shipman

ASKER

Definitely got me on my way, thanks.
C#
C#

C# is an object-oriented programming language created in conjunction with Microsoft’s .NET framework. Compilation is usually done into the Microsoft Intermediate Language (MSIL), which is then JIT-compiled to native code (and cached) during execution in the Common Language Runtime (CLR).

98K
Questions
--
Followers
--
Top Experts
Get a personalized solution from industry experts
Ask the experts
Read over 600 more reviews

TRUSTED BY

IBM logoIntel logoMicrosoft logoUbisoft logoSAP logo
Qualcomm logoCitrix Systems logoWorkday logoErnst & Young logo
High performer badgeUsers love us badge
LinkedIn logoFacebook logoX logoInstagram logoTikTok logoYouTube logo