//기본 카테고리 생성 public void BasicSetting() { try { //DB와 연결 SQLiteConnection conn = new SQLiteConnection(dbPath, true); //기본 카테고리들 생성 string[] basicIncomeCategory = { "Salary", "Interest", "Installment Saving", "Allowance" }; string[] basicExpenseCategory = { "Electronics", "Food", "Internet", "Transport", "Housing" }; //돌아가면서 Income category insert foreach (string tempCategory in basicIncomeCategory) { IncomeCategoryForm basicCategory = new IncomeCategoryForm { categoryName = tempCategory }; conn.Insert(basicCategory); } //돌아가면서 expense category insert foreach (string tempCategory in basicExpenseCategory) { ExpenseCategoryForm expenseCategory = new ExpenseCategoryForm { categoryName = tempCategory }; conn.Insert(expenseCategory); } } catch (Exception ex) { ex.Message.ToString(); } }
//다 작성하고 완료버튼 누를 시 private async void completeButton_Click(object sender, RoutedEventArgs e) { //수입 버튼이 활성화 되었을 떄 if (incomeRadioButton.IsChecked == true) { try { //IncomeCategoryForm으로 현재 적어놓은 카테고리를 만든다. IncomeCategoryForm insertForm = new IncomeCategoryForm { categoryName = writeCategoryBox.Text }; //기존에 해당하는 카테고리가 존재하는지 체크한다. List<IncomeCategoryForm> existCategoryList = sm.IncomeCategoryQueryHandling("SELECT * FROM IncomeCategoryTable WHERE categoryName = '" + insertForm.categoryName + "';"); //한개도 없으면 기존의 카테고리에 없는거라 정상적으로 Insert한다. if (existCategoryList.Count == 0) { sm.insertIncomeCategoryQueryHandling(insertForm); } } catch (Exception ex) { } } //지출 버튼이 활성화 되었을 떄 else if (expenseRadioButton.IsChecked == true) { try { //ExpenseCategoryForm으로 현재 적어놓은 카테고리를 만든다. ExpenseCategoryForm expenseInsertForm = new ExpenseCategoryForm { categoryName = writeCategoryBox.Text }; //기존에 해당하는 카테고리가 존재하는지 체크한다. List<ExpenseCategoryForm> existCategoryList = sm.ExpenseCategoryQueryHandling("SELECT * FROM ExpenseCategoryTable WHERE categoryName = '" + expenseInsertForm.categoryName + "';"); //한개도 없으면 기존의 카테고리에 없는거라 정상적으로 Insert한다. if (existCategoryList.Count == 0) { sm.insertExpenseCategoryQueryHandling(expenseInsertForm); } } catch (Exception ex) { } } //아무것도 선택되지 않았는데 완료 버튼을 클릭하였을 때 에러 메시지를 출력한다. else { MessageDialog errorMessage = new MessageDialog("Item not Selected!", "Error!"); await errorMessage.ShowAsync(); } //돌아갈 수 있으면 돌아간다. if (Frame.CanGoBack) Frame.GoBack(); }
//삭제할 카테고리를 선택하고 완료버튼을 눌렀을떄 private async void completeButton_Click(object sender, RoutedEventArgs e) { //수입 버튼이 활성화 되었을 떄 if (incomeRadioButton.IsChecked == true) { try { //삭제할 카테고리를 IncomeCategoryForm으로 만든다. IncomeCategoryForm insertForm = new IncomeCategoryForm { categoryName = selectCategoryPicker.SelectionBoxItem.ToString() }; sm.deleteIncomeCategoryQueryHandling(insertForm); Frame.Navigate(typeof(MainPage)); } catch (Exception ex) { } } //지출 버튼이 활성화 되었을 떄 else if (expenseRadioButton.IsChecked == true) { ExpenseCategoryForm expenseInsertForm = new ExpenseCategoryForm { categoryName = selectCategoryPicker.SelectionBoxItem.ToString() }; sm.deleteExpenseCategoryQueryHandling(expenseInsertForm); Frame.Navigate(typeof(MainPage)); } else { MessageDialog messageDialog = new MessageDialog("You muse be select an Item"); await messageDialog.ShowAsync(); } }
//지출 카테고리 삭제 public void deleteExpenseCategoryQueryHandling(ExpenseCategoryForm inExpenseCategoryForm) { try { //db연결 SQLiteConnection conn = new SQLiteConnection(dbPath, true); //해당하는 카테고리 이름에 해당하는 ID를 얻어온다. List<ExpenseCategoryForm> resultList = conn.Query<ExpenseCategoryForm>("SELECT * FROM ExpenseCategoryTable WHERE categoryName ='" + inExpenseCategoryForm.categoryName + "';"); //delete Async로 연결해서 찾은 아이디들을 삭제한다. foreach (var er in resultList) { conn.Delete(er); } } catch (Exception ex) { ex.Message.ToString(); } }
//지출 카테고리 추가 public void insertExpenseCategoryQueryHandling(ExpenseCategoryForm inExpenseCategoryForm) { try { //db연결 SQLiteConnection conn = new SQLiteConnection(dbPath, true); //해당 expenseCategoryForm을 insert conn.Insert(inExpenseCategoryForm); } catch (Exception ex) { ex.Message.ToString(); } }