Esempio n. 1
0
        /// <summary>
        /// Выводит Статистику Раходов по пользовательским категориям
        /// </summary>
        /// <param name="count">количество дней</param>
        private void OutputIncomeCategories(int count)
        {
            SqlConnectExpenseCategoriesStats spam = new SqlConnectExpenseCategoriesStats();
            var q = spam.TakeCategoryRecords(count);

            ObservableCollection <KeyValuePair <string, int> > lst = new ObservableCollection <KeyValuePair <string, int> >();

            foreach (var i in q)
            {
                lst.Add(new KeyValuePair <string, int>(i.Title, i.Amount));
            }

            Items = lst;
        }
Esempio n. 2
0
        private void AddExpenseAmount()
        {
            //блок инициирования валидации
            FlagCanValidateExpenseaddAmount = true;

            ExpenseAmount           += " ";
            valideteaddExpenseAmount = true;
            int x1 = ExpenseAmount.Length - 1;

            ExpenseAmount = ExpenseAmount.Substring(0, x1);

            ExpenseCategoryText += " ";
            x1 = ExpenseCategoryText.Length - 1;
            ExpenseCategoryText = ExpenseCategoryText.Substring(0, x1);

            ExpenseCategory += " ";
            x1 = ExpenseCategory.Length - 1;
            ExpenseCategory = ExpenseCategory.Substring(0, x1);

            ExpenseWallet2 += " ";
            x1              = ExpenseWallet2.Length - 1;
            ExpenseWallet2  = ExpenseWallet2.Substring(0, x1);

            FlagCanValidateExpenseaddAmount = false;

            //если все поля верны
            if (valideteaddExpenseAmount)
            {
                SqlConnectExpenseCategories spam = new SqlConnectExpenseCategories();
                //транзакция которая отнимает значение у кашелька и если значение большн 0 то прибавляет в категорию, иначе rollback
                bool transResult = spam.UpdateCategoryAmount(Convert.ToInt32(ExpenseAmount), ExpenseCategoryText, ExpenseWallet2);
                //если транзакция прошла
                if (transResult)
                {
                    //обновляем кошельки
                    SetWallets();
                    //обновляем категории
                    SetExpenceCategories();
                    SqlConnectExpenseCategoriesStats sqlConnectStats = new SqlConnectExpenseCategoriesStats();
                    //получаем индекс не пользовательской категории
                    int idcategory = sqlConnectStats.GiveCategoryIndex(ExpenseCategory);
                    if (idcategory != 0)
                    {
                        // записываем статистику
                        sqlConnectStats.InsertWalletStats(idcategory, ExpenseWallet2, ExpenseCategoryText, Convert.ToInt32(ExpenseAmount));
                    }


                    SqlConnectUserInfo connectUserInfo = new SqlConnectUserInfo();
                    //обновляем информацию о общих расходах
                    connectUserInfo.UpdateTotalExpense(Convert.ToInt32(ExpenseAmount));

                    //выводим информацию о общих расходах
                    int sum2 = connectUserInfo.Take_TotalExpense();

                    if (sum2 != -1)
                    {
                        TotalExpense = sum2.ToString();
                    }
                    ExpenseAmount = "";
                }
                else
                {
                    FlagCanValidateExpenseaddAmount = true;
                    tranzfalseflag = true;
                    ExpenseAmount  = "";
                    tranzfalseflag = false;
                    FlagCanValidateExpenseaddAmount = false;
                }
            }

            valideteaddExpenseAmount = true;
        }