diff --git a/ExpenseTracker.Android/ExpenseTracker.Android.csproj b/ExpenseTracker.Android/ExpenseTracker.Android.csproj index 3794e12..1838732 100644 --- a/ExpenseTracker.Android/ExpenseTracker.Android.csproj +++ b/ExpenseTracker.Android/ExpenseTracker.Android.csproj @@ -63,6 +63,9 @@ 12.0.3 + + 3.0.0.5 + diff --git a/ExpenseTracker.iOS/ExpenseTracker.iOS.csproj b/ExpenseTracker.iOS/ExpenseTracker.iOS.csproj index 4aa5a89..c6ae39c 100644 --- a/ExpenseTracker.iOS/ExpenseTracker.iOS.csproj +++ b/ExpenseTracker.iOS/ExpenseTracker.iOS.csproj @@ -132,6 +132,9 @@ 12.0.3 + + 3.0.0.5 + diff --git a/ExpenseTracker/App.xaml.cs b/ExpenseTracker/App.xaml.cs index 615ecf9..765b6e8 100644 --- a/ExpenseTracker/App.xaml.cs +++ b/ExpenseTracker/App.xaml.cs @@ -14,7 +14,7 @@ namespace ExpenseTracker InitializeComponent(); - /* if (!string.IsNullOrEmpty(Preferences.Get("MyFirebaseRefreshToken", ""))) + /*if (!string.IsNullOrEmpty(Preferences.Get("MyFirebaseRefreshToken", ""))) { MainPage = new NavigationPage(new Home()); } @@ -22,9 +22,9 @@ namespace ExpenseTracker { MainPage = new NavigationPage(new LoginPage()); }*/ - MainPage = new NavigationPage(new LoginPage()); + // MainPage = new NavigationPage(new LoginPage()); - // MainPage = new LoginPage(); + MainPage = new HomePage(); //MainPage = Navigat new LoginPage(); //MainPage = new MainPage(); } diff --git a/ExpenseTracker/ExpenseTracker.csproj b/ExpenseTracker/ExpenseTracker.csproj index 80e3ac8..a742407 100644 --- a/ExpenseTracker/ExpenseTracker.csproj +++ b/ExpenseTracker/ExpenseTracker.csproj @@ -14,11 +14,15 @@ + + + MSBuild:UpdateDesignTimeXaml + MSBuild:UpdateDesignTimeXaml @@ -31,5 +35,23 @@ MSBuild:UpdateDesignTimeXaml + + MSBuild:UpdateDesignTimeXaml + + + MSBuild:UpdateDesignTimeXaml + + + MSBuild:UpdateDesignTimeXaml + + + MSBuild:UpdateDesignTimeXaml + + + MSBuild:UpdateDesignTimeXaml + + + MSBuild:UpdateDesignTimeXaml + \ No newline at end of file diff --git a/ExpenseTracker/model/CatergoryAmount.cs b/ExpenseTracker/model/CatergoryAmount.cs new file mode 100644 index 0000000..a5e19f3 --- /dev/null +++ b/ExpenseTracker/model/CatergoryAmount.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace ExpenseTracker.model +{ + class CatergoryAmount + { + + public int id { get; set; } + public double amount { get; set; } + public string categoryName { get; set; } + } +} diff --git a/ExpenseTracker/model/SideDrawerMenu.cs b/ExpenseTracker/model/SideDrawerMenu.cs new file mode 100644 index 0000000..49aa3ac --- /dev/null +++ b/ExpenseTracker/model/SideDrawerMenu.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace ExpenseTracker.model +{ + class SideDrawerMenu + { + + public string Title { get; set; } + public string Icon { get; set; } + public Type TargetType { get; set; } + } +} diff --git a/ExpenseTracker/viewModel/FirebaseHelper.cs b/ExpenseTracker/viewModel/FirebaseHelper.cs index 8767df6..0c1c2b9 100644 --- a/ExpenseTracker/viewModel/FirebaseHelper.cs +++ b/ExpenseTracker/viewModel/FirebaseHelper.cs @@ -27,7 +27,7 @@ namespace ExpenseTracker.viewModel id=item.Object.id, - }).ToList(); + }).Reverse().ToList(); } public async Task AddExpense(double amount, string narration, int expenseCategory, string id) @@ -89,12 +89,9 @@ namespace ExpenseTracker.viewModel .Child("Category") .OnceAsync()).Select(item => new ExpenseCategory { - - id = item.Object.id, name= item.Object.name, - }).ToList(); } @@ -143,6 +140,57 @@ namespace ExpenseTracker.viewModel await firebase.Child("Category").Child(toDeletePerson.Key).DeleteAsync(); } + + //Queries + + + //getting total amount of expenses + public async Task GetTotalAmountOfExpense() + { + double totalAmount=0.0; + var allExpense = await GetAllExpense(); + for (int i= 0; i< allExpense.Count;i++) + { + totalAmount += allExpense[i].amount; + + } + + return totalAmount; + } + + + //get total amount spent on each category + public async Task> GetTotalAmountOfExpensePerCategory() + { + List categoryAmount = new List(); + var allCategories = await GetAllCategory(); + var allExpense = await GetAllExpense(); + for (int i = 0; i <= allCategories.Count; i++) + { + double amount = 0; + var currentCategory = allCategories[i]; + for (int j = 0; j <= allExpense.Count; j++) + { + + var currentExpenses = allExpense[j]; + if (currentCategory.id==currentExpenses.expenseCategory) + { + amount += currentExpenses.amount; + } + + } + categoryAmount.Add(new CatergoryAmount + { + amount = amount, + id = currentCategory.id, + categoryName=currentCategory.name, + }); + + } + + return categoryAmount; + } + } } diff --git a/ExpenseTracker/views/auth/ChangePassword.xaml b/ExpenseTracker/views/auth/ChangePassword.xaml new file mode 100644 index 0000000..609bc46 --- /dev/null +++ b/ExpenseTracker/views/auth/ChangePassword.xaml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/ExpenseTracker/views/auth/ChangePassword.xaml.cs b/ExpenseTracker/views/auth/ChangePassword.xaml.cs new file mode 100644 index 0000000..a7135f8 --- /dev/null +++ b/ExpenseTracker/views/auth/ChangePassword.xaml.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +using Xamarin.Forms; +using Xamarin.Forms.Xaml; + +namespace ExpenseTracker.views.auth +{ + [XamlCompilation(XamlCompilationOptions.Compile)] + public partial class ChangePassword : ContentPage + { + public ChangePassword() + { + InitializeComponent(); + } + } +} \ No newline at end of file diff --git a/ExpenseTracker/views/auth/LoginPage.xaml b/ExpenseTracker/views/auth/LoginPage.xaml index dc97e9c..170d57a 100644 --- a/ExpenseTracker/views/auth/LoginPage.xaml +++ b/ExpenseTracker/views/auth/LoginPage.xaml @@ -8,7 +8,7 @@ - +