private ContenidoArchivo CargarDataSet(string nombreArchivo, DataSet auxDataSet) { ContenidoArchivo resultado = ContenidoArchivo.Informe; string archivoEsquema = nombreArchivo + ".sch"; string archivoDescomprimido = nombreArchivo.Substring(0, nombreArchivo.Length - 3); DescomprimirArchivo(nombreArchivo); if (nombreArchivo.Contains("INFORMEFALLA_")) { resultado = ContenidoArchivo.Informe; consultarDatosInfFalla().WriteXmlSchema(archivoEsquema); } else { resultado = ContenidoArchivo.Notificacion; consultarDatosNotificacion().WriteXmlSchema(archivoEsquema); } auxDataSet.ReadXmlSchema(archivoEsquema); auxDataSet.ReadXml(archivoDescomprimido); if (File.Exists(archivoEsquema)) { File.Delete(archivoEsquema); } if (File.Exists(archivoDescomprimido)) { File.Delete(archivoDescomprimido); } return(resultado); }
public void Ejecutar() { try { string archivo = ObtenerArchivo(); if (!string.IsNullOrEmpty(archivo)) { DataSet ds = new DataSet(); ContenidoArchivo contenido = CargarDataSet(archivo, ds); if (contenido == ContenidoArchivo.Informe) { DataTable informe = null; if (ds.Tables.IndexOf("F_GF_INFORMEFALLA") >= 0) { informe = ds.Tables["F_GF_INFORMEFALLA"]; if (informe.Rows.Count > 0) { ds.Tables["F_GF_INFORMEFALLA"].Rows[0]["D_COD_ESTADO_INF"] = D_COD_ESTADO_INF.ENVIADO; } } } Importar(ds, contenido); if (System.IO.File.Exists(@archivo)) { System.IO.File.Delete(@archivo); } } } catch (Exception ex) { PistaMgr.Instance.Error("SisFalla", ex); } }
public void Ejecutar() { try { string archivo = ObtenerArchivo(); if (!string.IsNullOrEmpty(archivo)) { DataSet ds = new DataSet(); ContenidoArchivo contenido = CargarDataSet(archivo, ds); Importar(ds, contenido); } } catch (Exception ex) { PistaMgr.Instance.Error("SisFalla", ex); } }
private bool Importar(DataSet dts, ContenidoArchivo contenido) { bool actualizar = true; bool mensaje = true; List <IMgrLocal> managersLocal = new List <IMgrLocal>(); if (contenido == ContenidoArchivo.Notificacion) { managersLocal.Add(ModeloMgr.Instancia.DefDominioMgr as IMgrLocal); managersLocal.Add(ModeloMgr.Instancia.RegFallaMgr as IMgrLocal); managersLocal.Add(ModeloMgr.Instancia.NotificacionMgr as IMgrLocal); } else { managersLocal.Add(ModeloMgr.Instancia.InformeFallaMgr as IMgrLocal); managersLocal.Add(ModeloMgr.Instancia.OperacionAlimentadorMgr as IMgrLocal); managersLocal.Add(ModeloMgr.Instancia.OperacionInterruptoresMgr as IMgrLocal); managersLocal.Add(ModeloMgr.Instancia.RelesOperadosMgr as IMgrLocal); managersLocal.Add(ModeloMgr.Instancia.RRegFallaComponenteMgr as IMgrLocal); managersLocal.Add(ModeloMgr.Instancia.TiempoDetalleMgr as IMgrLocal); managersLocal.Add(ModeloMgr.Instancia.AsignacionResposabilidadMgr as IMgrLocal); } try { foreach (var mgr in managersLocal) { if (dts.Tables.Contains(mgr.NombreTabla)) { DataTable tabla = dts.Tables[mgr.NombreTabla]; List <DataRow> rowsNuevos = new List <DataRow>(); List <DataRow> rowsAntiguos = new List <DataRow>(); foreach (DataRow row in tabla.Rows) { if (actualizar) { bool esNuevo = !mgr.Existe(mgr.NombreTabla, row); if (esNuevo) { rowsNuevos.Add(row); } else { rowsAntiguos.Add(row); } if (!esNuevo && mensaje)// && Sesion.Instancia.RolSIN == "CNDC") { DialogResult r = MessageBox.Show("El registro ya fue actualizado, desea solaparlo, posible inconsistencia en registros", "Advertencia", MessageBoxButtons.YesNo, MessageBoxIcon.Error); if (r == DialogResult.No) { actualizar = false; } mensaje = false; } } } if (actualizar) { if (rowsNuevos.Count > 0) { mgr.Insertar(rowsNuevos); } if (rowsAntiguos.Count > 0) { mgr.Actualizar(rowsAntiguos); } } } } if (actualizar) { MessageBox.Show("Concluida satisfactoriamente", "Importacion.", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { PistaMgr.Instance.Error("SISFALLA.ImportarXML()", ex); } return(actualizar); }
public bool Importar(DataSet dts, ContenidoArchivo contenido, bool silencioso) { Console.WriteLine("wwwwwwww aqui 1"); bool actualizar = true; bool mensaje = !silencioso; List <IMgrLocal> managersLocal = new List <IMgrLocal>(); if (contenido == ContenidoArchivo.Notificacion) { managersLocal.Add(ModeloMgr.Instancia.DefDominioMgr as IMgrLocal); managersLocal.Add(ModeloMgr.Instancia.RegFallaMgr as IMgrLocal); managersLocal.Add(ModeloMgr.Instancia.NotificacionMgr as IMgrLocal); } else { managersLocal.Add(ModeloMgr.Instancia.InformeFallaMgr as IMgrLocal); managersLocal.Add(ModeloMgr.Instancia.OperacionAlimentadorMgr as IMgrLocal); managersLocal.Add(ModeloMgr.Instancia.OperacionInterruptoresMgr as IMgrLocal); managersLocal.Add(ModeloMgr.Instancia.RelesOperadosMgr as IMgrLocal); managersLocal.Add(ModeloMgr.Instancia.RRegFallaComponenteMgr as IMgrLocal); managersLocal.Add(ModeloMgr.Instancia.TiempoDetalleMgr as IMgrLocal); managersLocal.Add(ModeloMgr.Instancia.AsignacionResposabilidadMgr as IMgrLocal); managersLocal.Add(ModeloMgr.Instancia.ColapsoMgr as IMgrLocal); managersLocal.Add(ModeloMgr.Instancia.AnalisisMgr as IMgrLocal); } try { foreach (var mgr in managersLocal) { if (mgr != null && dts.Tables.Contains(mgr.NombreTabla)) { DataTable tabla = dts.Tables[mgr.NombreTabla]; List <DataRow> rowsNuevos = new List <DataRow>(); List <DataRow> rowsAntiguos = new List <DataRow>(); foreach (DataRow row in tabla.Rows) { if (actualizar) { bool esNuevo = !mgr.Existe(mgr.NombreTabla, row); if (esNuevo) { rowsNuevos.Add(row); } else { rowsAntiguos.Add(row); } if (!esNuevo && mensaje)// && Sesion.Instancia.RolSIN == "CNDC") { DialogResult r = MessageBox.Show("El registro ya fue actualizado, desea solaparlo, posible inconsistencia en registros", "Advertencia", MessageBoxButtons.YesNo, MessageBoxIcon.Error); if (r == DialogResult.No) { actualizar = false; } mensaje = false; } } } if (actualizar) { if (rowsNuevos.Count > 0) { mgr.Insertar(rowsNuevos); } if (rowsAntiguos.Count > 0) { mgr.Actualizar(rowsAntiguos); } } } } if (actualizar) { if (contenido == ContenidoArchivo.Informe && Sesion.Instancia.EmpresaActual.PkCodPersona == 7) { DataTable tablaInforme = dts.Tables[InformeFalla.NOMBRE_TABLA]; InformeFalla informe = new InformeFalla(tablaInforme.Rows[0]); DOMINIOS_OPERACION tipoOperacion = DOMINIOS_OPERACION.AGENTE_ENVIA_PRELIMINAR; if (informe.PkDCodTipoinforme == (long)PK_D_COD_TIPOINFORME.PRELIMINAR) { tipoOperacion = DOMINIOS_OPERACION.MANUAL_AGENTE_ENVIA_PRELIMINAR; } else if (informe.PkDCodTipoinforme == (long)PK_D_COD_TIPOINFORME.FINAL) { tipoOperacion = DOMINIOS_OPERACION.MANUAL_AGENTE_ENVIA_FINAL; } Operacion opn = new Operacion(); opn.RegistrarOperacion(tipoOperacion, informe.PkCodFalla, informe.PkOrigenInforme); } if (!silencioso) { MessageBox.Show("Concluida satisfactoriamente", "Importacion.", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } catch (Exception ex) { Console.WriteLine("wwwwwwww aqui 2"); PistaMgr.Instance.Error("ImportarXML()", ex); } return(actualizar); }
public bool Importar(DataSet dts, ContenidoArchivo contenido) { return(Importar(dts, contenido, false)); }