private void ConvertResultBasedOnState() { Dictionary <int, double> totalByState = new Dictionary <int, double>(); foreach (string m in SelectedMonthCollection) { DataRow r = SalesResultTable.NewRow(); r[0] = m; for (int i = 0; i < SelectedStateCollection.Count; i++) { double totalSales = SelectedSales.Where(x => x.Month.Equals(m) && x.State.Equals(SelectedStateCollection[i]) && x.Year.Equals(SelectedYear)) .Select(selectItem => selectItem.TotalSales).FirstOrDefault(); r[i + 1] = totalSales; if (totalByState.ContainsKey(i)) { totalByState[i] += totalSales; } else { totalByState.Add(i, totalSales); } } SalesResultTable.Rows.Add(r); } }
public void FilterResult() { SelectedMonthCollection = new ObservableCollection <string>(); SelectedSales = AllSales.Where(x => SelectedStateCollection.Contains(x.State) && x.Country.Contains(SelectedCountry.CountryName) && x.Year.Equals(SelectedYear)).ToList(); if (SelectedMonth != null) { SelectedSales = SelectedSales.Where(x => x.Month.Equals(SelectedMonth)).ToList(); } if (SelectedCities != null) { SelectedSales = SelectedSales.Where(sale => SelectedCities.Select(r => r.Name).Contains(sale.City)).ToList(); } }