private void SaveCategory() { if (ValidateEntry()) { string errMsg = string.Empty; try { if (formMode == FormMode.AddNew) { errMsg = "Gagal menyimpan kategori!"; categoryRepository.Save(AssignCategory(this.type, Guid.Empty)); DoubleEntryForIncomeExpense(); if (this.isSaveAndNew) { ClearForm(); } else { this.Close(); } } else if (formMode == FormMode.Edit) { errMsg = "Gagal mengubah kategori!"; if (cboGroup.Text == "Hutang" || cboGroup.Text == "Piutang") { categoryRepository.Update(AssignCategory(this.type, new Guid(lblID.Text))); Category category2 = null; if (this.type == "Income") { category2 = categoryRepository.GetByNameAndType(lblCategory.Text, "Expense"); category2.Type = "Expense"; } else if (this.type == "Expense") { category2 = categoryRepository.GetByNameAndType(lblCategory.Text, "Income"); category2.Type = "Income"; } category2.Name = txtName.Text; categoryRepository.Update(category2); } else { categoryRepository.Update(AssignCategory(this.type, new Guid(lblID.Text))); } this.Close(); } } catch (Exception ex) { MessageBox.Show(errMsg, "Info", MessageBoxButtons.OK, MessageBoxIcon.Error); } frmMain.LoadCategoryByType(frmMain.CboFilterText); frmMain.DisableEditDelete(); } }