// 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); } }
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; } } } }
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); }
// 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(); } } }
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)); } } }
// 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); } }