Esempio n. 1
0
        private void DeleteRelatedDGV(AccDataSource sourceType, List <int> list)
        {
            if (list == null)
            {
                return;
            }
            switch (sourceType)
            {
            case AccDataSource.Bank:
                foreach (int id in list)
                {
                    var bankRow = damaiDataSet.BankDetail.FindByID(id);
                    if (bankRow == null)
                    {
                        var bankRow1 = damaiDataSet1.BankDetail.FindByID(id);
                        damaiDataSet.BankDetail.ImportRow(bankRow1);
                    }
                }
                bankBindingSource.ResetBindings(false);
                break;

            case AccDataSource.Expense:
                foreach (int id in list)
                {
                    var expenseRow = damaiDataSet.Expense.FindByID(id);
                    if (expenseRow == null)
                    {
                        var expenseRow1 = damaiDataSet1.Expense.FindByID(id);
                        damaiDataSet.Expense.ImportRow(expenseRow1);
                    }
                }
                expenseBindingSource.ResetBindings(false);
                break;

            case AccDataSource.PosRevenue:
                foreach (int d in list)
                {
                    DateTime da         = Int2Date(d);
                    var      revenueRow = damaiDataSet.Header.FindByDataDate(da);
                    if (revenueRow == null)
                    {
                        var revenueRow1 = damaiDataSet1.Header.FindByDataDate(da);
                        damaiDataSet.Header.ImportRow(revenueRow1);
                    }
                }
                headerBindingSource.ResetBindings(false);
                break;

            case AccDataSource.Shipment:
                foreach (int id in list)
                {
                    var shipmentRow = damaiDataSet.Shipment.FindByID(id);
                    if (shipmentRow == null)
                    {
                        var shipmentRow1 = damaiDataSet1.Shipment.FindByID(id);
                        damaiDataSet.Shipment.ImportRow(shipmentRow1);
                    }
                }
                shipmentBindingSource.ResetBindings(false);
                break;

            case AccDataSource.Voucher:
                foreach (int id in list)
                {
                    var voucherRow = damaiDataSet.Voucher.FindByID(id);
                    if (voucherRow == null)
                    {
                        var voucherRow1 = damaiDataSet1.Voucher.FindByID(id);
                        damaiDataSet.Voucher.ImportRow(voucherRow1);
                    }
                }
                voucherBindingSource.ResetBindings(false);
                break;
            }
        }
Esempio n. 2
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;
                }
            }
        }
Esempio n. 3
0
 private void DGV_DoDragDrop(DataGridView dgv, string columnName, DataGridViewCellMouseEventArgs e, AccDataSource sourceType)
 {
     try
     {
         if (e.ColumnIndex < 0 || e.RowIndex < 0)
         {
             return;
         }
         List <AccDragItem> list = new List <AccDragItem>();
         foreach (DataGridViewRow row in dgv.SelectedRows)
         {
             AccDragItem item = new AccDragItem();
             item.dataSourceType = sourceType;
             item.dgv            = dgv;
             if (sourceType == AccDataSource.PosRevenue)
             {
                 item.intDragID = Date2Int((DateTime)row.Cells[columnName].Value);
             }
             else
             {
                 item.intDragID = (int)row.Cells[columnName].Value;
             }
             item.row = row;
             list.Add(item);
         }
         if (list.Count != 0)
         {
             DoDragDrop(list, DragDropEffects.Copy);
         }
     }
     catch { }
 }