private void accountingTitleBindingNavigatorSaveItem_Click(object sender, EventArgs e) { if (MyFunction.LockAll) { MessageBox.Show("鎖定中,不能存檔"); return; } // 因為可以只編名稱,沒填代碼,又不能加在RowValidating (在刪除時,index會放在新row會出錯) /* * string error = ""; * DataGridView view = (DataGridView)this.accountingTitleDataGridView; * for(int i=0;i<view.Rows.Count;i++) * { * DataGridViewRow row=view.Rows[i]; * if (!ValidateTitleCode(row.Cells["TitleCode"].FormattedValue, out error)) * { * MessageBox.Show("第" + (i+1).ToString() + "行" + error); * return; * } * } */ DamaiDataSet.AccountingTitleDataTable table = MyFunction.SaveCheck <DamaiDataSet.AccountingTitleDataTable>( this, accountingTitleBindingSource, damaiDataSet.AccountingTitle); if (table == null) { return; } MyFunction.SetGlobalFlag(GlobalFlag.basicDataModified); foreach (DamaiDataSet.AccountingTitleRow r in table) { if (r.RowState != DataRowState.Deleted) { r.BeginEdit(); r.LastUpdated = DateTime.Now; if (!r.IsNameNull()) { r.Name = r.Name.Trim(); } r.TitleCode = r.TitleCode.Trim(); r.EndEdit(); } } damaiDataSet.AccountingTitle.Merge(table); this.accountingTitleSQLAdapter.Update(this.damaiDataSet.AccountingTitle); damaiDataSet.AccountingTitle.AcceptChanges(); }
private void LoadLedgerData() { if (DataPrepared) { return; } try { var headerSQLAdapter = new DamaiDataSetTableAdapters.HeaderTableAdapter(); headerSQLAdapter.Fill(damaiDataSet.Header); } catch { MessageBox.Show("標頭資料讀取錯誤,你的資料庫版本可能不對"); } int count = damaiDataSet.Header.Count; if (count == 0) { MessageBox.Show("無資料!"); Close(); return; } var row = damaiDataSet.Header[count - 1]; m_Revenue = new RevenueCalcBakery(row.DataDate, 0); AccList.NewAll(); var expenseSQLAdapter = new DamaiDataSetTableAdapters.ExpenseTableAdapter(); var voucherSQLAdapter = new DamaiDataSetTableAdapters.VoucherTableAdapter(); var voucherDetailSQLAdapter = new DamaiDataSetTableAdapters.VoucherDetailTableAdapter(); var bankDetailSQLAdapter = new DamaiDataSetTableAdapters.BankDetailTableAdapter(); var accVoucherSQLAdapter = new DamaiDataSetTableAdapters.AccVoucherTableAdapter(); var ingredientSQLAdapter = new DamaiDataSetTableAdapters.IngredientTableAdapter(); var bankAccountSQLAdapter = new DamaiDataSetTableAdapters.BankAccountTableAdapter(); var vendorSQLAdapter = new DamaiDataSetTableAdapters.VendorTableAdapter(); ingredientSQLAdapter.Connection.ConnectionString = DB.SqlConnectString(MyFunction.HardwareCfg); vendorSQLAdapter.Connection.ConnectionString = DB.SqlConnectString(MyFunction.HardwareCfg); DamaiDataSet.AccountingTitleDataTable accTitleTable = damaiDataSet.AccountingTitle; try { bankAccountSQLAdapter.Fill(damaiDataSet.BankAccount); vendorSQLAdapter.Fill(damaiDataSet.Vendor); expenseSQLAdapter.Fill(damaiDataSet.Expense); // expense檔案小,先全部讀進記憶體 voucherSQLAdapter.Fill(damaiDataSet.Voucher); voucherDetailSQLAdapter.Fill(damaiDataSet.VoucherDetail); bankDetailSQLAdapter.Fill(damaiDataSet.BankDetail); accVoucherSQLAdapter.Fill(damaiDataSet.AccVoucher); ingredientSQLAdapter.Fill(damaiDataSet.Ingredient); foreach (var r in accTitleTable) { AccTitle item = new AccTitle(r.TitleCode, r.Name); if (r.IsInitialValueNull()) { item.Money = 0; } else { item.Money = r.InitialValue; } if (r.TitleCode.Length == 0) { continue; } AccList.Add(item); } AccList1.CopyTableFrom(AccList); Setup.Load(); m_Generator = new LedgerTableGenerator(labelMessage, Setup, damaiDataSet, new CalcRevenueDelegate(CalcRevenue)); } catch (Exception ex) { MessageBox.Show("資料庫讀取錯誤! 原因:" + ex.Message); return; } DataPrepared = true; }