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