/// <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; }
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; }