public ObservableCollection <LineChartItem> LineChartTest2() { int days = (_maxDate - _minDate).Days + 1; // = 9 - 7 + 1// 7,8,9 LineChartItem[] modelss = new LineChartItem[days]; for (int i = 0; i < modelss.Length; i++) { modelss[i] = new LineChartItem { Key = _minDate.AddDays(i).ToString("MM.dd"), Value = 0, }; } var query = from item in AllOperations where !item.isExpense group item.Cost by item.Date into g select new { Date = DateTime.Parse(g.Key), Cost = g.Sum() }; foreach (var item in query) { int index = days - (_maxDate - item.Date).Days - 1; modelss[index] = new LineChartItem { Key = modelss[index].Key, Value = (double)item.Cost, }; } return(new ObservableCollection <LineChartItem>(modelss)); }
public ObservableCollection <LineChartItem> LineChartTest3() { int days = (_maxDate - _minDate).Days + 1; // = 9 - 7 + 1// 7,8,9 LineChartItem[] modelss = new LineChartItem[days]; for (int i = 0; i < modelss.Length; i++) { modelss[i] = new LineChartItem { Key = _minDate.AddDays(i).ToString("MM.dd"), Value = 0, }; } var query = from item in AllOperations group item.SignedCost by item.Date into g select new { Date = DateTime.Parse(g.Key), Cost = g.Sum() }; if (modelss.Length <= 0) { return(new ObservableCollection <LineChartItem>(modelss)); } modelss[0].Value = (double)Dal.GetBalanceOfCertainDay(_maxDate); for (int i = 1; i < query.Count(); i++) { int index = days - (_maxDate - query.ElementAt(i).Date).Days - 1; modelss[index].Value += modelss[index - 1].Value + (double)query.ElementAt(i).Cost; } return(new ObservableCollection <LineChartItem>(modelss)); }