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 @@
-
+