public List<Member> GetSelection() { var postData = new FormValueCollection { {"task", "sel_selection"}, {"action", "perform"}, {"button", "post"}, {"sel_id", "1216"}, {"export_type", "1"}, {"usr_cse_id", "3"}, {"sort_field[0][field_nm]", ""}, {"group_field[0]", ""}, //{"submit", "Uitvoeren"}, }; var request = new PostRequest(ResolveUrl("index.php"), postData); //var request = new Request(ResolveUrl("index.php?task=sel_selection&action=perform&button=post&sel_id=1216")); var response = httpBrowser.DoRequest(request); var contents = response.Content; if (!contents.StartsWith("\"Lidnummer\",")) { Error(response, "Expected \"Lidnummer\" not found"); } var csvReader = new CsvConverter(contents); var membersCsv = new MembersCsv(); return membersCsv.GetMembers(csvReader); }
public List<Member> GetMembers(CsvConverter csvReader) { List<Member> members = new List<Member>(); var keys = csvReader.GetKeys(); while (true) { List<string> values = csvReader.GetValues(); if (values == null) break; Member member = new Member(); Type memberType = typeof(Member); for (int i = 0; i < keys.Count; i++) { var key = keys[i].Replace(" ", ""); var property = memberType.GetProperty(key); if (property != null) { property.SetValue(member, values[i], null); } } members.Add(member); } return members; }