public void addBillItems(List <ExtractInfo> List1, IMsgSetRequest messageSet, int i) { // input top of bill items IBillAdd BillAddRequest = messageSet.AppendBillAddRq(); BillAddRequest.VendorRef.FullName.SetValue(List1[i].vendorName); BillAddRequest.RefNumber.SetValue(List1[i].invoiceNumber); BillAddRequest.TxnDate.SetValue(DateTime.Parse(List1[i].invoiceDate)); BillAddRequest.DueDate.SetValue(DateTime.Parse(List1[i].dueDate)); //input expense items addExpense(List1, BillAddRequest, i); //check for repeated invoice numbers and add expense items as necessary for (int z = List1.Count - 1; z > i; z--) { if (List1[z].invoiceNumber != List1[i].invoiceNumber) { continue; } if (List1[z].invoiceNumber == List1[i].invoiceNumber) { addExpense(List1, BillAddRequest, z); List1.RemoveAt(z); } } }