Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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;
        }