protected string strRetornaClassificacao(int nIdOrdemProdutoFaturaComercial)
        {
            mdlDataBaseAccess.Tabelas.XsdTbProdutosFaturaComercial.tbProdutosFaturaComercialRow dtrwProdutoFatura = m_typDatSetTbProdutosFaturaComercial.tbProdutosFaturaComercial.FindByidExportadoridPEidOrdem(m_nIdExportador, m_strIdPE, nIdOrdemProdutoFaturaComercial);
            if (dtrwProdutoFatura == null)
            {
                return("");
            }
            if (dtrwProdutoFatura != null)
            {
                switch (m_enumClassificacao)
                {
                case Classificacao.Ncm:
                    if (!dtrwProdutoFatura.IsstrNcmNull())
                    {
                        return(dtrwProdutoFatura.strNcm);
                    }
                    break;

                case Classificacao.Naladi:
                    if (!dtrwProdutoFatura.IsstrNaladiNull())
                    {
                        return(dtrwProdutoFatura.strNaladi);
                    }
                    break;
                }
            }
            return("");
        }
        private void vRefreshProdutos(ref mdlComponentesGraficos.TreeView tvProdutos)
        {
            tvProdutos.Nodes.Clear();
            System.Collections.ArrayList arlProdutosNaoAssociados = arlProdutosFaturaNaoAssociadosCertificados();

            // Classificacao Ordenando
            string strClassificacao = "";
            string strDenominacao   = "";

            System.Collections.SortedList sortLstClassificacao = new System.Collections.SortedList();
            for (int i = 0; i < arlProdutosNaoAssociados.Count; i++)
            {
                mdlDataBaseAccess.Tabelas.XsdTbProdutosFaturaComercial.tbProdutosFaturaComercialRow dtrwProdutoFatura = (mdlDataBaseAccess.Tabelas.XsdTbProdutosFaturaComercial.tbProdutosFaturaComercialRow)arlProdutosNaoAssociados[i];
                mdlDataBaseAccess.Tabelas.XsdTbProdutos.tbProdutosRow dtrwProduto = m_typDatSetTbProdutos.tbProdutos.FindByidExportadoridProduto(m_nIdExportador, dtrwProdutoFatura.idProduto);
                if ((dtrwProdutoFatura != null) && (dtrwProdutoFatura.IsnIdOrdemProdutoParentNull() || dtrwProdutoFatura.nIdOrdemProdutoParent == 0) && (dtrwProduto != null))
                {
                    switch (m_enumClassificacao)
                    {
                    case Classificacao.Ncm:
                        if (!dtrwProdutoFatura.IsstrNcmNull())
                        {
                            strClassificacao = dtrwProdutoFatura.strNcm;
                        }
                        else if (!dtrwProduto.IsstrNcmNull())
                        {
                            strClassificacao = dtrwProduto.strNcm;
                        }
                        else
                        {
                            strClassificacao = "";
                        }
                        if (!dtrwProdutoFatura.IsmstrNcmDenominacaoNull())
                        {
                            strDenominacao = dtrwProdutoFatura.mstrNcmDenominacao;
                        }
                        else
                        {
                            mdlDataBaseAccess.Tabelas.XsdTbProdutosNcm.tbProdutosNcmRow dtrwNcm = m_typDatSetTbProdutosNcm.tbProdutosNcm.FindBynIdExportadorstrNcm(m_nIdExportador, strClassificacao);
                            if (dtrwNcm != null)
                            {
                                strDenominacao = dtrwNcm.mstrDenominacao;
                            }
                            else
                            {
                                strDenominacao = "";
                            }
                        }
                        if (strClassificacao != "")
                        {
                            if (!sortLstClassificacao.ContainsKey(strClassificacao + strDenominacao))
                            {
                                sortLstClassificacao.Add(strClassificacao + strDenominacao, strClassificacao);
                            }
                        }
                        break;

                    case Classificacao.Naladi:
                        if (!dtrwProdutoFatura.IsstrNaladiNull())
                        {
                            strClassificacao = dtrwProdutoFatura.strNaladi;
                        }
                        else if (!dtrwProduto.IsstrNaladiNull())
                        {
                            strClassificacao = dtrwProduto.strNaladi;
                        }
                        else
                        {
                            strClassificacao = "";
                        }
                        if (!dtrwProdutoFatura.IsmstrNaladiDenominacaoNull())
                        {
                            strDenominacao = dtrwProdutoFatura.mstrNaladiDenominacao;
                        }
                        else
                        {
                            mdlDataBaseAccess.Tabelas.XsdTbProdutosNaladi.tbProdutosNaladiRow dtrwNaladi = m_typDatSetTbProdutosNaladi.tbProdutosNaladi.FindBynIdExportadorstrNaladi(m_nIdExportador, strClassificacao);
                            if (dtrwNaladi != null)
                            {
                                strDenominacao = dtrwNaladi.mstrDenominacao;
                            }
                            else
                            {
                                strDenominacao = "";
                            }
                        }
                        if (strClassificacao != "")
                        {
                            if (!sortLstClassificacao.ContainsKey(strClassificacao + strDenominacao))
                            {
                                sortLstClassificacao.Add(strClassificacao + strDenominacao, strClassificacao);
                            }
                        }
                        break;
                    }
                }
            }

            // Classificacao Inserindo
            string strClassificacaoProduto, strDenominacaoProduto;

            for (int i = 0; i < sortLstClassificacao.Count; i++)
            {
                string strClassificacaoDenominacao = sortLstClassificacao.GetKey(i).ToString();
                strClassificacao = sortLstClassificacao.GetByIndex(i).ToString();
                strDenominacao   = strClassificacaoDenominacao.Substring(strClassificacao.Length);

                System.Windows.Forms.TreeNode tvnClassificacao = tvProdutos.Nodes.Add(strClassificacao + " " + strDenominacao);
                System.Windows.Forms.TreeNode tvnProduto       = null;
                tvnClassificacao.Tag = strClassificacao;

                // Produtos Inserindo
                for (int j = 0; j < arlProdutosNaoAssociados.Count; j++)
                {
                    mdlDataBaseAccess.Tabelas.XsdTbProdutosFaturaComercial.tbProdutosFaturaComercialRow dtrwProdutoFatura = (mdlDataBaseAccess.Tabelas.XsdTbProdutosFaturaComercial.tbProdutosFaturaComercialRow)arlProdutosNaoAssociados[j];
                    mdlDataBaseAccess.Tabelas.XsdTbProdutos.tbProdutosRow dtrwProduto = m_typDatSetTbProdutos.tbProdutos.FindByidExportadoridProduto(m_nIdExportador, dtrwProdutoFatura.idProduto);
                    if (dtrwProduto != null)
                    {
                        switch (m_enumClassificacao)
                        {
                        case Classificacao.Ncm:
                            if (!dtrwProdutoFatura.IsstrNcmNull())
                            {
                                strClassificacaoProduto = dtrwProdutoFatura.strNcm;
                            }
                            else if (!dtrwProduto.IsstrNcmNull())
                            {
                                strClassificacaoProduto = dtrwProduto.strNcm;
                            }
                            else
                            {
                                strClassificacaoProduto = "";
                            }
                            if (!dtrwProdutoFatura.IsmstrNcmDenominacaoNull())
                            {
                                strDenominacaoProduto = dtrwProdutoFatura.mstrNcmDenominacao;
                            }
                            else
                            {
                                mdlDataBaseAccess.Tabelas.XsdTbProdutosNcm.tbProdutosNcmRow dtrwNcm = m_typDatSetTbProdutosNcm.tbProdutosNcm.FindBynIdExportadorstrNcm(m_nIdExportador, strClassificacaoProduto);
                                if (dtrwNcm != null)
                                {
                                    strDenominacaoProduto = dtrwNcm.mstrDenominacao;
                                }
                                else
                                {
                                    strDenominacaoProduto = "";
                                }
                            }
                            if (strClassificacaoDenominacao == strClassificacaoProduto + strDenominacaoProduto)
                            {
                                tvnProduto     = tvnClassificacao.Nodes.Add(dtrwProduto.mstrDescricao);
                                tvnProduto.Tag = dtrwProdutoFatura.idOrdem;
                            }
                            break;

                        case Classificacao.Naladi:
                            if (!dtrwProdutoFatura.IsstrNaladiNull())
                            {
                                strClassificacaoProduto = dtrwProdutoFatura.strNaladi;
                            }
                            else if (!dtrwProduto.IsstrNaladiNull())
                            {
                                strClassificacaoProduto = dtrwProduto.strNaladi;
                            }
                            else
                            {
                                strClassificacaoProduto = "";
                            }
                            if (!dtrwProdutoFatura.IsmstrNaladiDenominacaoNull())
                            {
                                strDenominacaoProduto = dtrwProdutoFatura.mstrNaladiDenominacao;
                            }
                            else
                            {
                                mdlDataBaseAccess.Tabelas.XsdTbProdutosNaladi.tbProdutosNaladiRow dtrwNaladi = m_typDatSetTbProdutosNaladi.tbProdutosNaladi.FindBynIdExportadorstrNaladi(m_nIdExportador, strClassificacao);
                                if (dtrwNaladi != null)
                                {
                                    strDenominacaoProduto = dtrwNaladi.mstrDenominacao;
                                }
                                else
                                {
                                    strDenominacaoProduto = "";
                                }
                            }
                            if (strClassificacaoDenominacao == strClassificacaoProduto + strDenominacaoProduto)
                            {
                                tvnProduto     = tvnClassificacao.Nodes.Add(dtrwProduto.mstrDescricao);
                                tvnProduto.Tag = dtrwProdutoFatura.idOrdem;
                            }
                            break;
                        }
                    }
                }
            }
        }