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());
        }
Esempio n. 3
0
        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;
        }