public UserControlItemChart(ItemChartMonthly item, double maximum) { InitializeComponent(); DataContext = item; GridIncoming.Height = (item.Incomings * 200) / maximum; GridExpense.Height = (item.Expenses * 200) / maximum; }
public List <ItemChartMonthly> GetItensChartMonthly() { List <ItemChartMonthly> itemCharts = new List <ItemChartMonthly>(); var groupedIncomings = (from i in Incomings group i by new { month = i.Date.Month, year = i.Date.Year } into d select new { dt = string.Format("{0}/{1}", d.Key.month, d.Key.year), count = d.Count() }).OrderByDescending(g => g.dt); var groupedExpenses = (from e in Expenses group e by new { month = e.Date.Month, year = e.Date.Year } into d select new { dt = string.Format("{0}/{1}", d.Key.month, d.Key.year), count = d.Count() }).OrderByDescending(g => g.dt); foreach (var item in groupedIncomings) { var ic = itemCharts.Where(i => i.Date.Equals(DateTime.Parse("01/" + item.dt))).FirstOrDefault(); if (ic == null) { ic = new ItemChartMonthly(item.dt); itemCharts.Add(ic); } ic.SetIncoming(Incomings.Where(i => i.Date.Month.Equals(ic.Date.Month) && i.Date.Year.Equals(ic.Date.Year)).Sum(i => i.Value)); } foreach (var item in groupedExpenses) { var ic = itemCharts.Where(i => i.Date.Equals(DateTime.Parse("01/" + item.dt))).FirstOrDefault(); if (ic == null) { ic = new ItemChartMonthly(item.dt); itemCharts.Add(ic); } ic.SetExpense(Expenses.Where(e => e.Date.Month.Equals(ic.Date.Month) && e.Date.Year.Equals(ic.Date.Year)).Sum(e => e.Value)); } return(itemCharts.OrderByDescending(i => i.Date).ToList()); }
public UserControlItemChart(ItemChartMonthly item, double maximum) { InitializeComponent(); DataContext = item; var incomings = item.Incomings; var expenses = item.Expenses; if (incomings < 0) { incomings = 0; } if (expenses < 0) { expenses = 0; } GridIncoming.Height = (incomings * 200) / maximum; GridExpense.Height = (expenses * 200) / maximum; }