public void NuevaLinea(PagoComplejo aux) { // Tipo de Servicio – 2 posiciones (información llave) string tipo = " " + aux.Tipo; tipo = tipo.Substring(tipo.Length - 2, 2); //Identificador del cliente – 13 posiciones (información llave) string id = " " + aux.Identificador; id = id.Substring(id.Length - 13, 13); //Nombre – 22 posiciones (se muestra en la pantalla)) string nom = " " + aux.Nombre; nom = nom.Substring(nom.Length - 22, 22); //Importe – 16 posiciones (13 para enteros, 1 para punto y 2 para decimales) string imp = " " + aux.Importe; imp = imp.Substring(imp.Length - 16, 16); //Descriptivo – 22 posiciones (se muestra en la pantalla) string desc = " " + aux.Descriptivo; desc = desc.Substring(desc.Length - 22, 22); //Informativo – 25 a 100 posiciones (no se muestra en la pantalla pero si se envía al banco en el mensaje 0200 en el bit 121) string inf = " " + aux.Informativo; inf = inf.Substring(inf.Length - 100, 100); StreamWriter sw = new StreamWriter(local + fichnom, true); sw.WriteLine(tipo + id + nom + imp + desc + inf); sw.Close(); }
public bool ProcesarFichero2() { bool result_sucess = false; //leer los ficheros descargados del FTP para pasarlos para la BD // if("as"=="as") if (existeFichero) { string line; StreamReader st = new StreamReader(directorioTemporal + "E" + codServicio + ".txt", Encoding.Default); line = st.ReadLine(); if (line == null) { handler.GuardarNotificacion("Descarga desde el ftp del fichero " + fichero + " pero este está en Blanco.", "Administrador"); line = "fin"; } PagoComplejo aux = new PagoComplejo(); try { //Handler.GuardarServicioComplejo(aux);//Sin SP if (Handler.GuardarServicioComplejoNew(codServicio, fichero)) //Con SP Modificacion 21/10/08 { result_sucess = true; } } catch (Exception) { handler.GuardarNotificacion("No se descargo la información de los ficheros por error de conexión con la base de datos", "Administrador"); return(false); } try { line = st.ReadLine(); if (line == null || st.EndOfStream) { line = "fin"; } if (((line.Length >= 99) || (line.Length <= 175)) && (line.Equals("fin"))) // Raul. Probando de esta forma ahora { handler.GuardarNotificacion("Se descargó el Fichero " + fichero + " pero no esta en el formato requerido", "Administrador"); st.Close(); result_sucess = false; } else { //Handler.GuardarNotificacion("Descarga del Fichero " + fichero + " completada satisfactoriamente", "Administrador"); st.Close(); result_sucess = true; } } catch (Exception ex) { if (ex.Message.Equals("fichero en blanco")) { handler.GuardarNotificacion(" El fichero del Servicio " + codServicio + " esta en blanco", "Administrador"); result_sucess = false; } else { handler.GuardarNotificacion("El fichero del servicio " + codServicio + " " + ex.Message + " no esta en el formato requerido", "Administrador"); handler.GuardarNotificacion(ex.Message, "Administrador"); result_sucess = false; } try { handler.CambierEstadoServicio(codServicio, "NA"); } catch (Exception) { handler.GuardarNotificacion("Error al conectarse con la base de datos al deshabilitar el servicio " + codServicio + "\n" + "La información del fichero: " + directorioTemporal + "/" + fichero + " tiene problemas.", "Administrador"); } handler.GuardarNotificacion(ex.Message, "Administrador"); } //Handler.GuardarNotificacion("Descarga del Fichero " + fichero + " completada satisfactoriamente", "Administrador"); try { handler.CambierEstadoServicio(codServicio, "AC"); } catch (Exception) { handler.GuardarNotificacion("No se pudo poner el servicio activo despues de ser descargado, servicio " + codServicio, "Administrador"); } } else { handler.GuardarNotificacion("No se encuentra en el FTP el fichero " + fichero, "Administrador"); result_sucess = false; try { handler.CambierEstadoServicio(codServicio, "NA"); } catch (Exception) { handler.GuardarNotificacion("Error al conectarse con la base de datos al deshabilitar el servicio " + codServicio, "Administrador"); } } // tw1.Close(); return(result_sucess); }
//************************************************************ public void ProcesarFichero() { //leer los ficheros descargados del FTP para pasarlos para la BD // if("as"=="as") if (existeFichero) { //TextWriter tw1 = new StreamWriter("C:\\WINDOWS\\Temp\\Telebanca1.txt"); //tw1.WriteLine("entro al if"); // MetroHandler mh = new MetroHandler(fichero,codServicio); string line; StreamReader st = new StreamReader(directorioTemporal + "E" + codServicio + ".txt", Encoding.Default); PagoComplejo aux = new PagoComplejo(); //tw1.WriteLine("Lleno el sream reader con el fichero en el directotio temp"); //tw1.Close(); try { line = st.ReadLine(); if (line == null) { handler.GuardarNotificacion("Descarga desde el ftp del fichero " + fichero + " pero este está en Blanco.", "Administrador"); line = "fin"; } // throw new Exception("fichero en blanco"); Ahora el fichero puede estar en blanco //handler.LimpiarServiciosComplejosTemp(); //while (line.Length >= 99 && line.Length <= 175) { //aux = new PagoComplejo(); //// Tipo de Servicio – 2 posiciones (información llave) //aux.Tipo = line.Substring(0, 2); ////Identificador del cliente – 13 posiciones (información llave) //aux.Identificador = line.Substring(2, 13); ////Nombre – 22 posiciones (se muestra en la pantalla)) //aux.Nombre = line.Substring(15, 22); ////Importe – 16 posiciones (13 para enteros, 1 para punto y 2 para decimales) ////string a = ""; //string b = line.Substring(37, 16); //aux.Importe = Convert.ToSingle(Convert.ToDouble(b)); ////Descriptivo – 22 posiciones (se muestra en la pantalla) //aux.Descriptivo = line.Substring(53, 22); ////Informativo – 25 a 100 posiciones (no se muestra en la pantalla pero si se envía al banco en el mensaje 0200 en el bit 121) //aux.Informativo = line.Substring(75); //aqui lo guardo en la base de Datos con el DataHandler try { //Handler.GuardarServicioComplejo(aux);//Sin SP Handler.GuardarServicioComplejoNew(codServicio, fichero); //Con SP Modificacion 21/10/08 } catch (Exception) { handler.GuardarNotificacion("No se descargo la información de los ficheros por error de conexión con la base de datos", "Administrador"); return; } try { //mh.NuevaLinea(aux); } catch (Exception ex) { handler.GuardarNotificacion(ex.Message, "Administrador"); } line = st.ReadLine(); if (line == null || st.EndOfStream) { line = "fin"; } } //if ((!(line.Length >= 99) || !(line.Length <= 175))&&(!line.Equals("fin"))) // ANTERIOR (SIEMPRE ENTRABA A ESTE IF Y NO DEJABA CARGAR. VER BIEN ESTO) if (((line.Length >= 99) || (line.Length <= 175)) && (line.Equals("fin"))) // Raul. Probando de esta forma ahora { handler.GuardarNotificacion("Se descargó el Fichero " + fichero + " pero no esta en el formato requerido", "Administrador"); st.Close(); } else { // Handler.LimpiarServiciosComplejos(codServicio); //Sin SP //TextWriter tw2 = new StreamWriter("C:\\WINDOWS\\Temp\\Telebanca2.txt"); //tw2.WriteLine("Va a limpiar"); //Handler.LimpiarServiciosComplejosNew(codServicio);//Con SP Modificacion 21/10/08 //tw2.WriteLine("limpio todo y paso a real"); //tw2.Close(); Handler.GuardarNotificacion("Descarga del Fichero " + fichero + " completada satisfactoriamente", "Administrador"); st.Close(); //if (codServicio == "02")//Solo para Electrica //{ // try // { // //llamo a copiar a ftp(metro) // //si true llamo al metodo del web service asincronico // if (handler.CopiarFicheroaFTPMetro(directorioTemporal + fichero, "ftp://192.168.157.211" + "/E02.txt")) // { // //ws.ProcesaFicheroFTP(id_serv,nom_fich); + "/E02090128BIG.txt" // // handler.ConfirmaFicheroFTPMetro("E02.txt"); // Handler.GuardarNotificacion("Fichero enviado a Metro satisfactoriamente", "Administrador"); // } // } // catch (Exception ex) // { // Handler.GuardarNotificacion("MFichEx: " + ex.Message, "Administrador"); // } //} } try { handler.CambierEstadoServicio(codServicio, "AC"); } catch (Exception) { handler.GuardarNotificacion("No se pudo poner el servicio activo despues de ser descargado, servicio " + codServicio, "Administrador"); } } catch (Exception ex) { if (ex.Message.Equals("fichero en blanco")) { handler.GuardarNotificacion(" El fichero del Servicio " + codServicio + " esta en blanco", "Administrador"); } else { handler.GuardarNotificacion("El fichero del servicio " + codServicio + " " + ex.Message + " no esta en el formato requerido", "Administrador"); } handler.GuardarNotificacion(ex.Message, "Administrador"); try { handler.CambierEstadoServicio(codServicio, "NA"); } catch (Exception) { handler.GuardarNotificacion("Error al conectarse con la base de datos al deshabilitar el servicio " + codServicio + "\n" + "La información del fichero: " + directorioTemporal + "/" + fichero + " tiene problemas.", "Administrador"); } } //st.Close(); } else { handler.GuardarNotificacion("No se encuentra en el FTP el fichero " + fichero, "Administrador"); try { handler.CambierEstadoServicio(codServicio, "NA"); } catch (Exception) { handler.GuardarNotificacion("Error al conectarse con la base de datos al deshabilitar el servicio " + codServicio, "Administrador"); } } // tw1.Close(); }