コード例 #1
0
        private void Init_PastMonthsExpenses_SpecificCategory_Chart(int globalCategoryId, int nbOfMonths)
        {
            // Get and set the "Past months"
            var pastMonths = EZBudgetDB.GetPastMonthsExpenses_SpecificCategory_WithRange(LogedInUserID, nbOfMonths, globalCategoryId);

            var values = new ChartValues <double>();
            var labels = new List <string>();

            pastMonths.ForEach(x => {
                values.Add(decimal.ToDouble(x.TotalExpenses));
                labels.Add($"{x.Month} {x.Year}");
            });

            PastMonths_SpecificCategory_SeriesCollection = new SeriesCollection
            {
                new LineSeries
                {
                    Title          = "Past months expenses",
                    Values         = values,
                    LineSmoothness = 1 //0: straight lines, 1: really smooth lines
                },
            };

            PastMonths_SpecificCategory_Labels     = labels.ToArray();
            PastMonths_SpecificCategory_YFormatter = value => value.ToString("C");
        }
コード例 #2
0
        public async Task Login_Click(Object parameter)
        {
            var passwordBox = (PasswordBox)parameter;

            //TODO: Validate username and password
            switch (await EZBudgetDB.TryLogingIn(Username, passwordBox.Password))
            {
            case ErrorCodesEnum.ConnectionOK:
                ErrorMessage = "";
                SetWindowViewModelBaseVariables(Username);
                ChangePage(ApplicationPageEnum.Main);
                break;

            case ErrorCodesEnum.PasswordWrongFormat:
                ErrorMessage = "Incorrect password format";
                break;

            case ErrorCodesEnum.UsernameWrongFormat:
                ErrorMessage = "Incorrect username format";
                break;

            case ErrorCodesEnum.UsernameAndPasswordWrongFormat:
                ErrorMessage = "Incorrect username and password format";
                break;

            case ErrorCodesEnum.UsernameOrPasswordInvalid:
                ErrorMessage = "Invalid username or password";
                break;

            case ErrorCodesEnum.UnknownError:
                ErrorMessage = "Unknown error";
                break;
            }
        }
コード例 #3
0
        private void DeleteExpense_Click(Object parameter)
        {
            int expenseID = (int)parameter;

            EZBudgetDB.DeleteExpense(expenseID);
            PopulateViewModel();
        }
コード例 #4
0
        private void PopulateViewModel()
        {
            // Get loged in user ID
            LogedInUserID = EZBudgetDB.GetUserID(LogedInUsername);

            // Get and set the "Categories"
            Categories = EZBudgetDB.GetCurrentMonthCategoriesWithExpenses(LogedInUserID);

            // Get and set the "Past months"
            PastMonths = EZBudgetDB.GetPastMonthsExpenses(LogedInUserID);

            // If it is a new month
            if (Categories.Count == 0)
            {
                // Recreate all the categories from last month
                EZBudgetDB.NewMonthCategoriesProcedure(LogedInUserID);

                // Get and set the budget "Categories"
                Categories = EZBudgetDB.GetCurrentMonthBudgetCategories(LogedInUserID);
            }

            // Get and set "Total monthly expenses"
            TotalExpenses = Math.Round(EZBudgetDB.GetCurrentMonthTotalExpenses(LogedInUserID), 2);

            // Get and set "Total monthly budgeted"
            TotalBudgeted = Math.Round(EZBudgetDB.GetTotalMonthlyBudgeted(LogedInUserID), 2);
        }
コード例 #5
0
        private void DeleteCategory_Click(Object parameter)
        {
            int categoryID = (int)parameter;

            EZBudgetDB.DeleteCategory(categoryID);

            // TO BE CHANGED
            PopulateViewModel();
        }
コード例 #6
0
        public EditCategoryWindow(int categoryID)
        {
            InitializeComponent();
            this._mViewModel = new AddCategoryViewModel();
            this.DataContext = _mViewModel;

            // Set viewmodel values to the category being edited
            editingCategoryMonthly = EZBudgetDB.GetCategoryMonthly(categoryID);
            populateViewModel();
        }
コード例 #7
0
        private void AddExpense_Click()
        {
            // Open temporary add expense form
            AddExpenseWindow form = new AddExpenseWindow(LogedInUserID);

            form.ShowDialog();

            // If expense is valid, add it to the DB
            if (form._mViewModel.IsExpenseValid)
            {
                // Create expense
                EZBudgetDB.CreateExpense(form._mViewModel.ExpenseName, form._mViewModel.ExpenseDescription,
                                         Math.Round(decimal.Parse(form._mViewModel.ExpenseAmount), 2), form._mViewModel.selectedCategoryMonthlyId,
                                         form._mViewModel.ReceiptUrl);

                // TO BE CHANGED
                PopulateViewModel();
            }
        }
コード例 #8
0
        private void AddCategory_Click()
        {
            // Open temporary add category form
            AddCategoryWindow form = new AddCategoryWindow();

            form.ShowDialog();

            // If category is valid, at it to the DB
            if (form.MViewModel.IsCategoryValid)
            {
                // Create category
                EZBudgetDB.CreateCategory(LogedInUserID, form.MViewModel.CategoryName,
                                          form.MViewModel.CategoryDescription, form.MViewModel.CategoryColorTag,
                                          Math.Round(decimal.Parse(form.MViewModel.CategoryAmount), 2));

                // TO BE CHANGED
                PopulateViewModel();
            }
        }
コード例 #9
0
        private void EditCategory_Click(Object parameter)
        {
            int categoryID          = (int)parameter;
            EditCategoryWindow form = new EditCategoryWindow(categoryID);

            form.ShowDialog();

            if (form.MViewModel.IsCategoryValid)
            {
                form.editingCategoryGlobal.CategoryName        = form.MViewModel.CategoryName;
                form.editingCategoryGlobal.CategoryDescription = form.MViewModel.CategoryDescription;
                form.editingCategoryGlobal.ColorTag            = form.MViewModel.CategoryColorTag;
                form.editingCategoryMonthly.Amount             = Math.Round(decimal.Parse(form.MViewModel.CategoryAmount), 2);
                form.editingCategoryMonthly.LastModifDate      = DateTime.Now;

                EZBudgetDB.SaveChanges();

                // TO BE CHANGED
                PopulateViewModel();
            }
        }
コード例 #10
0
        private void EditExpense_Click(Object parameter)
        {
            int expenseID = (int)parameter;

            // Get expense
            var expense = EZBudgetDB.GetExpense(expenseID);

            if (expense == null)
            {
                return;
            }

            // Clone expense
            var clonedExpense = new Expense()
            {
                ExpenseName         = expense.ExpenseName,
                ExpenseDescription  = expense.ExpenseDescription,
                ExpenseBillImageUrl = expense.ExpenseBillImageUrl,
                Amount = expense.Amount
            };

            // Open temporary edit expense form
            EditExpenseWindow form = new EditExpenseWindow(LogedInUserID, clonedExpense);

            form.ShowDialog();

            // If expense is valid, edit and push changes to DB
            if (form._mViewModel.IsExpenseValid)
            {
                EZBudgetDB.EditExpense(expense, form._mViewModel.ExpenseName, form._mViewModel.ExpenseDescription,
                                       Math.Round(decimal.Parse(form._mViewModel.ExpenseAmount), 2), form._mViewModel.ReceiptUrl,
                                       form._mViewModel.selectedCategoryMonthlyId);

                // TO BE CHANGED
                PopulateViewModel();
            }
        }