예제 #1
0
        private void CreateBarGraph()
        {
            var barGraphData = new MonthlyChart(Repository).GenerateBarGraphData();

            var label = new Label {
                Content = "Last 12 Month Expenses", FontSize = 22
            };

            BarGraphCanvas.Children.Add(label);
            Canvas.SetLeft(label, 200);
            Canvas.SetTop(label, 10);

            AddBarsToView(barGraphData);
        }
예제 #2
0
        public void Bar_Graph_Data_Test()
        {
            var graphData = new MonthlyChart();

            var test = graphData.MonthlyExpenseData;

            Assert.AreEqual(7, test[0].Month);
            Assert.AreEqual(8, test[1].Month);
            Assert.AreEqual(9, test[2].Month);


            //Assert.AreEqual(Math.Round(test[0].MonthlyExpenditure, 2) , 426.23m );

            //doesn't pass because of 0.02 difference
            Assert.AreEqual(Math.Round(test[1].MonthlyExpenditure, 2), 1598.83m);
            Assert.AreEqual(Math.Round(test[2].MonthlyExpenditure, 2), 102.18m);
        }
        public async Task <IList <Chart> > GetMonthlyAmountSummaryAsync(int userId, int year)
        {
            ////try
            ////{
            ////  EBookDataAccess ebookDataAccess = new EBookDataAccess();
            ////          Ebook ebook1 = new MyDiary.StorageApi.Domain.Models.Ebook();
            ////  ebook1.set_EbookName("ebook 1");
            ////  ebook1.set_ModifiedDate(new DateTimeOffset?(DateTimeOffset.UtcNow));
            ////  ebook1.set_PublishedDate(new DateTimeOffset?());
            ////  int ebook = ebookDataAccess.Add(ebook1);
            ////}
            ////catch (Exception ex)
            ////{
            ////  throw ex;
            ////}

            List <Chart> expenseCharts = new List <Chart>();

            foreach (object obj in Enum.GetValues(typeof(Month)))
            {
                object          monthlyEnum = obj;
                IList <Expense> expenseList = await this._expenseDataAccess.GetExpensesByUserIdAndYearAndMonthNumberAsync(userId, year, (int)monthlyEnum).ConfigureAwait(false);

                IList <Expense> expenses = expenseList;
                expenseList = (IList <Expense>)null;
                double       totalAmount  = ((IEnumerable <Expense>)expenses).Select((Func <Expense, double>)(x => x.Amount)).Sum();
                List <Chart> chartList    = expenseCharts;
                MonthlyChart monthlyChart = new MonthlyChart();
                monthlyChart.Amount    = (Math.Round(totalAmount, 2));
                monthlyChart.SeqNumber = ((int)monthlyEnum);
                monthlyChart.Name      = (monthlyEnum.ToString());
                chartList.Add(monthlyChart);
                expenses    = null;
                monthlyEnum = null;
            }
            return((IList <Chart>)expenseCharts);
        }