private void addCon_Click(object sender, EventArgs e) { //build the proxy for our xmlrpc interface iFace proxy = XmlRpcProxyGen.Create <iFace>(); //Make sure our text boxes are not null. if (fName.Text != null && lName.Text != null && eMail.Text != null) { //Create a struct to hold the contact records data XmlRpcStruct conDat = new XmlRpcStruct(); conDat.Add("FirstName", fName.Text); conDat.Add("LastName", lName.Text); conDat.Add("Email", eMail.Text); //make the call to add the contact. try { result = proxy.Add(key, conDat); Results.Text += "Contact added - ID: " + result + System.Environment.NewLine; } catch (Exception ex) { MessageBox.Show(ex.Message); } //now we will add the contact to any groups or campaigns that were checked. //if we wanted to we could check if the calls return true/false to determine output. try { if (news1.Checked) { //news1 is checked so add it to the correct group ID. proxy.AddGrp(key, result, 91); Results.Text += "Contact " + result + " added to group 91" + System.Environment.NewLine; } if (news2.Checked) { //news2 is checked so add it to the correct group ID. proxy.AddGrp(key, result, 92); Results.Text += "Contact " + result + " added to group 92" + System.Environment.NewLine; } if (camp1.Checked) { //camp1 is checked so add it to the correct campaign ID. proxy.AddCamp(key, result, 21); Results.Text += "Contact " + result + " added to campaign 21" + System.Environment.NewLine; } if (camp2.Checked) { //camp2 is checked so add it to the correct campaign ID. proxy.AddCamp(key, result, 23); Results.Text += "Contact " + result + " added to campaign 23" + System.Environment.NewLine; } } catch (Exception ex) { MessageBox.Show(ex.Message); } Results.Text += System.Environment.NewLine; } else { MessageBox.Show("Error: First Name, Last Name and Email are required!"); } }