예제 #1
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();
                }
            }
        }
예제 #2
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));
                }
            }
        }
예제 #3
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);
            }
        }
예제 #4
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);
            }
        }
예제 #5
0
 private bool RefreshPropriedades(ref mdlComponentesGraficos.DataGrid dgPropriedades)
 {
     m_bDataTableEvents = false;
     System.Data.DataTable dataTable        = this.GetDataTableMaster();
     System.Data.DataRow[] dtrwPropriedades = this.TypDatSetPropriedades.tbPropriedadesProdutos.Select("", "nIdPropriedade", System.Data.DataViewRowState.Added | System.Data.DataViewRowState.ModifiedCurrent | System.Data.DataViewRowState.Unchanged);
     if (dtrwPropriedades != null)
     {
         int nIdPropriedade = -1;
         System.Data.DataRow dtrwInserir = null;
         bool bInserted = false;
         for (int i = 0; i < dtrwPropriedades.Length; i++)
         {
             mdlDataBaseAccess.Tabelas.XsdTbPropriedadesProdutos.tbPropriedadesProdutosRow dtrwPropriedade = (mdlDataBaseAccess.Tabelas.XsdTbPropriedadesProdutos.tbPropriedadesProdutosRow)dtrwPropriedades[i];
             if (dtrwPropriedade.RowState == System.Data.DataRowState.Deleted)
             {
                 continue;
             }
             if (nIdPropriedade != dtrwPropriedade.nIdPropriedade)
             {
                 if ((dtrwInserir != null) && (!bInserted))
                 {
                     dataTable.Rows.Add(dtrwInserir);
                     bInserted = true;
                 }
                 dtrwInserir = dataTable.NewRow();
                 bInserted   = false;
                 dtrwInserir[TEXT_COLUMN_IDORDEM] = dtrwPropriedade.nIdPropriedade;
             }
             //Inserindo Propriedade no Idioma
             System.Data.DataColumn dtclColuna = dtrwInserir.Table.Columns[GetIdioma(dtrwPropriedade.nIdIdioma)];
             if (dtclColuna != null)
             {
                 dtrwInserir[dtclColuna] = dtrwPropriedade.mstrDescricao;
             }
             if (nIdPropriedade != dtrwPropriedade.nIdPropriedade)
             {
                 if (nIdPropriedade != -1)
                 {
                     dataTable.Rows.Add(dtrwInserir);
                     bInserted = true;
                 }
                 nIdPropriedade = dtrwPropriedade.nIdPropriedade;
             }
         }
         if ((dtrwInserir != null) && (!bInserted))
         {
             dataTable.Rows.Add(dtrwInserir);
         }
     }
     dgPropriedades.DataSource = dataTable;
     m_bDataTableEvents        = true;
     return(true);
 }
예제 #6
0
 private void RemovendoPropriedadesIguais()
 {
     for (int i = this.TypDatSetPropriedades.tbPropriedadesProdutos.Count - 1; i >= 0; i--)
     {
         mdlDataBaseAccess.Tabelas.XsdTbPropriedadesProdutos.tbPropriedadesProdutosRow dtrwPropriedades = this.TypDatSetPropriedades.tbPropriedadesProdutos[i];
         if (dtrwPropriedades.RowState == System.Data.DataRowState.Deleted)
         {
             continue;
         }
         for (int j = (i - 1); j >= 0; j--)
         {
             mdlDataBaseAccess.Tabelas.XsdTbPropriedadesProdutos.tbPropriedadesProdutosRow dtrwPropriedadesRemove = this.TypDatSetPropriedades.tbPropriedadesProdutos[j];
             if (dtrwPropriedadesRemove.RowState == System.Data.DataRowState.Deleted)
             {
                 continue;
             }
             if ((dtrwPropriedades.nIdIdioma == dtrwPropriedadesRemove.nIdIdioma) && (dtrwPropriedades.mstrDescricao.Trim().ToLower() == dtrwPropriedadesRemove.mstrDescricao.Trim().ToLower()))
             {
                 dtrwPropriedadesRemove.Delete();
             }
         }
     }
 }
예제 #7
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;
             }
         }
     }
 }