public void EstructuraXML(clsEstructura cEstructura, string strArchivoXML) { string strPathXML = clsValidaciones.CacheTempCrea(); XmlSerializer SerializerRQ = new XmlSerializer(typeof(clsEstructura)); StreamWriter WriterRQ = new StreamWriter(strPathXML + strArchivoXML + ".xml"); try { SerializerRQ.Serialize(WriterRQ, cEstructura); WriterRQ.Flush(); WriterRQ.Close(); } catch { WriterRQ.Flush(); WriterRQ.Close(); } }
public void CrearDataSet(DataSet dsData, XmlDocument xmlDoc, string sEncabezado) { try { clsEstructura cEstructura = new clsEstructura(); cEstructura = cEstructura.getEstructura(dsData); int iCounTables = cEstructura.lTable.Count; for (int t = 0; t < iCounTables; t++) { string sTableName = cEstructura.lTable[t].TableName; XmlNode XMLTables_ = xmlDoc[sEncabezado][sTableName]; foreach (XmlNode XMLTable_ in XMLTables_.ChildNodes) { DataRow RowTable_ = dsData.Tables[sTableName].NewRow(); int iCountColumns = cEstructura.lTable[t].lColumns.Count; for (int c = 0; c < iCountColumns; c++) { RowTable_[cEstructura.lTable[t].lColumns[c].ColumnName] = XMLTable_[cEstructura.lTable[t].lColumns[c].ColumnName].InnerText; } dsData.Tables[sTableName].Rows.Add(RowTable_); } } } catch (Exception Ex) { clsParametros cParametros = new clsParametros(); cParametros.Id = 0; cParametros.Message = Ex.Message; cParametros.Severity = clsSeveridad.Alta; cParametros.Tipo = clsTipoError.Library; cParametros.Metodo = "clsSerialzer"; cParametros.Complemento = "Creando dataset " + dsData.DataSetName.ToString(); cParametros.Source = Ex.Source; cParametros.StackTrace = Ex.StackTrace; ExceptionHandled.Publicar(cParametros); } }
public clsEstructura getEstructura(DataSet dsData) { clsEstructura cEstructura = new clsEstructura(); List <clsRelaciones> lcRelaciones = new List <clsRelaciones>(); List <clsTabla> lcTablas = new List <clsTabla>(); cEstructura.DataId = 0; cEstructura.DataName = dsData.DataSetName; try { int iCounTable = dsData.Tables.Count; for (int t = 0; t < iCounTable; t++) { int iCountColumns = dsData.Tables[t].Columns.Count; clsTabla cTabla = new clsTabla(); List <clsColumnas> lcColumnas = new List <clsColumnas>(); cTabla.TableId = t; cTabla.TableName = dsData.Tables[t].TableName; for (int c = 0; c < iCountColumns; c++) { clsColumnas cColumnas = new clsColumnas(); cColumnas.ColumnId = c; cColumnas.ColumnName = dsData.Tables[t].Columns[c].ColumnName; cColumnas.ColumnType = dsData.Tables[t].Columns[c].DataType.Name; lcColumnas.Add(cColumnas); } cTabla.lColumns = lcColumnas; lcTablas.Add(cTabla); } int iCounRelations = dsData.Relations.Count; for (int r = 0; r < iCounRelations; r++) { clsRelaciones cRelations = new clsRelaciones(); cRelations.RelationsId = r; cRelations.RelationName = dsData.Relations[r].RelationName; cRelations.RelationParentName = dsData.Relations[r].ParentTable.TableName; cRelations.RelationChildName = dsData.Relations[r].ChildTable.TableName; List <clsColumnas> lcColumnasRelaParent = new List <clsColumnas>(); List <clsColumnas> lcColumnasRelaChild = new List <clsColumnas>(); int iCountColumnsRela = dsData.Relations[r].ParentColumns.Length; for (int cp = 0; cp < iCountColumnsRela; cp++) { clsColumnas cColumnasRelaParent = new clsColumnas(); cColumnasRelaParent.ColumnId = cp; cColumnasRelaParent.ColumnName = dsData.Relations[r].ParentColumns[cp].ColumnName; cColumnasRelaParent.ColumnType = dsData.Relations[r].ParentColumns[cp].DataType.Name; lcColumnasRelaParent.Add(cColumnasRelaParent); } iCountColumnsRela = dsData.Relations[r].ChildColumns.Length; for (int cp = 0; cp < iCountColumnsRela; cp++) { clsColumnas cColumnasRelaChild = new clsColumnas(); cColumnasRelaChild.ColumnId = cp; cColumnasRelaChild.ColumnName = dsData.Relations[r].ChildColumns[cp].ColumnName; cColumnasRelaChild.ColumnType = dsData.Relations[r].ChildColumns[cp].DataType.Name; lcColumnasRelaChild.Add(cColumnasRelaChild); } cRelations.lRelationParentColumns = lcColumnasRelaParent; cRelations.lRelationChildColumns = lcColumnasRelaChild; lcRelaciones.Add(cRelations); } cEstructura.lRelations = lcRelaciones; cEstructura.lTable = lcTablas; } catch (Exception Ex) { clsParametros cParametros = new clsParametros(); cParametros.Id = 0; cParametros.Message = Ex.Message; cParametros.Severity = clsSeveridad.Alta; cParametros.Tipo = clsTipoError.Library; cParametros.Metodo = "clsEstructura"; cParametros.Complemento = "Creando estructura dataset " + dsData.DataSetName.ToString(); cParametros.Source = Ex.Source; cParametros.StackTrace = Ex.StackTrace; ExceptionHandled.Publicar(cParametros); } return(cEstructura); }