Example #1
0
        private void UpdatePaid(Bill bill)
        {
            VoucherTransactionBOBase voucherTransactionBO = null;

            if (bill is NAS.DAL.Invoice.SalesInvoice)
            {
                voucherTransactionBO = new ReceiptVoucherTransactionBO();
            }
            else if (bill is NAS.DAL.Invoice.PurchaseInvoice)
            {
                voucherTransactionBO = new PaymentVoucherTransactionBO();
            }
            double paid           = 0;
            var    genaralJournal = voucherTransactionBO.GetActuallyCollectedOfBill(session, bill.BillId);

            if (genaralJournal == null)
            {
                paid = 0;
            }
            else
            {
                paid = Math.Abs(genaralJournal.Sum(r => r.Debit) - genaralJournal.Sum(r => r.Credit));
            }
            Paid         = paid;
            lblPaid.Text = String.Format("{0:N0}", paid);
        }
Example #2
0
 public void DataBind()
 {
     if (BillId != null)
     {
         SaleInvoiceTransactionBO saleInvoiceTransactionBO = new SaleInvoiceTransactionBO();
         GridPlanning.DataSource = saleInvoiceTransactionBO.GetPlanningTransactionsOfBill(session, BillId);
         GridPlanning.DataBind();
         ReceiptVoucherTransactionBO receiptVoucherTransactionBO = new ReceiptVoucherTransactionBO();
         GridActual.DataSource   = receiptVoucherTransactionBO.GetActuallyCollectedOfBill(session, BillId);
         GridActual.KeyFieldName = "GeneralJournalId";
         GridActual.DataBind();
     }
 }
        private void FillBillDataIntoVoucher(Session _session, Guid _billId)
        {
            //Get bill
            Bill bill = _session.GetObjectByKey <Bill>(_billId);

            //Fill description
            txtDescription.Text = "Thu tiền hàng";

            //Fill voucher amount
            ReceiptVoucherTransactionBO receiptVoucherTransactionBO = new ReceiptVoucherTransactionBO();
            double amount         = 0;
            var    genaralJournal = receiptVoucherTransactionBO.GetActuallyCollectedOfBill(_session, bill.BillId);

            if (genaralJournal == null)
            {
                amount = bill.Total;
            }
            else
            {
                double actualPaymentAmount = genaralJournal.Sum(r => r.Debit);
                amount = bill.Total - actualPaymentAmount;
                if (amount <= 0)
                {
                    GUIContext.State = new ReceiptVoucherCanceling(this);
                    throw new Exception(String.Format(
                                            "Không thể tạo thêm phiếu thu vì phiếu bán '{0}' đã được thanh toán đủ", bill.Code));
                }
            }
            spinAmount.Number = (decimal)amount;

            //Fill organization information
            if (bill.SourceOrganizationId != null)
            {
                cboSourceOrganization.Value = bill.SourceOrganizationId.OrganizationId;
                cboSourceOrganization.DataBindItems();
                txtAddress.Text = bill.SourceOrganizationId.Address;
            }

            gridviewReceiptVoucherAllocation.AddNewRow();
        }
Example #4
0
        protected ETL_ActualPriceTransaction ExtractTransaction(Session session, Guid TransactionId, string AccountCode)
        {
            ETL_ActualPriceTransaction resultTransaction = null;

            try
            {
                bool             Acceptable = false;
                CriteriaOperator criteria_RowStatus
                    = new BinaryOperator("RowStatus", Constant.ROWSTATUS_ACTIVE, BinaryOperatorType.GreaterOrEqual);
                CriteriaOperator criteria_Code = new BinaryOperator("Code", AccountCode, BinaryOperatorType.Equal);
                CriteriaOperator criteria      = CriteriaOperator.And(criteria_Code, criteria_RowStatus);
                Account          account       = session.FindObject <Account>(criteria);
                /*2014/02/20 Duc.Vo INS START*/

                Organization defaultOrg       = Organization.GetDefault(session, OrganizationEnum.NAAN_DEFAULT);
                Organization currentDeployOrg = Organization.GetDefault(session, OrganizationEnum.QUASAPHARCO);
                Account      defaultAccount   = Account.GetDefault(session, DefaultAccountEnum.NAAN_DEFAULT);
                /*2014/02/20 Duc.Vo INS END*/
                Transaction transaction = session.GetObjectByKey <Transaction>(TransactionId);
                if (transaction == null)
                {
                    return(resultTransaction);
                }

                Util util = new Util();

                /*2014/02/20 Duc.Vo MOD START*/
                resultTransaction = new ETL_ActualPriceTransaction();
                if (currentDeployOrg != null)
                {
                    resultTransaction.OwnerOrgId = currentDeployOrg.OrganizationId;
                }
                else
                {
                    resultTransaction.OwnerOrgId = defaultOrg.OrganizationId;
                }

                if (transaction is SaleInvoiceTransaction)
                {
                    if ((transaction as SaleInvoiceTransaction).SalesInvoiceId.SourceOrganizationId != null)
                    {
                        resultTransaction.CustomerOrgId = (transaction as SaleInvoiceTransaction).SalesInvoiceId.SourceOrganizationId.OrganizationId;
                    }
                    else
                    {
                        resultTransaction.CustomerOrgId = defaultOrg.OrganizationId;
                    }
                }
                else if (transaction is PurchaseInvoiceTransaction)
                {
                    if ((transaction as PurchaseInvoiceTransaction).PurchaseInvoiceId.SourceOrganizationId != null)
                    {
                        resultTransaction.SupplierOrgId =
                            (transaction as PurchaseInvoiceTransaction).PurchaseInvoiceId.SourceOrganizationId.OrganizationId;
                    }
                    else
                    {
                        resultTransaction.SupplierOrgId = defaultOrg.OrganizationId;
                    }
                }
                else if (transaction is PaymentVouchesTransaction)
                {
                    PaymentVoucherTransactionBO paymentVoucherTransactionBO = new PaymentVoucherTransactionBO();

                    Organization SuppOrg = paymentVoucherTransactionBO.GetAllocatedSupplier(session, transaction.TransactionId);
                    Organization CustOrg = paymentVoucherTransactionBO.GetAllocatedCustomer(session, transaction.TransactionId);

                    if (SuppOrg != null)
                    {
                        resultTransaction.SupplierOrgId = SuppOrg.OrganizationId;
                    }
                    else
                    {
                        resultTransaction.SupplierOrgId = defaultOrg.OrganizationId;
                    }

                    if (CustOrg != null)
                    {
                        resultTransaction.CustomerOrgId = CustOrg.OrganizationId;
                    }
                    else
                    {
                        resultTransaction.CustomerOrgId = defaultOrg.OrganizationId;
                    }
                }
                else if (transaction is ReceiptVouchesTransaction)
                {
                    ReceiptVoucherTransactionBO receiptVoucherTransactionBO = new ReceiptVoucherTransactionBO();
                    Organization SuppOrg = receiptVoucherTransactionBO.GetAllocatedSupplier(session, transaction.TransactionId);
                    Organization CustOrg = receiptVoucherTransactionBO.GetAllocatedCustomer(session, transaction.TransactionId);

                    if (SuppOrg != null)
                    {
                        resultTransaction.SupplierOrgId = SuppOrg.OrganizationId;
                    }
                    else
                    {
                        resultTransaction.SupplierOrgId = defaultOrg.OrganizationId;
                    }

                    if (CustOrg != null)
                    {
                        resultTransaction.CustomerOrgId = CustOrg.OrganizationId;
                    }
                    else
                    {
                        resultTransaction.CustomerOrgId = defaultOrg.OrganizationId;
                    }
                }
                else
                {
                    Organization SuppOrg = accountingBO.GetAllocatedSupplierByManualTransaction(session, transaction.TransactionId);
                    Organization CustOrg = accountingBO.GetAllocatedCustomerByManualTransaction(session, transaction.TransactionId);

                    if (SuppOrg != null)
                    {
                        resultTransaction.SupplierOrgId = SuppOrg.OrganizationId;
                    }
                    else
                    {
                        resultTransaction.SupplierOrgId = defaultOrg.OrganizationId;
                    }

                    if (CustOrg != null)
                    {
                        resultTransaction.CustomerOrgId = CustOrg.OrganizationId;
                    }
                    else
                    {
                        resultTransaction.CustomerOrgId = defaultOrg.OrganizationId;
                    }
                }

                if (resultTransaction.SupplierOrgId == Guid.Empty)
                {
                    resultTransaction.SupplierOrgId = defaultOrg.OrganizationId;
                }

                if (resultTransaction.CustomerOrgId == Guid.Empty)
                {
                    resultTransaction.CustomerOrgId = defaultOrg.OrganizationId;
                }

                /*2014/02/20 Duc.Vo MOD END*/
                resultTransaction.TransactionId    = transaction.TransactionId;
                resultTransaction.Amount           = transaction.Amount;
                resultTransaction.Code             = transaction.Code;
                resultTransaction.CreateDate       = transaction.CreateDate;
                resultTransaction.Description      = transaction.Description;
                resultTransaction.IsBalanceForward = (transaction is BalanceForwardTransaction);
                resultTransaction.IssuedDate       = transaction.IssueDate;
                resultTransaction.UpdateDate       = transaction.UpdateDate;
                //resultTransaction.GeneralJournalList = new List<ETL_GeneralJournal>();
                List <ETL_GeneralJournal> tmpGeneralJournalList = new List <ETL_GeneralJournal>();

                double sumDebit_NotRelativeBussiness = 0;
                foreach (GeneralJournal journal
                         in
                         transaction.GeneralJournals.
                         Where(i => i.RowStatus == Constant.ROWSTATUS_BOOKED_ENTRY || i.RowStatus == Constant.ROWSTATUS_ACTIVE))
                {
                    ETL_GeneralJournal tempJournal = new ETL_GeneralJournal();
                    if (journal.AccountId != null)
                    {
                        tempJournal.AccountId = journal.AccountId.AccountId;
                    }
                    else
                    {
                        tempJournal.AccountId = defaultAccount.AccountId;
                    }
                    tempJournal.CreateDate = journal.CreateDate;
                    tempJournal.Credit     = journal.Credit;
                    if (journal.CurrencyId == null)
                    {
                        tempJournal.CurrencyId = CurrencyBO.DefaultCurrency(session).CurrencyId;
                    }
                    else
                    {
                        tempJournal.CurrencyId = journal.CurrencyId.CurrencyId;
                    }
                    tempJournal.Debit            = journal.Debit;
                    tempJournal.Description      = journal.Description;
                    tempJournal.GeneralJournalId = journal.GeneralJournalId;
                    tempJournal.JournalType      = journal.JournalType;

                    if (tempJournal.Debit > 0 &&
                        !accountingBO.IsRelateAccount(session, AccountCode, tempJournal.AccountId) &&
                        !accountingBO.IsRelateAccount(session, "611", tempJournal.AccountId) &&
                        !accountingBO.IsRelateAccount(session, "621", tempJournal.AccountId) &&
                        !accountingBO.IsRelateAccount(session, "622", tempJournal.AccountId) &&
                        !accountingBO.IsRelateAccount(session, "623", tempJournal.AccountId) &&
                        !accountingBO.IsRelateAccount(session, "627", tempJournal.AccountId) &&
                        !accountingBO.IsRelateAccount(session, "631", tempJournal.AccountId) &&
                        !accountingBO.IsRelateAccount(session, "632", tempJournal.AccountId) &&
                        !accountingBO.IsRelateAccount(session, "635", tempJournal.AccountId) &&
                        !accountingBO.IsRelateAccount(session, "641", tempJournal.AccountId) &&
                        !accountingBO.IsRelateAccount(session, "642", tempJournal.AccountId) &&
                        !accountingBO.IsRelateAccount(session, "811", tempJournal.AccountId) &&
                        !accountingBO.IsRelateAccount(session, "821", tempJournal.AccountId)
                        )
                    {
                        sumDebit_NotRelativeBussiness += tempJournal.Debit;
                        continue;
                    }
                    //resultTransaction.GeneralJournalList.Add(tempJournal);
                    tmpGeneralJournalList.Add(tempJournal);
                    Account tmpAccount       = session.GetObjectByKey <Account>(tempJournal.AccountId);
                    bool    flgIsLeafAccount = tmpAccount.Accounts == null || tmpAccount.Accounts.Count == 0 ? true : false;

                    if (flgIsLeafAccount && accountingBO.IsRelateAccount(session, account.AccountId, tempJournal.AccountId))
                    {
                        Acceptable = true;
                    }
                }
                if (!Acceptable)
                {
                    return(null);
                }

                ETL_GeneralJournal masterJournal = tmpGeneralJournalList.
                                                   Where(j => j.Debit == transaction.Amount || j.Credit == transaction.Amount).FirstOrDefault();

                if (masterJournal == null)
                {
                    return(null);
                }

                if (masterJournal.Credit == sumDebit_NotRelativeBussiness && sumDebit_NotRelativeBussiness > 0)
                {
                    return(null);
                }

                else if (masterJournal.Credit > 0)
                {
                    masterJournal.Credit -= sumDebit_NotRelativeBussiness;
                }

                resultTransaction.GeneralJournalList = tmpGeneralJournalList;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            resultTransaction.AccountCode = AccountCode;
            return(resultTransaction);
        }
        protected void cpnReceiptVoucherEditingForm_Callback(object sender, DevExpress.Web.ASPxClasses.CallbackEventArgsBase e)
        {
            string[] args      = e.Parameter.Split('|');
            string   command   = args[0];
            bool     isSuccess = false;
            ReceiptVoucherTransactionBO receiptVoucherTransactionBO;

            try
            {
                switch (command)
                {
                case "Create":
                    VoucherId = Guid.Empty;
                    //If create voucher from bill
                    if (args.Length > 1)
                    {
                        BillId = Guid.Parse(args[1]);
                    }
                    GUIContext.State         = new ReceiptVoucherCreating(this);
                    hiddenField["voucherId"] = VoucherId;
                    number = null;
                    break;

                case "Edit":
                    if (args.Length < 2)
                    {
                        throw new Exception("Invalid parameters");
                    }
                    VoucherId = Guid.Parse(args[1]);
                    hiddenField["voucherId"]    = VoucherId;
                    receiptVoucherTransactionBO = new ReceiptVoucherTransactionBO();
                    if (receiptVoucherTransactionBO.IsVoucherLockedBookingEntry(VoucherId))
                    {
                        GUIContext.State = new ReceiptVoucherLocked(this);
                    }
                    else
                    {
                        GUIContext.State = new ReceiptVoucherEditing(this);
                        UpdateBookingEntryState();
                    }
                    number = null;
                    break;

                case "ForceRefresh":
                    if (GUIContext.State is ReceiptVoucherCreating)
                    {
                        ClearFormValidation();
                        ReceiptVoucherCreating_UpdateGUI();
                        UpdateGUIByCurrency(gridlookupCurrency.GetSelectedCurrency(session));
                    }
                    else
                    {
                        receiptVoucherTransactionBO = new ReceiptVoucherTransactionBO();
                        if (receiptVoucherTransactionBO.IsVoucherLockedBookingEntry(VoucherId))
                        {
                            GUIContext.State = new ReceiptVoucherLocked(this);
                        }
                        else
                        {
                            UpdateBookingEntryState();
                        }
                    }
                    break;

                case "Cancel":
                    GUIContext.Request(command, this);
                    number = null;
                    break;

                default:
                    GUIContext.Request(command, this);
                    UpdateBookingEntryState();
                    number = null;
                    break;
                }
                isSuccess = true;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (command != null)
                {
                    cpnReceiptVoucherEditingForm.JSProperties.Add("cpCallbackArgs",
                                                                  String.Format("{{ \"transition\": \"{0}\", \"success\": {1} }}",
                                                                                command, isSuccess.ToString().ToLower()));
                }
            }
        }
Example #6
0
        public ETL_Transaction ExtractTransaction(Session session, Guid TransactionId)
        {
            ETL_Transaction resultTransaction = null;

            try
            {
                Organization defaultOrg       = Organization.GetDefault(session, OrganizationEnum.NAAN_DEFAULT);
                Organization currentDeployOrg = Organization.GetDefault(session, OrganizationEnum.QUASAPHARCO);
                Account      defaultAccount   = Account.GetDefault(session, DefaultAccountEnum.NAAN_DEFAULT);

                Transaction transaction = session.GetObjectByKey <Transaction>(TransactionId);

                Util util = new Util();

                resultTransaction = new ETL_Transaction();
                if (currentDeployOrg != null)
                {
                    resultTransaction.OwnerOrgId = currentDeployOrg.OrganizationId;
                }
                else
                {
                    resultTransaction.OwnerOrgId = defaultOrg.OrganizationId;
                }

                if (transaction is PaymentVouchesTransaction)
                {
                    PaymentVoucherTransactionBO paymentVoucherTransactionBO = new PaymentVoucherTransactionBO();

                    Organization SuppOrg = paymentVoucherTransactionBO.GetAllocatedSupplier(session, transaction.TransactionId);
                    Organization CustOrg = paymentVoucherTransactionBO.GetAllocatedCustomer(session, transaction.TransactionId);

                    if (SuppOrg != null)
                    {
                        resultTransaction.SupplierOrgId = SuppOrg.OrganizationId;
                    }
                    else
                    {
                        resultTransaction.SupplierOrgId = defaultOrg.OrganizationId;
                    }

                    if (CustOrg != null)
                    {
                        resultTransaction.CustomerOrgId = CustOrg.OrganizationId;
                    }
                    else
                    {
                        resultTransaction.CustomerOrgId = defaultOrg.OrganizationId;
                    }
                }
                if (transaction is ReceiptVouchesTransaction)
                {
                    ReceiptVoucherTransactionBO receiptVoucherTransactionBO = new ReceiptVoucherTransactionBO();
                    Organization SuppOrg = receiptVoucherTransactionBO.GetAllocatedSupplier(session, transaction.TransactionId);
                    Organization CustOrg = receiptVoucherTransactionBO.GetAllocatedCustomer(session, transaction.TransactionId);

                    if (SuppOrg != null)
                    {
                        resultTransaction.SupplierOrgId = SuppOrg.OrganizationId;
                    }
                    else
                    {
                        resultTransaction.SupplierOrgId = defaultOrg.OrganizationId;
                    }

                    if (CustOrg != null)
                    {
                        resultTransaction.CustomerOrgId = CustOrg.OrganizationId;
                    }
                    else
                    {
                        resultTransaction.CustomerOrgId = defaultOrg.OrganizationId;
                    }
                }

                resultTransaction.TransactionId      = transaction.TransactionId;
                resultTransaction.Amount             = transaction.Amount;
                resultTransaction.Code               = transaction.Code;
                resultTransaction.CreateDate         = transaction.CreateDate;
                resultTransaction.Description        = transaction.Description;
                resultTransaction.IsBalanceForward   = (transaction is BalanceForwardTransaction);
                resultTransaction.IssuedDate         = transaction.IssueDate;
                resultTransaction.UpdateDate         = transaction.UpdateDate;
                resultTransaction.GeneralJournalList = new List <ETL_GeneralJournal>();
                foreach (GeneralJournal journal in transaction.GeneralJournals)
                {
                    if (journal.RowStatus >= 1)
                    {
                        ETL_GeneralJournal tempJournal = new ETL_GeneralJournal();

                        if (journal.AccountId != null)
                        {
                            tempJournal.AccountId   = journal.AccountId.AccountId;
                            tempJournal.AccountCode = journal.AccountId.Code;
                            tempJournal.AccountName = journal.AccountId.Name;
                        }
                        else
                        {
                            tempJournal.AccountId   = defaultAccount.AccountId;
                            tempJournal.AccountCode = defaultAccount.Code;
                            tempJournal.AccountName = defaultAccount.Name;
                        }

                        tempJournal.CreateDate = journal.CreateDate;
                        tempJournal.Debit      = journal.Debit;
                        tempJournal.Credit     = journal.Credit;
                        if (journal.CurrencyId == null)
                        {
                            tempJournal.CurrencyId   = CurrencyBO.DefaultCurrency(session).CurrencyId;
                            tempJournal.CurrencyCode = CurrencyBO.DefaultCurrency(session).Code;
                            tempJournal.CurrencyName = CurrencyBO.DefaultCurrency(session).Name;
                        }
                        else
                        {
                            tempJournal.CurrencyId   = journal.CurrencyId.CurrencyId;
                            tempJournal.CurrencyCode = journal.CurrencyId.Code;
                            tempJournal.CurrencyName = journal.CurrencyId.Name;
                        }

                        tempJournal.Description      = journal.Description;
                        tempJournal.GeneralJournalId = journal.GeneralJournalId;
                        tempJournal.JournalType      = journal.JournalType;
                        resultTransaction.GeneralJournalList.Add(tempJournal);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(resultTransaction);
        }
Example #7
0
        public ETL_Transaction ExtractTransaction(Session session, Guid TransactionId, string AccountCode)
        {
            ETL_Transaction resultTransaction = null;

            try
            {
                bool             Acceptable         = false;
                CriteriaOperator criteria_RowStatus = new BinaryOperator("RowStatus", Constant.ROWSTATUS_ACTIVE, BinaryOperatorType.GreaterOrEqual);
                CriteriaOperator criteria_Code      = new BinaryOperator("Code", AccountCode, BinaryOperatorType.Equal);
                CriteriaOperator criteria           = CriteriaOperator.And(criteria_Code, criteria_RowStatus);
                Account          account            = session.FindObject <Account>(criteria);
                /*2014/02/20 Duc.Vo INS START*/
                Organization defaultOrg       = Organization.GetDefault(session, OrganizationEnum.NAAN_DEFAULT);
                Organization currentDeployOrg = Organization.GetDefault(session, OrganizationEnum.QUASAPHARCO);
                Account      defaultAccount   = Account.GetDefault(session, DefaultAccountEnum.NAAN_DEFAULT);
                /*2014/02/20 Duc.Vo INS END*/
                Transaction transaction = session.GetObjectByKey <Transaction>(TransactionId);

                //if (transaction == null)
                //{
                //    return resultTransaction;
                //}

                Util util = new Util();

                /*2014/02/20 Duc.Vo MOD START*/
                resultTransaction = new ETL_Transaction();
                if (currentDeployOrg != null)
                {
                    resultTransaction.OwnerOrgId = currentDeployOrg.OrganizationId;
                }
                else
                {
                    resultTransaction.OwnerOrgId = defaultOrg.OrganizationId;
                }

                if (transaction is SaleInvoiceTransaction)
                {
                    if ((transaction as SaleInvoiceTransaction).SalesInvoiceId.SourceOrganizationId != null)
                    {
                        resultTransaction.CustomerOrgId = (transaction as SaleInvoiceTransaction).SalesInvoiceId.SourceOrganizationId.OrganizationId;
                    }
                    else
                    {
                        resultTransaction.CustomerOrgId = defaultOrg.OrganizationId;
                    }
                }
                if (transaction is PurchaseInvoiceTransaction)
                {
                    if ((transaction as PurchaseInvoiceTransaction).PurchaseInvoiceId.SourceOrganizationId != null)
                    {
                        resultTransaction.SupplierOrgId = (transaction as PurchaseInvoiceTransaction).PurchaseInvoiceId.SourceOrganizationId.OrganizationId;
                    }
                    else
                    {
                        resultTransaction.SupplierOrgId = defaultOrg.OrganizationId;
                    }
                }
                if (transaction is PaymentVouchesTransaction)
                {
                    PaymentVoucherTransactionBO paymentVoucherTransactionBO = new PaymentVoucherTransactionBO();

                    Organization SuppOrg = paymentVoucherTransactionBO.GetAllocatedSupplier(session, transaction.TransactionId);
                    Organization CustOrg = paymentVoucherTransactionBO.GetAllocatedCustomer(session, transaction.TransactionId);

                    if (SuppOrg != null)
                    {
                        resultTransaction.SupplierOrgId = SuppOrg.OrganizationId;
                    }
                    else
                    {
                        resultTransaction.SupplierOrgId = defaultOrg.OrganizationId;
                    }

                    if (CustOrg != null)
                    {
                        resultTransaction.CustomerOrgId = CustOrg.OrganizationId;
                    }
                    else
                    {
                        resultTransaction.CustomerOrgId = defaultOrg.OrganizationId;
                    }
                }
                if (transaction is ReceiptVouchesTransaction)
                {
                    ReceiptVoucherTransactionBO receiptVoucherTransactionBO = new ReceiptVoucherTransactionBO();
                    Organization SuppOrg = receiptVoucherTransactionBO.GetAllocatedSupplier(session, transaction.TransactionId);
                    Organization CustOrg = receiptVoucherTransactionBO.GetAllocatedCustomer(session, transaction.TransactionId);

                    if (SuppOrg != null)
                    {
                        resultTransaction.SupplierOrgId = SuppOrg.OrganizationId;
                    }
                    else
                    {
                        resultTransaction.SupplierOrgId = defaultOrg.OrganizationId;
                    }

                    if (CustOrg != null)
                    {
                        resultTransaction.CustomerOrgId = CustOrg.OrganizationId;
                    }
                    else
                    {
                        resultTransaction.CustomerOrgId = defaultOrg.OrganizationId;
                    }
                }
                /*2014/02/20 Duc.Vo MOD END*/
                resultTransaction.TransactionId      = transaction.TransactionId;
                resultTransaction.Amount             = transaction.Amount;
                resultTransaction.Code               = transaction.Code;
                resultTransaction.CreateDate         = transaction.CreateDate;
                resultTransaction.Description        = transaction.Description;
                resultTransaction.IsBalanceForward   = (transaction is BalanceForwardTransaction);
                resultTransaction.IssuedDate         = transaction.IssueDate;
                resultTransaction.UpdateDate         = transaction.UpdateDate;
                resultTransaction.GeneralJournalList = new List <ETL_GeneralJournal>();
                foreach (GeneralJournal journal in transaction.GeneralJournals)
                {
                    ETL_GeneralJournal tempJournal = new ETL_GeneralJournal();

                    if (journal.AccountId != null)
                    {
                        tempJournal.AccountId = journal.AccountId.AccountId;
                    }
                    else
                    {
                        tempJournal.AccountId = defaultAccount.AccountId;
                    }

                    tempJournal.CreateDate = journal.CreateDate;
                    tempJournal.Credit     = journal.Credit;
                    if (journal.CurrencyId == null)
                    {
                        tempJournal.CurrencyId = CurrencyBO.DefaultCurrency(session).CurrencyId;
                    }
                    else
                    {
                        tempJournal.CurrencyId = journal.CurrencyId.CurrencyId;
                    }
                    tempJournal.Debit            = journal.Debit;
                    tempJournal.Description      = journal.Description;
                    tempJournal.GeneralJournalId = journal.GeneralJournalId;
                    tempJournal.JournalType      = journal.JournalType;
                    resultTransaction.GeneralJournalList.Add(tempJournal);
                    if (IsRelateAccount(session, account.AccountId, tempJournal.AccountId))
                    {
                        Acceptable = true;
                    }
                }
                if (!Acceptable)
                {
                    return(null);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(resultTransaction);
        }