using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace AggregateConverterExample
{
public partial class Window1 : Window
{
// a list of employees
public List<Employee>Employees { get; set; }
public Window1()
{
InitializeComponent();
fillEmployees();
Loaded += new RoutedEventHandler(Window1_Loaded);
}
private void fillEmployees()
{
// just generate some data to work woth
Employees = new List<Employee>();
Employees.Add(new Employee { FirstName = "Luke", LastName = "Skywalker", Salary = 1500, TravelDistance = 4.5,Series="Star Wars" });
Employees.Add(new Employee { FirstName = "Anakin", LastName = "Skywalker", Salary = 1075, TravelDistance = 2.5, Series = "Star Wars" });
Employees.Add(new Employee { FirstName = "Darth", LastName = "Vader", Salary = 3200, TravelDistance = 3.5, Series = "Star Wars" });
Employees.Add(new Employee { FirstName = "Darth", LastName = "Maul", Salary = 1800, TravelDistance = 8.1, Series = "Star Wars" });
Employees.Add(new Employee { FirstName = "Jar Jar", LastName = "Binks", Salary = 2340, TravelDistance = 3.4, Series = "Star Wars" });
Employees.Add(new Employee { FirstName = "Obi-Wan", LastName = "Kenobi", Salary = 6260, TravelDistance = 12.6, Series = "Star Wars" });
Employees.Add(new Employee { FirstName = "Padme", LastName = "Amidala", Salary = 1240, TravelDistance = 0.7, Series = "Star Wars" });
Employees.Add(new Employee { FirstName = "Yoda", LastName = "", Salary = 9420, TravelDistance = 16.8, Series = "Star Wars" });
Employees.Add(new Employee { FirstName = "Qui-Gon", LastName = "Jinn", Salary = 5320, TravelDistance = 2.9, Series = "Star Wars" });
Employees.Add(new Employee { FirstName = "Chewbacca", LastName = "", Salary = 2250, TravelDistance = 2.3, Series = "Star Wars" });
Employees.Add(new Employee { FirstName = "James T.", LastName = "Kirk", Salary = 8632, TravelDistance = 22.3, Series = "Star Trek" });
Employees.Add(new Employee { FirstName = "Spock", LastName = "", Salary = 2150, TravelDistance = 5.3, Series = "Star Trek" });
Employees.Add(new Employee { FirstName = "Leonard", LastName = "McCoy", Salary = 5761, TravelDistance = 5.1, Series = "Star Trek" });
Employees.Add(new Employee { FirstName = "Montgomery", LastName = "Scott", Salary = 4123, TravelDistance = 21.3, Series = "Star Trek" });
Employees.Add(new Employee { FirstName = "Lt.", LastName = "Uhura", Salary = 2450, TravelDistance = 8.4, Series = "Star Trek" });
Employees.Add(new Employee { FirstName = "Jean-Luc", LastName = "Picard", Salary = 8420, TravelDistance = 15.3, Series = "Star Trek" });
Employees.Add(new Employee { FirstName = "Data", LastName = "", Salary = 4651, TravelDistance = 3.8, Series = "Star Trek" });
Employees.Add(new Employee { FirstName = "Worf", LastName = "", Salary = 1242, TravelDistance = 7.2, Series = "Star Trek" });
Employees.Add(new Employee { FirstName = "Tuvok", LastName = "", Salary = 2390, TravelDistance = 3.9, Series = "Star Trek" });
Employees.Add(new Employee { FirstName = "Neelix", LastName = "", Salary = 1900, TravelDistance = 6.3, Series = "Star Trek" });
Employees.Add(new Employee { FirstName = "Seven of", LastName = "Nine", Salary = 5800, TravelDistance = 6.9, Series = "Star Trek" });
Employees.Add(new Employee { FirstName = "Kathryn", LastName = "Janeway", Salary = 7250, TravelDistance = 14.7, Series = "Star Trek" });
}
void Window1_Loaded(object sender, RoutedEventArgs e)
{
TheList.ItemsSource = Employees;
}
private void ButtonAll_Click(object sender, RoutedEventArgs e)
{
TheList.ItemsSource = Employees;
}
private void ButtonQuery1_Click(object sender, RoutedEventArgs e)
{
//select all employees from Star Trek
var result = from q in Employees
where q.Series == "Star Trek"
select q;
TheList.ItemsSource = result.ToList();
}
private void ButtonQuery2_Click(object sender, RoutedEventArgs e)
{
//Select all employees with a traveldistance of less than 10
var result = from q in Employees
where q.TravelDistance < 10
select q;
TheList.ItemsSource = result.ToList();
}
}
}