private void DrawBarChart() { List <BarEntry> datalist = new List <BarEntry>(); labelnames = new List <string>(); for (int i = 0; i < lstbarChartData.Count; i++) { string month = lstbarChartData[i].Month; double total = lstbarChartData[i].Total; datalist.Add(new BarEntry(i, (float)total)); labelnames.Add(month); } var SelectedMonthindex = labelnames.IndexOf(SelectedMonth.Substring(0, 3)); int[] colors = new int[12]; for (int i = 0; i < labelnames.Count; i++) { if (i == SelectedMonthindex) { colors[i] = Android.Graphics.Color.ParseColor("#efbe5d"); } else { colors[i] = Android.Graphics.Color.ParseColor("#204060"); } } prefs = PreferenceManager.GetDefaultSharedPreferences(this); MikePhil.Charting.Data.BarDataSet barDataSet = new MikePhil.Charting.Data.BarDataSet(datalist, "Months"); barDataSet.SetColors(colors); barDataSet.ValueTextSize = 8.5f; BarData barData = new BarData(barDataSet); barData.HighlightEnabled = false; barchartStats.Data = barData; // YAxis yAxis = barchartStats.AxisLeft; // yAxis.ValueFormatter = new IndexAxisValueFormatter(labelnames); XAxis xAxis = barchartStats.XAxis; xAxis.ValueFormatter = new IndexAxisValueFormatter(labelnames); xAxis.Position = XAxis.XAxisPosition.Top; xAxis.YOffset = -4f; xAxis.SetDrawAxisLine(false); xAxis.SetDrawGridLines(false); xAxis.Granularity = 1f; xAxis.SetLabelCount(lstbarChartData.Count, false); xAxis.LabelRotationAngle = 270f; barchartStats.AnimateY(1000); barchartStats.Invalidate(); progressBarStats.Visibility = ViewStates.Invisible; barchartStats.Visibility = ViewStates.Visible; statsdata.Visibility = ViewStates.Invisible; statstype.Text = "Total expense for the year" + "(" + SelectedYear + ")" + " = " + prefs.GetString("CurrencySymbolSelected", "") + lstbarChartData.Sum(x => Convert.ToDouble(x.Total)); }
/// <summary> /// Takes the month selected and stores it in a varaible reformting the string so that it always repsresents the month as the first day of the month selected /// </summary> /// <param></param> /// <returns>The selected month as a string</returns> protected void calDate_SelectionChanged(object sender, EventArgs e) { string SelectedMonth; SelectedMonth = calDate.SelectedDate.ToString("d"); SelectedMonth = "01" + SelectedMonth.Substring(2, 8); txtDate.Text = SelectedMonth; dateField.Style.Value = "display:none;"; }
public void SetupMonthSpinner() { adapter = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleSpinnerDropDownItem, months); adapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem); monthspinner.Adapter = adapter; monthspinner.ItemSelected += Monthspinner_ItemSelected; if (SelectedMonth != null) { int spinnerPosition = adapter.GetPosition(SelectedMonth.Substring(0, 3)); monthspinner.SetSelection(spinnerPosition); } }
/// <summary> /// Takes the month selected and stores it in a varaible reformating the string so that it always repsresents the month as the first day of the month selected /// </summary> /// <param></param> /// <returns>The selected month as a string</returns> protected void calDate_SelectionChanged(object sender, EventArgs e) { //Clear the validation text in case a previous selection caused an error message validateTxtDate.Text = ""; string SelectedMonth; SelectedMonth = calDate.SelectedDate.ToString("d"); SelectedMonth = "01" + SelectedMonth.Substring(2, 8); txtDate.Text = SelectedMonth; dateField.Style.Value = "display:none;"; }
public void LoadCardsOnPopup(PaymentListModel paymentListModel) { Number = (paymentListModel.CARD_NUMBER ?? "").ToString(); Chname = paymentListModel.CARD_HOLDER_NAME; SelectedMonth = paymentListModel.CARD_EXP_DATE; if (!(SelectedMonth == null)) { SelectedMonth = SelectedMonth.Substring(0, 2); } SelectedYear = paymentListModel.CARD_EXP_DATE; if (!(SelectedYear == null)) { SelectedYear = "20" + SelectedYear.Substring(2, 2); } }
private void DrawPieChart() { List <PieEntry> datalist = new List <PieEntry>(); int[] colors = new int[14]; for (int i = 0; i < lstPieChartDataValue.Count; i++) { string expensecategory = lstPieChartDataValue[i].ExpenseCategory; double total = lstPieChartDataValue[i].Total; datalist.Add(new PieEntry((float)total, expensecategory)); switch (expensecategory) { case "Food and Dining": colors[i] = Android.Graphics.Color.ParseColor("#FFA500"); break; case "Shopping": colors[i] = Android.Graphics.Color.ParseColor("#40C4FF"); break; case "Travelling": colors[i] = Android.Graphics.Color.ParseColor("#00BFA5"); break; case "Entertainment": colors[i] = Android.Graphics.Color.ParseColor("#e49ef0"); break; case "Medical": colors[i] = Android.Graphics.Color.ParseColor("#FF0000"); break; case "Personal Care": colors[i] = Android.Graphics.Color.ParseColor("#0EDBDB"); break; case "Education": colors[i] = Android.Graphics.Color.ParseColor("#1b49f2"); break; case "Bills and Utilities": colors[i] = Android.Graphics.Color.ParseColor("#006600"); break; case "Banking": colors[i] = Android.Graphics.Color.ParseColor("#FFAB91"); break; case "Rent": colors[i] = Android.Graphics.Color.ParseColor("#9E9D24"); break; case "Taxes": colors[i] = Android.Graphics.Color.ParseColor("#DB32B1"); break; case "Insurance": colors[i] = Android.Graphics.Color.ParseColor("#AA00FF"); break; case "Gifts and Donations": colors[i] = Android.Graphics.Color.ParseColor("#8699E3"); break; case "Other": colors[i] = Android.Graphics.Color.ParseColor("#695e5e"); break; } } prefs = PreferenceManager.GetDefaultSharedPreferences(this); MikePhil.Charting.Data.PieDataSet pieDataSet = new MikePhil.Charting.Data.PieDataSet(datalist, ""); pieDataSet.YValuePosition = PieDataSet.ValuePosition.OutsideSlice; //pieDataSet.ValueLinePart1OffsetPercentage=100f; /** When valuePosition is OutsideSlice, indicates offset as percentage out of the slice size */ pieDataSet.ValueLinePart1Length = 0.4f; /** When valuePosition is OutsideSlice, indicates length of first half of the line */ pieDataSet.ValueLinePart2Length = 0.4f; pieDataSet.SliceSpace = 0.5f; pieDataSet.SelectionShift = 5f; Java.Util.Random rnd = new Java.Util.Random(); //int[] colors = new int[lstExpenseCategories.Count]; //for (int i = 0; i < lstExpenseCategories.Count; i++) //{ // Android.Graphics.Color randomColor = Android.Graphics.Color.Rgb(rnd.NextInt(256), rnd.NextInt(256), rnd.NextInt(256)); // colors[i] = randomColor; //} pieDataSet.SetColors(colors); // pieDataSet.SetColors(PieChartColors.piecharcolors.Take(lstExpenseCategories.Count).ToArray()); // pieDataSet.Colors = ColorTemplate.MaterialColors.Select(c => new Java.Lang.Integer(c)).ToList(); pieDataSet.ValueTextSize = 10f; pieDataSet.ValueTextColor = Android.Graphics.Color.Black; piechartStats.Description.Enabled = false; piechartStats.CenterText = ""; Legend l = piechartStats.Legend; l.VerticalAlignment = Legend.LegendVerticalAlignment.Bottom; l.HorizontalAlignment = Legend.LegendHorizontalAlignment.Left; l.Orientation = Legend.LegendOrientation.Horizontal; l.WordWrapEnabled = true; l.SetDrawInside(false); l.Enabled = true; piechartStats.SetExtraOffsets(0f, 2f, 0f, 2f); piechartStats.SetDrawEntryLabels(false); PieData pieData = new PieData(pieDataSet); piechartStats.Data = pieData; piechartStats.AnimateXY(1000, 1000); piechartStats.Invalidate(); progressBarStats.Visibility = ViewStates.Invisible; piechartStats.Visibility = ViewStates.Visible; statsdata.Visibility = ViewStates.Invisible; generatePDF.Visibility = ViewStates.Visible; statstype.Text = "Total expense for the month" + "(" + SelectedMonth.Substring(0, 3) + ")" + " = " + prefs.GetString("CurrencySymbolSelected", "") + lstPieChartDataValue.Sum(x => Convert.ToDouble(x.Total)); }
public void OnSuccess(Java.Lang.Object result) { if (IsPieChartSeleted) { lstExpenseCategories = new List <string>(); lstPieChartData = new List <PieChartData>(); lstPieChartDataValue = new List <PieChartDataValue>(); var snapshot = (QuerySnapshot)result; if (!snapshot.IsEmpty) { var documents = snapshot.Documents; foreach (DocumentSnapshot docitem in documents) { var itemName = docitem.Get("ItemName").ToString(); if (!lstExpenseCategories.Contains(itemName)) { lstExpenseCategories.Add(itemName); } lstPieChartData.Add(new PieChartData { ExpenseCategory = docitem.Get("ItemName").ToString(), ExpenseDescription = docitem.Get("Description").ToString(), ExpenseDate = docitem.Get("Date").ToString(), Amount = docitem.Get("Amount").ToString() }); } foreach (var item in lstExpenseCategories) { var ExpenseCategoryItem = item; lstPieChartDataValue.Add(new PieChartDataValue { ExpenseCategory = ExpenseCategoryItem, Total = lstPieChartData.Where(x => x.ExpenseCategory == ExpenseCategoryItem).Select(x => x.Amount).Sum(x => Convert.ToDouble(x)) }); } DrawPieChart(); } else { generatePDF.Visibility = ViewStates.Invisible; progressBarStats.Visibility = ViewStates.Invisible; statsdata.Visibility = ViewStates.Visible; statstype.Text = "Total expense for the month" + "(" + SelectedMonth.Substring(0, 3) + ")" + " = " + prefs.GetString("CurrencySymbolSelected", "") + lstPieChartDataValue.Sum(x => Convert.ToDouble(x.Total)); } } else { TotalExpenseJan = new List <string>(); TotalExpenseFeb = new List <string>(); TotalExpenseMar = new List <string>(); TotalExpenseApr = new List <string>(); TotalExpenseMay = new List <string>(); TotalExpenseJun = new List <string>(); TotalExpenseJul = new List <string>(); TotalExpenseAug = new List <string>(); TotalExpenseSep = new List <string>(); TotalExpenseOct = new List <string>(); TotalExpenseNov = new List <string>(); TotalExpenseDec = new List <string>(); lstbarChartData = new List <BarChartData>(); var snapshot = (QuerySnapshot)result; if (!snapshot.IsEmpty) { var documents = snapshot.Documents; foreach (DocumentSnapshot docitem in documents) { var month = docitem.Get("DateMonth").ToString(); switch (month) { case "January": TotalExpenseJan.Add(docitem.Get("Amount").ToString()); break; case "February": TotalExpenseFeb.Add(docitem.Get("Amount").ToString()); break; case "March": TotalExpenseMar.Add(docitem.Get("Amount").ToString()); break; case "April": TotalExpenseApr.Add(docitem.Get("Amount").ToString()); break; case "May": TotalExpenseMay.Add(docitem.Get("Amount").ToString()); break; case "June": TotalExpenseJun.Add(docitem.Get("Amount").ToString()); break; case "July": TotalExpenseJul.Add(docitem.Get("Amount").ToString()); break; case "August": TotalExpenseAug.Add(docitem.Get("Amount").ToString()); break; case "September": TotalExpenseSep.Add(docitem.Get("Amount").ToString()); break; case "October": TotalExpenseOct.Add(docitem.Get("Amount").ToString()); break; case "November": TotalExpenseNov.Add(docitem.Get("Amount").ToString()); break; case "December": TotalExpenseDec.Add(docitem.Get("Amount").ToString()); break; } } lstbarChartData.Add(new BarChartData { Month = "Jan", Total = TotalExpenseJan.Sum(x => Convert.ToDouble(x)) }); lstbarChartData.Add(new BarChartData { Month = "Feb", Total = TotalExpenseFeb.Sum(x => Convert.ToDouble(x)) }); lstbarChartData.Add(new BarChartData { Month = "Mar", Total = TotalExpenseMar.Sum(x => Convert.ToDouble(x)) }); lstbarChartData.Add(new BarChartData { Month = "Apr", Total = TotalExpenseApr.Sum(x => Convert.ToDouble(x)) }); lstbarChartData.Add(new BarChartData { Month = "May", Total = TotalExpenseMay.Sum(x => Convert.ToDouble(x)) }); lstbarChartData.Add(new BarChartData { Month = "Jun", Total = TotalExpenseJun.Sum(x => Convert.ToDouble(x)) }); lstbarChartData.Add(new BarChartData { Month = "Jul", Total = TotalExpenseJul.Sum(x => Convert.ToDouble(x)) }); lstbarChartData.Add(new BarChartData { Month = "Aug", Total = TotalExpenseAug.Sum(x => Convert.ToDouble(x)) }); lstbarChartData.Add(new BarChartData { Month = "Sep", Total = TotalExpenseSep.Sum(x => Convert.ToDouble(x)) }); lstbarChartData.Add(new BarChartData { Month = "Oct", Total = TotalExpenseOct.Sum(x => Convert.ToDouble(x)) }); lstbarChartData.Add(new BarChartData { Month = "Nov", Total = TotalExpenseNov.Sum(x => Convert.ToDouble(x)) }); lstbarChartData.Add(new BarChartData { Month = "Dec", Total = TotalExpenseDec.Sum(x => Convert.ToDouble(x)) }); DrawBarChart(); generatePDF.Visibility = ViewStates.Invisible; } else { generatePDF.Visibility = ViewStates.Invisible; progressBarStats.Visibility = ViewStates.Invisible; statsdata.Visibility = ViewStates.Visible; statstype.Text = "Total expense for the year" + "(" + SelectedYear + ")" + " = " + prefs.GetString("CurrencySymbolSelected", "") + lstbarChartData.Sum(x => Convert.ToDouble(x.Total)); } } }