// <summary>
///returns data similar to 1 A, 1 B as a concatenation of 1 A and a/// </summary> /// <param name= "list" ></param> /// <returns></returns> PrivateBookinginshoplistdatacontract[] Gendistinctlist (list<bookinginshoplistdatacontract>list) { //define the actual aimlist to be returned to the interfaceList<bookinginshoplistdatacontract> aimlist =NewList<bookinginshoplistdatacontract>(); stringBookingno =string. Empty; stringRepairType =string. Empty; Bookinginshoplistdatacontract Clonedc=Newbookinginshoplistdatacontract (); Bookinginshoplistdatacontract ADDDC=NULL; if(list. Count = =0) { returnAimlist.toarray (); } foreach(varIteminchlist) { if(string. IsNullOrEmpty (Bookingno)) {Bookingno=item. Bookingno; RepairType=item. Repairtypename; } Else if(Bookingno = =item. Bookingno) {if(!string. IsNullOrEmpty (item. Repairtypename)) {RepairType= RepairType +","+item. Repairtypename; } } Else{Addnewclonedc (ADDDC, Clonedc, Bookingno, RepairType, aimlist); Clonedc=Newbookinginshoplistdatacontract (); Bookingno=item. Bookingno; RepairType=item. Repairtypename; } ADDDC=item; } addnewclonedc (ADDDC, Clonedc, Bookingno, RepairType, aimlist); returnAimlist.toarray (); } Private voidAddnewclonedc (bookinginshoplistdatacontract aadddc, Bookinginshoplistdatacontract ACloneDC,stringAbookingno,stringArepairtype, list<bookinginshoplistdatacontract>aaimlist) {Aclonedc.bookingno=Abookingno; Aclonedc.bookingstatus=Aadddc.bookingstatus; Aclonedc.ownername=Aadddc.ownername; Aclonedc.ownerphone=Aadddc.ownerphone; Aclonedc.carlicenseno=Aadddc.carlicenseno; Aclonedc.frameno=Aadddc.frameno; Aclonedc.bookcometime=Aadddc.bookcometime; Aclonedc.bookendtime=Aadddc.bookendtime; Aclonedc.receiver=Aadddc.receiver; Aclonedc.receivername=Aadddc.receivername; Aclonedc.opertatorname=Aadddc.opertatorname; Aclonedc.repairtypename=Arepairtype; Aclonedc.solicittype=Aadddc.solicittype; Aaimlist.add (ACLONEDC); }
Returns data similar to 1 A, 1 B as a concatenation of 1 A and a, using only one cycle overhead