public static void MoneyAccountAddUser(int account_id, string user_email)
        {
            var attrValue = DB_IO.AttrValue();

            attrValue[MoneyAccountEnt.account_id] = account_id;
            attrValue[MoneyAccountEnt.user_email] = user_email;
            DB_IO.Insert(DB_IO.DB_Interface.pr_money_account_add_user, attrValue);
        }
        public static void DeleteCategory(int category_id, int account_id)
        {
            var attrValue = new Dictionary <System.Enum, Object>
            {
                { CategoryEnt.category_id, category_id },
                { CategoryEnt.account_id, account_id }
            };

            DB_IO.Insert(DB_IO.DB_Interface.pr_delete_category, attrValue);
        }
        public static void InsertPurchasedStock(int account_id, string company, double purchase_price)
        {
            var attrValue = new Dictionary <System.Enum, Object>
            {
                { StockEnt.account_id, account_id },
                { StockEnt.company, company },
                { StockEnt.purchase_price, purchase_price },
            };

            DB_IO.Insert(DB_IO.DB_Interface.pr_insert_purchased_stock, attrValue);
        }
        public static void AddCategoryToAccount(int account_id, string name, int type_id)
        {
            var attrValue = new Dictionary <System.Enum, Object>
            {
                { CategoryEnt.account_id, account_id },
                { CategoryEnt.name, name },
                { CategoryEnt.category_type_id, type_id }
            };

            DB_IO.Insert(DB_IO.DB_Interface.pr_insert_category, attrValue);
        }
        public static void AddSubCategoryToAccount(int parentOrSisterCategory_id, int account_id, string name, int category_type)
        {
            var attrValue = new Dictionary <System.Enum, Object>
            {
                { CategoryEnt.category_id, parentOrSisterCategory_id },
                { CategoryEnt.account_id, account_id },
                { CategoryEnt.name, name },
                { CategoryEnt.category_type_id, category_type }
            };

            DB_IO.Insert(DB_IO.DB_Interface.pr_insert_subcategory, attrValue);
        }
        public static void InsertMoneyAccount(string user_email, string account_name, Decimal?balance = null, Decimal?patrimony = null)
        {
            var attrValue = new Dictionary <System.Enum, Object>
            {
                { MoneyAccountEnt.user_email, user_email },
                { MoneyAccountEnt.account_name, account_name },
                { MoneyAccountEnt.balance, balance },
                { MoneyAccountEnt.patrimony, patrimony }
            };

            DB_IO.Insert(DB_IO.DB_Interface.pr_insert_money_account, attrValue);
        }
        // ----------------------------------------------------------------------------------------------
        // GOALS ----------------------------------------------------------------------------------------
        // ----------------------------------------------------------------------------------------------

        public static void InsertGoal(int account_id, int category_id, string name, double amount, DateTime term)
        {
            var attrValue = new Dictionary <System.Enum, Object>
            {
                { GoalEnt.account_id, account_id },
                { GoalEnt.category_id, category_id },
                { GoalEnt.amount, amount },
                { GoalEnt.term, term },
                { GoalEnt.name, name }
            };

            DB_IO.Insert(DB_IO.DB_Interface.pr_insert_goal, attrValue);
        }
        public static void InsertBudget(int account_id, int category_id, double amount, DateTime startDate,
                                        DateTime endDate)
        {
            var attrValue = new Dictionary <System.Enum, Object>
            {
                { BudgetEnt.account_id, account_id },
                { BudgetEnt.category_id, category_id },
                { BudgetEnt.amount, amount },
                { BudgetEnt.start_date, startDate },
                { BudgetEnt.end_date, endDate },
            };

            DB_IO.Insert(DB_IO.DB_Interface.pr_insert_budget, attrValue);
        }
        public static void InsertLoan(int account_id, string name, double amount, double current_debt, DateTime term, double interest)
        {
            var attrValue = new Dictionary <System.Enum, Object>
            {
                { LoanEnt.account_id, account_id },
                { LoanEnt.name, name },
                { LoanEnt.initial_amount, amount },
                { LoanEnt.current_debt, current_debt },
                { LoanEnt.term, term },
                { LoanEnt.interest, interest }
            };

            DB_IO.Insert(DB_IO.DB_Interface.pr_insert_loan, attrValue);
        }
        public static void InsertTransaction(int account_id, int category_id, int from_wallet_id, int to_wallet_id,
                                             int transaction_type_id, double amount, DateTime date, string location, string notes)
        {
            var attrValue = new Dictionary <System.Enum, Object>
            {
                { TransactionEnt.account_id, account_id },
                { TransactionEnt.category_id, category_id },
                { TransactionEnt.from_wallet_id, from_wallet_id },
                { TransactionEnt.to_wallet_id, to_wallet_id },
                { TransactionEnt.transaction_type_id, transaction_type_id },
                { TransactionEnt.amount, amount },
                { TransactionEnt.date, date },
                { TransactionEnt.location, location },
                { TransactionEnt.notes, notes },
            };

            DB_IO.Insert(DB_IO.DB_Interface.pr_insert_transaction, attrValue);
        }
        public static void InsertUser(string username, string email, string fname, string mname, string lname,
                                      string cardNo, int periodicity, DateTime term, bool active)
        {
            var attrValue = new Dictionary <System.Enum, Object>
            {
                { UserEnt.user_name, username },
                { UserEnt.email, email },
                { UserEnt.fname, fname },
                { UserEnt.mname, mname },
                { UserEnt.lname, lname },
                { UserEnt.card_number, cardNo },
                { UserEnt.periodicity, periodicity },
                { UserEnt.term, term },
                { UserEnt.active_subscription, active }
            };

            DB_IO.Insert(DB_IO.DB_Interface.pr_insert_user, attrValue);
        }