Ejemplo n.º 1
0
        public LedgerTableGenerator(Label labelMsg, TitleSetup setup, VEDataSet dataSet1, CalcRevenueDelegate calcRevenue)
#endif
        {
            LabelMessage = labelMsg;
            Setup        = setup;
            m_DataSet    = dataSet1;
            CalcRevenue  = calcRevenue;
        }
Ejemplo n.º 2
0
        public bool LoadData(DamaiDataSet orderSet, int month, int day)
        {
            int count = orderSet.Header.Rows.Count;

            if (count == 0)
            {
                return(false);
            }
            if (month < 1 || month > 12)
            {
                return(false);
            }
            if (day < 1 || day > 31)
            {
                return(false);
            }
            DamaiDataSet.HeaderRow row;
            foreach (var r in orderSet.Header)
            {
                if (r.DataDate.Year != MyFunction.IntHeaderYear)
                {
                    continue;
                }
                if (r.DataDate.Month != month)
                {
                    continue;
                }
                if (r.DataDate.Day == day)
                {
                    row = r;
                    goto Yes;
                }
            }
            return(false);

Yes:
            string sql = CreateSql(row.DataDate.Month, row.DataDate.Day);

            try
            {
                m_OrderAdapter.FillBySelectStr(orderSet.Order, "Select * From [Order] " + sql + " Order by ID");
                m_WorkingDay.Set(row.DataDate);
                return(true);
            }
            catch (Exception ex)
            {
                LastErrorString = ex.Message;
                if (MessageBox.Show(LastErrorString, "", MessageBoxButtons.RetryCancel) == DialogResult.Cancel)
                {
                    throw ex;
                }
            }
            return(false);
        }
Ejemplo n.º 3
0
        private void 鎖定資料庫ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            VoucherExpense.DamaiDataSet DataSet = new DamaiDataSet();
            var headerAdapter = new VoucherExpense.DamaiDataSetTableAdapters.VEHeaderTableAdapter();

            headerAdapter.Fill(DataSet.VEHeader);
            if (DataSet.VEHeader.Count == 0)
            {
                var row = DataSet.VEHeader.NewVEHeaderRow();
                row.Closed = !MyFunction.LockAll;
                int y = DateTime.Now.Year;
                row.DataYear = new DateTime(y, 1, 1);
                DataSet.VEHeader.AddVEHeaderRow(row);
            }
            var header = DataSet.VEHeader[0];

            header.BeginEdit();
            header.Closed = !MyFunction.LockAll;
            header.EndEdit();
            try
            {
                headerAdapter.Update(header);
            }
            catch (Exception ex)
            {
                MessageBox.Show("變更鎖定狀態未成功:" + ex.Message);
                return;
            }
            MyFunction.LockAll = !MyFunction.LockAll;
            SetFormTitle();
            ToolStripMenuItem i = (ToolStripMenuItem)menu1.Items["查核MenuItem"];

            if (MyFunction.LockAll)
            {
                i.DropDownItems["鎖定資料庫MenuItem"].Text = "解鎖資料庫";
            }
            else
            {
                i.DropDownItems["鎖定資料庫MenuItem"].Text = "鎖定資料庫";
            }
        }
Ejemplo n.º 4
0
 // Operator Apartment 由m_DataSet從上層傳入,
 // m_DataSet.OperatorAuthList Copy進來編修
 // Save時再回存
 public FormOperatorAuthList(int operatorID, DamaiDataSet dataSet)
 {
     m_OperatorID = operatorID;
     m_DataSet    = dataSet;
     InitializeComponent();
 }
Ejemplo n.º 5
0
        private bool ReadTable()
        {
            operatorSQLAdapter  = new DamaiDataSetTableAdapters.OperatorTableAdapter();
            headerSQLAdapter    = new DamaiDataSetTableAdapters.VEHeaderTableAdapter();
            apartmentSQLAdapter = new DamaiDataSetTableAdapters.ApartmentTableAdapter();
            authListSQLAdapter  = new DamaiDataSetTableAdapters.OperatorAuthListTableAdapter();

            operatorSQLAdapter.Connection.ConnectionString  = DB.SqlConnectString(m_Cfg);
            apartmentSQLAdapter.Connection.ConnectionString = DB.SqlConnectString(m_Cfg);
            authListSQLAdapter.Connection.ConnectionString  = DB.SqlConnectString(m_Cfg);

            damaiDataSet = new DamaiDataSet();
            try
            {
                operatorSQLAdapter.Fill(damaiDataSet.Operator);
                headerSQLAdapter.Fill(damaiDataSet.VEHeader);
                apartmentSQLAdapter.Fill(damaiDataSet.Apartment);
                authListSQLAdapter.Fill(damaiDataSet.OperatorAuthList);
            }
            catch (Exception ex)
            {
                MessageBox.Show("操作員資料庫讀取錯誤<" + ex.Message + ">!  無法登入");
                return(false);
            }
            if (damaiDataSet.Operator.Rows.Count == 0)
            {
                MessageBox.Show("資料庫內沒有設定任何操作員,無法登入");
                Close();
                return(false);
            }
            if (damaiDataSet.Apartment.Rows.Count != 0)
            {
                string Key = "LordAlex";
                foreach (var a in damaiDataSet.Apartment)
                {
                    byte[] buf     = Encoder.RC2Decrypt(Convert.FromBase64String(a.DatabaseName.Trim()), Key);
                    string decoded = Encoding.Unicode.GetString(buf);
                    if (decoded == m_Cfg.Database.Trim())     // 不使用IsCurrent了
                    {
                        m_DefaultApartment = a;
                        break;
                    }
                }
                if (m_DefaultApartment == null)
                {
                    MessageBox.Show("部門資料庫內找不到<" + m_Cfg.Database + ">,設定有誤無法登入,請找IT帥哥!");
#if (DEBUG)
                    m_DefaultApartment = damaiDataSet.Apartment[9];
#else
                    Close();
                    return(false);
#endif
                }
            }

            DamaiDataSet.VEHeaderRow header = null;
            string sVersion = "";
            if (damaiDataSet.VEHeader.Count > 0)
            {
                header = damaiDataSet.VEHeader[0];
                if (!header.IsVersionNull())
                {
                    sVersion = header.Version.Trim();
                }
            }
            CheckAppVersion(sVersion);
            return(true);
        }
Ejemplo n.º 6
0
 public LedgerTableGenerator(Label labelMsg, TitleSetup setup, DamaiDataSet dataSet1, CalcRevenueDelegate calcRevenue)
Ejemplo n.º 7
0
        // MenualInput代表全部
        void CopyDataNotInAccVouch(AccDataSource working, DamaiDataSet sourceDS, DamaiDataSet destDS, DamaiDataSet.AccVouchDetailDataTable accDetailTable)
        {
            switch (working)
            {
            case AccDataSource.Bank:        destDS.BankDetail.Rows.Clear();
                foreach (var r in sourceDS.BankDetail)
                {
                    destDS.BankDetail.ImportRow(r);
                }
                break;

            case AccDataSource.Expense:     destDS.Expense.Rows.Clear();
                foreach (var r in sourceDS.Expense)
                {
                    destDS.Expense.ImportRow(r);
                }
                break;

            case AccDataSource.PosRevenue:  destDS.Header.Rows.Clear();
                foreach (var r in sourceDS.Header)
                {
                    destDS.Header.ImportRow(r);
                }
                break;

            case AccDataSource.Shipment:    destDS.Shipment.Rows.Clear();
                foreach (var r in sourceDS.Shipment)
                {
                    destDS.Shipment.ImportRow(r);
                }
                break;

            case AccDataSource.Voucher:     destDS.Voucher.Rows.Clear();
                foreach (var r in sourceDS.Voucher)
                {
                    destDS.Voucher.ImportRow(r);
                }
                break;

            default:
                destDS.BankDetail.Rows.Clear();
                destDS.Expense.Rows.Clear();
                destDS.Header.Rows.Clear();
                destDS.Shipment.Rows.Clear();
                destDS.Voucher.Rows.Clear();
                foreach (var r in sourceDS.BankDetail)
                {
                    destDS.BankDetail.ImportRow(r);
                }
                foreach (var r in sourceDS.Expense)
                {
                    destDS.Expense.ImportRow(r);
                }
                foreach (var r in sourceDS.Header)
                {
                    destDS.Header.ImportRow(r);
                }
                foreach (var r in sourceDS.Shipment)
                {
                    destDS.Shipment.ImportRow(r);
                }
                foreach (var r in sourceDS.Voucher)
                {
                    destDS.Voucher.ImportRow(r);
                }
                break;
            }
            //var accDetailRows=from r in accDetailTable
            //                  where (!r.IsSourceDataTypeNull()) && (r.SourceDataID!=(short)AccDataSource.MenualInput)
            //                  orderby r.SourceDataType,r.SourceDataID
            //                  select r ;
            foreach (var acc in accDetailTable)
            {
                if (acc.IsSourceDataTypeNull() || acc.IsSourceDataIDNull())
                {
                    continue;
                }
                if (acc.SourceDataType == (short)AccDataSource.MenualInput)
                {
                    continue;
                }
                if (working != AccDataSource.MenualInput)
                {
                    if (acc.SourceDataType != (short)working)
                    {
                        continue;
                    }
                }
                switch ((AccDataSource)acc.SourceDataType)
                {
                case AccDataSource.Bank:    var bankRow = destDS.BankDetail.FindByID(acc.SourceDataID);
                    if (bankRow != null)
                    {
                        destDS.BankDetail.RemoveBankDetailRow(bankRow);
                    }
                    break;

                case AccDataSource.Expense: var expenseRow = destDS.Expense.FindByID(acc.SourceDataID);
                    if (expenseRow != null)
                    {
                        destDS.Expense.RemoveExpenseRow(expenseRow);
                    }
                    break;

                case AccDataSource.PosRevenue:
                    var posRow = destDS.Header.FindByDataDate(Int2Date(acc.SourceDataID));
                    if (posRow != null)
                    {
                        destDS.Header.RemoveHeaderRow(posRow);
                    }
                    break;

                case AccDataSource.Shipment:
                    var shipmentRow = destDS.Shipment.FindByID(acc.SourceDataID);
                    if (shipmentRow != null)
                    {
                        destDS.Shipment.RemoveShipmentRow(shipmentRow);
                    }
                    break;

                case AccDataSource.Voucher: var voucherRow = destDS.Voucher.FindByID(acc.SourceDataID);
                    if (voucherRow != null)
                    {
                        destDS.Voucher.RemoveVoucherRow(voucherRow);
                    }
                    break;
                }
            }
        }
Ejemplo n.º 8
0
 public MonthlyReportData Statics(DamaiDataSet orderSet)