Пример #1
0
        // Row Inserting
        private void DataTable_RowInserting(System.Data.DataRow dtrwProduto)
        {
            int nIdPropriedade = GetNextIdPropriedade();

            mdlDataBaseAccess.Tabelas.XsdTbPropriedadesProdutos typDatSetPropriedades = this.TypDatSetPropriedades;
            for (int i = 0; i < dtrwProduto.Table.Columns.Count; i++)
            {
                System.Data.DataColumn dtclColuna = dtrwProduto.Table.Columns[i];
                int nIdIdioma = GetIdIdioma(dtclColuna.ColumnName);
                if (nIdIdioma == -1)
                {
                    continue;
                }
                string strDescricao = dtrwProduto[dtclColuna].ToString();
                if ((strDescricao == null) || (strDescricao.Trim() == ""))
                {
                    continue;
                }
                mdlDataBaseAccess.Tabelas.XsdTbPropriedadesProdutos.tbPropriedadesProdutosRow dtrwPropriedade = typDatSetPropriedades.tbPropriedadesProdutos.NewtbPropriedadesProdutosRow();
                dtrwPropriedade.nIdExportador  = m_nIdExportador;
                dtrwPropriedade.nIdIdioma      = nIdIdioma;
                dtrwPropriedade.nIdPropriedade = nIdPropriedade;
                dtrwPropriedade.mstrDescricao  = strDescricao;
                typDatSetPropriedades.tbPropriedadesProdutos.AddtbPropriedadesProdutosRow(dtrwPropriedade);
            }
        }
Пример #2
0
 private void GetPropriedadeIdioma(string strDescricao, out int nIdIdioma, out int nIdPropriedade)
 {
     nIdIdioma = nIdPropriedade = -1;
     //Idioma
     mdlDataBaseAccess.Tabelas.XsdTbIdiomas typDatSetIdiomas = this.Idiomas;
     for (int i = 0; i < typDatSetIdiomas.tbIdiomas.Count; i++)
     {
         mdlDataBaseAccess.Tabelas.XsdTbIdiomas.tbIdiomasRow dtrwIdioma = typDatSetIdiomas.tbIdiomas[i];
         if (strDescricao.StartsWith(dtrwIdioma.mstrIdioma))
         {
             nIdIdioma = dtrwIdioma.idIdioma;
             break;
         }
     }
     // Propriedade
     if (nIdIdioma != -1)
     {
         mdlDataBaseAccess.Tabelas.XsdTbPropriedadesProdutos typDatSetPropriedadesProdutos = this.PropriedadesProdutos;
         for (int i = 0; i < typDatSetPropriedadesProdutos.tbPropriedadesProdutos.Count; i++)
         {
             mdlDataBaseAccess.Tabelas.XsdTbPropriedadesProdutos.tbPropriedadesProdutosRow dtrwPropriedade = typDatSetPropriedadesProdutos.tbPropriedadesProdutos[i];
             if (strDescricao.EndsWith(dtrwPropriedade.mstrDescricao))
             {
                 nIdPropriedade = dtrwPropriedade.nIdPropriedade;
                 break;
             }
         }
     }
 }
Пример #3
0
        private int GetNextIdPropriedade()
        {
            int nId = 1;

            mdlDataBaseAccess.Tabelas.XsdTbPropriedadesProdutos typDatSetPropriedades = this.TypDatSetPropriedades;
            System.Data.DataRow[] dtrwPropriedades = typDatSetPropriedades.tbPropriedadesProdutos.Select("", "nIdPropriedade", System.Data.DataViewRowState.Added | System.Data.DataViewRowState.ModifiedCurrent | System.Data.DataViewRowState.Unchanged);
            if ((dtrwPropriedades != null) && (dtrwPropriedades.Length > 0))
            {
                nId = Int32.Parse(dtrwPropriedades[dtrwPropriedades.Length - 1]["nIdPropriedade"].ToString()) + 1;
            }
            return(nId);
        }
Пример #4
0
        // Row Deleting
        private void dtTableMaster_RowDeleting(object sender, System.Data.DataRowChangeEventArgs e)
        {
            int nIdPropriedade = Int32.Parse(e.Row[TEXT_COLUMN_IDORDEM].ToString());

            mdlDataBaseAccess.Tabelas.XsdTbPropriedadesProdutos typDatSetPropriedades = this.TypDatSetPropriedades;
            for (int i = typDatSetPropriedades.tbPropriedadesProdutos.Count - 1; i >= 0; i--)
            {
                mdlDataBaseAccess.Tabelas.XsdTbPropriedadesProdutos.tbPropriedadesProdutosRow dtrwPropriedade = typDatSetPropriedades.tbPropriedadesProdutos[i];
                if (dtrwPropriedade.RowState == System.Data.DataRowState.Deleted)
                {
                    continue;
                }
                if (dtrwPropriedade.nIdPropriedade == nIdPropriedade)
                {
                    dtrwPropriedade.Delete();
                }
            }
        }
Пример #5
0
        private void InsereColunasPropriedadesDinamicas()
        {
            System.Collections.ArrayList arlCondicaoCampo      = new System.Collections.ArrayList();
            System.Collections.ArrayList arlCondicaoComparador = new System.Collections.ArrayList();
            System.Collections.ArrayList arlCondicaoValor      = new System.Collections.ArrayList();

            arlCondicaoCampo.Add("nIdExportador");
            arlCondicaoComparador.Add(mdlDataBaseAccess.Comparador.Igual);
            arlCondicaoValor.Add(m_nIdExportador);

            m_cls_dba_ConnectionDB.FonteDosDados = mdlDataBaseAccess.FonteDados.DataBase;
            mdlDataBaseAccess.Tabelas.XsdTbPropriedadesProdutos typDatSetPropriedadesProdutos = m_cls_dba_ConnectionDB.GetTbPropriedadesProdutos(arlCondicaoCampo, arlCondicaoComparador, arlCondicaoValor, null, null);
            for (int i = 0; i < typDatSetPropriedadesProdutos.tbPropriedadesProdutos.Rows.Count; i++)
            {
                mdlDataBaseAccess.Tabelas.XsdTbPropriedadesProdutos.tbPropriedadesProdutosRow dtrwPropriedade = typDatSetPropriedadesProdutos.tbPropriedadesProdutos[i];
                if ((dtrwPropriedade.nIdIdioma == (int)mdlConstantes.Idioma.Portugues) || (dtrwPropriedade.nIdIdioma == m_nIdIdioma))
                {
                    InsereColunaPropriedadeDinamica(GetPropriedadeDescricaoColuna(dtrwPropriedade.nIdIdioma, dtrwPropriedade.mstrDescricao));
                }
            }
        }
Пример #6
0
        // Row Updating
        private void DataTable_RowUpdating(System.Data.DataRow dtrwProduto)
        {
            //Removendo ...
            int nIdPropriedade = Int32.Parse(dtrwProduto[TEXT_COLUMN_IDORDEM].ToString());

            mdlDataBaseAccess.Tabelas.XsdTbPropriedadesProdutos typDatSetPropriedades = this.TypDatSetPropriedades;
            for (int i = typDatSetPropriedades.tbPropriedadesProdutos.Count - 1; i >= 0; i--)
            {
                mdlDataBaseAccess.Tabelas.XsdTbPropriedadesProdutos.tbPropriedadesProdutosRow dtrwPropriedade = typDatSetPropriedades.tbPropriedadesProdutos[i];
                if (dtrwPropriedade.nIdPropriedade == nIdPropriedade)
                {
                    dtrwPropriedade.Delete();
                }
            }
            // Inserindo
            for (int i = 0; i < dtrwProduto.Table.Columns.Count; i++)
            {
                System.Data.DataColumn dtclColuna = dtrwProduto.Table.Columns[i];
                int nIdIdioma = GetIdIdioma(dtclColuna.ColumnName);
                if (nIdIdioma == -1)
                {
                    continue;
                }
                string strDescricao = dtrwProduto[dtclColuna].ToString();
                if ((strDescricao == null) || (strDescricao.Trim() == ""))
                {
                    continue;
                }
                mdlDataBaseAccess.Tabelas.XsdTbPropriedadesProdutos.tbPropriedadesProdutosRow dtrwPropriedade = typDatSetPropriedades.tbPropriedadesProdutos.NewtbPropriedadesProdutosRow();
                dtrwPropriedade.nIdExportador  = m_nIdExportador;
                dtrwPropriedade.nIdIdioma      = nIdIdioma;
                dtrwPropriedade.nIdPropriedade = nIdPropriedade;
                dtrwPropriedade.mstrDescricao  = strDescricao;
                typDatSetPropriedades.tbPropriedadesProdutos.AddtbPropriedadesProdutosRow(dtrwPropriedade);
            }
        }