Ejemplo n.º 1
0
    public bool enqueueCheck(CheckQueueRecord Check, string tran_type)
    {
        bool return_val = false;

        Check.replaceQuote();
        BillManager bMgr = new BillManager(elt_account_number);

        ArrayList AAJEntryList = Check.All_accounts_journal_entry_list;
        int       printID      = getNextPrintID();

        Check.print_id = printID;

        BillRecord bRec = (BillRecord)Check.BillList[0];

        bRec.Print_id = printID;
        if (bMgr.insertBillRecord(ref bRec, "CHK"))
        {
            for (int i = 0; i < AAJEntryList.Count; i++)
            {
                if (((AllAccountsJournalRecord)AAJEntryList[i]).gl_account_number != -1 && ((AllAccountsJournalRecord)AAJEntryList[i]).gl_account_number != 0)
                {
                    this.aajMgr.checkInitial_Acct_Record((AllAccountsJournalRecord)AAJEntryList[i]);
                }
            }

            int tran_seq_id = this.aajMgr.getNextTranSeqNumber();

            //INSERT CHECK_DETAL LIST
            Cmd            = new SqlCommand();
            Cmd.Connection = Con;
            Con.Open();
            SqlTransaction trans = Con.BeginTransaction();
            Cmd.Transaction = trans;

            try
            {
                ArrayList chkList = Check.CheckDetailList;
                for (int i = 0; i < chkList.Count; i++)
                {
                    CheckDetailRecord cdRec = (CheckDetailRecord)chkList[i];
                    cdRec.replaceQuote();
                    cdRec.print_id = printID;
                    SQL            = "INSERT INTO [check_detail] ";
                    SQL           += "( elt_account_number, ";
                    SQL           += "amt_due,";
                    SQL           += "amt_paid,";
                    SQL           += "bill_amt,";
                    SQL           += "bill_number,";
                    SQL           += "due_date,";
                    SQL           += "invoice_no,";
                    SQL           += "memo,";
                    SQL           += "pmt_method,";
                    SQL           += "print_id,";
                    SQL           += "tran_id)";
                    SQL           += "VALUES";
                    SQL           += "('" + elt_account_number;
                    SQL           += "','" + cdRec.amt_due;
                    SQL           += "','" + cdRec.amt_paid;
                    SQL           += "','" + cdRec.bill_amt;
                    SQL           += "','" + cdRec.bill_number;
                    SQL           += "','" + cdRec.due_date;

                    SQL            += "','" + cdRec.invoice_no;
                    SQL            += "','" + cdRec.memo;
                    SQL            += "','" + cdRec.pmt_method;
                    SQL            += "','" + printID;
                    SQL            += "','" + cdRec.tran_id;
                    SQL            += "')";
                    Cmd.CommandText = SQL;
                    Cmd.ExecuteNonQuery();
                }
                //INSERT AAJ ENTRIES
                for (int i = 0; i < AAJEntryList.Count; i++)
                {
                    if (((AllAccountsJournalRecord)AAJEntryList[i]).gl_account_number != -1 && ((AllAccountsJournalRecord)AAJEntryList[i]).gl_account_number != 0)
                    {
                        ((AllAccountsJournalRecord)AAJEntryList[i]).replaceQuote();
                        ((AllAccountsJournalRecord)AAJEntryList[i]).tran_num = printID;
                        SQL             = "INSERT INTO [all_accounts_journal] ";
                        SQL            += "( elt_account_number, ";
                        SQL            += "tran_num,";
                        SQL            += "gl_account_number,";
                        SQL            += "gl_account_name,";
                        SQL            += "tran_seq_num,";
                        SQL            += "tran_type,";
                        SQL            += "tran_date,";
                        SQL            += "Customer_Number,";
                        SQL            += "Customer_Name,";
                        SQL            += "debit_amount,";
                        SQL            += "credit_amount,";
                        SQL            += "balance,";
                        SQL            += "previous_balance,";
                        SQL            += "gl_balance,";
                        SQL            += "gl_previous_balance)";
                        SQL            += "VALUES";
                        SQL            += "('" + elt_account_number;
                        SQL            += "','" + ((AllAccountsJournalRecord)AAJEntryList[i]).tran_num;
                        SQL            += "','" + ((AllAccountsJournalRecord)AAJEntryList[i]).gl_account_number;
                        SQL            += "','" + ((AllAccountsJournalRecord)AAJEntryList[i]).gl_account_name;
                        SQL            += "','" + tran_seq_id++;
                        SQL            += "','" + ((AllAccountsJournalRecord)AAJEntryList[i]).tran_type;
                        SQL            += "','" + ((AllAccountsJournalRecord)AAJEntryList[i]).tran_date;
                        SQL            += "','" + ((AllAccountsJournalRecord)AAJEntryList[i]).customer_number;
                        SQL            += "','" + ((AllAccountsJournalRecord)AAJEntryList[i]).customer_name;
                        SQL            += "','" + ((AllAccountsJournalRecord)AAJEntryList[i]).debit_amount;
                        SQL            += "','" + ((AllAccountsJournalRecord)AAJEntryList[i]).credit_amount;
                        SQL            += "','" + ((AllAccountsJournalRecord)AAJEntryList[i]).balance;
                        SQL            += "','" + ((AllAccountsJournalRecord)AAJEntryList[i]).previous_balance;
                        SQL            += "','" + ((AllAccountsJournalRecord)AAJEntryList[i]).gl_balance;
                        SQL            += "','" + ((AllAccountsJournalRecord)AAJEntryList[i]).gl_previous_balance;
                        SQL            += "')";
                        Cmd.CommandText = SQL;
                        Cmd.ExecuteNonQuery();
                    }
                }
                //INSERT A CHECK

                string check_type = "";
                if (tran_type == "CHK" || tran_type == "CSH" || tran_type == "CRC" || tran_type == "BTB")
                {
                    check_type = "C";
                }
                else
                {
                    check_type = "BP";
                }

                SQL  = "INSERT INTO [check_queue] ";
                SQL += "(elt_account_number,";
                SQL += "ap,";
                SQL += "bank,";
                SQL += "bill_date,";
                SQL += "bill_due_date,";
                SQL += "check_amt,";
                SQL += "check_type,";
                SQL += "memo,";
                SQL += "pmt_method,";
                SQL += "print_check_as,";
                SQL += "print_date,";
                SQL += "print_id,";
                SQL += "print_status,";
                SQL += "vendor_info,";
                SQL += "vendor_name,";
                if (Check.check_no != 0)
                {
                    SQL += "check_no,";
                }
                SQL += "vendor_number)";
                SQL += "VALUES";
                SQL += "('" + elt_account_number;
                SQL += "','" + Check.ap;
                SQL += "','" + Check.bank;
                SQL += "','" + Check.bill_date;
                SQL += "','" + Check.bill_due_date;
                SQL += "','" + Check.check_amt;
                SQL += "','" + check_type;
                SQL += "','" + Check.memo;
                SQL += "','" + Check.pmt_method;
                SQL += "','" + Check.print_check_as;
                SQL += "','" + Check.print_date;
                SQL += "','" + Check.print_id;
                SQL += "','" + Check.print_status;
                SQL += "','" + Check.vendor_info;
                SQL += "','" + Check.vendor_name;
                if (Check.check_no != 0)
                {
                    SQL += "','" + Check.check_no;
                }
                SQL            += "','" + Check.vendor_number;
                SQL            += "')";
                Cmd.CommandText = SQL;
                Cmd.ExecuteNonQuery();
                trans.Commit();
                return_val = true;
            }
            catch (Exception ex)
            {
                trans.Rollback();
                throw ex;
            }
            finally
            {
                Con.Close();
            }
        }
        if (Check.check_no != 0)
        {
            GLManager glmgr = new GLManager(elt_account_number);
            try
            {
                glmgr.updateNextCheckNumber(Check.bank, Check.check_no);
            }
            catch (Exception ex2)
            {
                throw ex2;
            }
        }
        return(return_val);
    }