Click here to Skip to main content
15,891,943 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hello Guys,
I am building an application in which i have to store the data of transporter and the quotation they give when we bargain with them. I have two lists of object type.

List <Quotations> lstQuotations = quotationBL.getQuotations(quotation);
List <Transporter> transporterDetails = transBL.getTransporterList(lstQuotations);

getQuotations and getTransporterList are the functions that returns these lists.
quotationBL and transBL are the objects that take the execution to business logic class.

Now Coming to the point, i want to Merge the above mentioned two lists (lstQuotations and transporterDetails ) into a single structure (like DataTable or another List<someothertype>, etc).
Guys tell me how to solve this problem programmatically, after solving this problem i will Bind the new structure to my Repeater Control via DataBind().
Sorry about my English or if that question sounds ugly.
Posted
Updated 23-Feb-12 6:19am
v2
Comments
Oshtri Deka 23-Feb-12 15:11pm    
Do Quotations and Transporter classes inherit same super class or interface?

1 solution

I'm not aware of a more elegant solution than either:

  • Create a data table with two columns (I assume you know how to do this); or
  • Make a data class that contains the two items and make a list of those.
    class QuotationTransporter {
     public Quotation Quotation { get; set; }
     public Transporter Transporter { get; set; }
     public QuotationTransporter(Quotation q, Transporter t){
      Quotation = q; Transporter = t;
     }
    }
    
    List<QuotationTransporter> Merge(List<Quotation> q, <Transporter> t){
     if(q.Count != t.Count) throw new ArgumentException("Lists must be same length");
     List<QuotationTransporter> r = new List<QuotationTransporter>(q.Count);
     for(int i = 0; i < q.Count; i++)
      r.Add(new QuotationTransporter(q[i], t[i]);
     return r;
    }

It feels like it should be possible with a LINQ join query, though. Perhaps one of the LINQ gurus will come around and demonstrate that.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900