private static List <PolarPerson> GetPersons(IEnumerable <DirectoryInfo> personDirectories) { var persons = new List <PolarPerson>(); // for each person foreach (DirectoryInfo di in personDirectories) { var yearDirectories = new List <DirectoryInfo>(di.GetDirectories()); var person = new PolarPerson(di.Name, new List <PolarSession>()); // remove all directories with non-numeric names yearDirectories.RemoveAll(item => { int dummy; return(!int.TryParse(item.Name, out dummy)); }); // for each year directory foreach (var ydi in yearDirectories) { // get all gpx files var gpxFiles = ydi.GetFiles("*.gpx"); foreach (var gpxFile in gpxFiles) { var session = CreatePersonSessionFromFile(gpxFile.FullName); if (session != null) { person.Sessions.Add(session); } } } person.Sessions.Sort(); person.Sessions.Reverse(); persons.Add(person); } return(persons); }
private void personsComboBox_SelectedIndexChanged(object sender, EventArgs e) { PolarPerson p = personsComboBox.SelectedItem as PolarPerson; if (p != null) { sessionsComboBox.DataSource = p.Sessions; } }