public static MvcHtmlString GeneraHTMLDeCarpetaCodigo(this HtmlHelper helper, string nombreCarpeta, List <PalabraCodigo> palabrasCodigo, List <string> clasesPersonalizadas = null) { int indice = 1; string marcado = string.Empty, encabezados = string.Empty; string rutaCodigo = $"{helper.ViewContext.HttpContext.Server.MapPath("~")}{Rutas.CodigoArticulos}/{nombreCarpeta}"; ConvertidorCodigoAHTML convertidor = new ConvertidorCodigoAHTML(palabrasCodigo, clasesPersonalizadas); foreach (string archivo in Directory.EnumerateFiles(rutaCodigo)) { encabezados += $"<div class=\"EnzdoCodigoFuente\" indice=\"{indice++}\">" + $"{LectorArchivos.ObtenNombreCodigo(archivo)}</div>"; string contenido = LectorArchivos.ObtenContenidoCadena(archivo); if (contenido != null) { marcado += $"<div class=\"ctdrCodigo\"><pre>{convertidor.ObtenHTML(contenido)}</pre></div>"; } } encabezados += $"<a><img src=" + $"\"{Rutas.ImagenesVisualizadorCodigo}/download_2.png\" title=\"Descargar\" class=\"descargarCodigo\"></img></a>"; encabezados += $"<input type=\"hidden\" value=\"{nombreCarpeta}\"/>"; encabezados = $"<div class=\"EnzdosCodigoFuente\">{encabezados}</div>"; marcado = $"<div class=\"CdrCodigoFuente\">{marcado}</div>"; return(new MvcHtmlString(encabezados + marcado)); }
protected FileContentResult GeneraArchivoRespuesta(string rutaArchivo, string nombreArchivo) { byte[] archivo = LectorArchivos.ObtenContenidoBinario(rutaArchivo); FileContentResult resultado = null; if (archivo != null) { resultado = File(archivo, "text/plain", $"{nombreArchivo}"); } return(resultado); }
private void Temporizador_Tick(object sender, EventArgs e) { String RutaEntrada; try { //CARGA TODOS LOS PROCESOS GUARDADOS EN BAN_TAREAS this.Temporizador.Enabled = false; this.btnStop.Enabled = false; DataTable procesos = new TareaLN().consultar(); Tareas Tarea; tiempoServidor = DateTime.Now; //OBTIENE LAS RUTAS DE LOS BANCOS RutaLN objRutaLN = new RutaLN(); Ruta objRuta = new Ruta(); BancoLN objBancoLN = new BancoLN(); LectorArchivos objLector_ax = new LectorArchivos(); List <String> listaRutaArchivos_ax = new List <string>(); List <ArchivoEN> listaRutaArchivosOrdenados = new List <ArchivoEN>(); List <Banco> lista = new List <Banco>(); List <Banco> lista_ax = new List <Banco>(); foreach (DataRow fila in procesos.Rows) { Tarea = new Tareas(); Tarea.pId = Convertidor.aEntero32(fila["Id"]); Tarea.pNombreTarea = Convertidor.aCadena(fila["NombreTarea"]); Tarea.pPeriodo = Convertidor.aCadena(fila["Periodo"]); Tarea.pTiempoIntervalo = Convertidor.aCadena(fila["TiempoIntervalo"]); Tarea.pInicio = Convertidor.aCadena(fila["Inicio"]); Tarea.pOperacion = Convertidor.aCadena(fila["Proceso"]); Tarea.pCorreoControl = Convertidor.aCadena(fila["CorreoControl"]); Codigo.EnviarCorreo enviarNotifiacion = new Codigo.EnviarCorreo(); tiempoProceso = Convert.ToDateTime(Tarea.pInicio); if (tiempoProceso <= tiempoServidor) { #region SAU Pagos cierre mes - orden de pagos por fecha de la bolsa de archivos EN.Tablas.Banco objB = new EN.Tablas.Banco(); objB.pActivo = true; objB.pTipoProceso = "POL_"; // Pagos Online lista = objBancoLN.consultar(objB); objB.pTipoProceso = "ABR_"; // Recaudo diario lista_ax = objBancoLN.consultar(objB); lista.AddRange(lista_ax); foreach (Banco bank in lista) { objRuta.pOid = bank.pRutaArchivosEntrada; RutaEntrada = objRutaLN.consultar(objRuta)[0].pRuta; List <String> listaRutaArchivos = objLector_ax.listarDirectorio(RutaEntrada); if (listaRutaArchivos_ax.Find(x => x.Contains(RutaEntrada)) == null) { listaRutaArchivos_ax.AddRange(listaRutaArchivos); } } listaRutaArchivosOrdenados = objLector_ax.procesarArchivosFecha(listaRutaArchivos_ax); objRuta.pOid = 0; #endregion #region TAREA ASOBANCAIRA SIN USO //********************************************************** //SE REALIZA EL PROCESO DE ASOBANCARIA PARA TODOS LOS BANCOS if (Tarea.pOperacion.Equals("Asobancaria")) { bool procesoConError = false; List <String> RespuestaProceso = new List <string>(); this.label10.Text = Tarea.pNombreTarea; Pausa(2); Asobancaria objAso = new Asobancaria(); RespuestaProceso = objAso.obtenerBancosAsobancaria(ref procesoConError); TareaLN objTareasLN = new TareaLN(); int valor = 0; if (RespuestaProceso.Count > 0) { foreach (String procesoBanco in RespuestaProceso) { this.listBox1.Items.Add(this.label10.Text + " " + procesoBanco + " Hora: " + DateTime.Now.ToString()); } if (procesoConError == true) { // AQUI Tarea.pTiempoIntervalo = "30"; valor = objTareasLN.actualizarIncioProcesoConError(Tarea); if (valor <= 0) { this.listBox1.Items.Add(this.label10.Text + " ¡¡Ocurrio un Error al actualizar la Fecha!! Hora: " + DateTime.Now.ToString()); } else { this.listBox1.Items.Add(this.label10.Text + " se termino de ejecutar pero con errores!! Hora: " + DateTime.Now.ToString()); } } else { valor = objTareasLN.actualizarIncioProceso(Tarea); if (valor <= 0) { this.listBox1.Items.Add(this.label10.Text + " ¡¡Ocurrio un Error al actualizar la Fecha!! Hora: " + DateTime.Now.ToString()); } else { this.listBox1.Items.Add(this.label10.Text + " se termino de ejecutar con exito!!! Hora: " + DateTime.Now.ToString()); } } } Pausa(6); this.label10.Text = ""; } #endregion #region TAREA PAGOSONLINE //************************************************************ //SE REALIZA EL PROCESO DE PAGOS ONLINE PARA TODOS LOS BANCOS if (Tarea.pOperacion.Equals("PagosOnline")) { bool procesoConError = false; List <String> RespuestaProceso = new List <string>(); this.label10.Text = Tarea.pNombreTarea; Pausa(2); PagosOnline objPagOnline = new PagosOnline(); RespuestaProceso = objPagOnline.obtenerBancosPagosOnline(ref procesoConError, listaRutaArchivosOrdenados); #region Limpia Tabla bolsa pagos //ArchivoLN archivoLN = new ArchivoLN(); //ArchivoEN archivoEN = new ArchivoEN(); //archivoEN.Fecha = System.DateTime.Now.ToString("yyyy-MM-dd"); //archivoLN.eliminarArchivoBolsaLN(archivoEN); listaRutaArchivosOrdenados.Clear(); listaRutaArchivos_ax.Clear(); lista.Clear(); lista.Clear(); #endregion TareaLN objTareasLN = new TareaLN(); int valor = 0; if (RespuestaProceso.Count > 0) { foreach (String procesoBanco in RespuestaProceso) { this.listBox1.Items.Add(this.label10.Text + " " + procesoBanco + " Hora: " + DateTime.Now.ToString()); } if (procesoConError == true) { // AQUI Tarea.pTiempoIntervalo = "30"; valor = objTareasLN.actualizarIncioProcesoConError(Tarea); if (valor <= 0) { this.listBox1.Items.Add(this.label10.Text + " ¡¡Ocurrio un Error al actualizar la Fecha!! Hora: " + DateTime.Now.ToString()); } else { this.listBox1.Items.Add(this.label10.Text + " se termino de ejecutar pero con errores!! Hora: " + DateTime.Now.ToString()); } } else { valor = objTareasLN.actualizarIncioProceso(Tarea); if (valor <= 0) { this.listBox1.Items.Add(this.label10.Text + " ¡¡Ocurrio un Error al actualizar la Fecha!! Hora: " + DateTime.Now.ToString()); } else { this.listBox1.Items.Add(this.label10.Text + " se termino de ejecutar con exito!!! Hora: " + DateTime.Now.ToString()); } } } Pausa(6); this.label10.Text = ""; } #endregion #region TAREA MOVERFTP //************************************************************ //SE REALIZA EL PROCESO DE MOVER ARCHIVOS QUE SE ENCUENTRAN EN UNA FTP A CUALQUIER RUTA ESTABLECIDA if (Tarea.pOperacion.Equals("MoverFtp")) { bool procesoConError = false; String RespuestaProceso = String.Empty; this.label10.Text = Tarea.pNombreTarea; Pausa(2); MoverArchivos objmFTP = new MoverArchivos(); RespuestaProceso = objmFTP.moverAFtp(ref procesoConError); TareaLN objTareasLN = new TareaLN(); int valor = 0; if (procesoConError == true) { this.listBox1.Items.Add(this.label10.Text + " " + RespuestaProceso + " Hora: " + DateTime.Now.ToString()); // AQUI Tarea.pTiempoIntervalo = "30"; valor = objTareasLN.actualizarIncioProcesoConError(Tarea); if (valor <= 0) { this.listBox1.Items.Add(this.label10.Text + " ¡¡Ocurrio un Error al actualizar la Fecha!! Hora: " + DateTime.Now.ToString()); } else { this.listBox1.Items.Add(this.label10.Text + " se termino de ejecutar pero con errores!! Hora: " + DateTime.Now.ToString()); } } else { valor = objTareasLN.actualizarIncioProceso(Tarea); if (valor <= 0) { this.listBox1.Items.Add(this.label10.Text + " ¡¡Ocurrio un Error al actualizar la Fecha!! Hora: " + DateTime.Now.ToString()); } else { this.listBox1.Items.Add(this.label10.Text + " se termino de ejecutar con exito!!! Hora: " + DateTime.Now.ToString()); } } Pausa(6); this.label10.Text = ""; } #endregion #region TAREA TARJETAS CREDITO //************************************************************ //SE REALIZA EL PROCESAMIENTO DE LOS ARCHIVOS TARJETAS DE CREDITO PARA TODOS LOS BANCOS if (Tarea.pOperacion.Equals("TarjetasCredito")) { bool procesoConError = false; List <String> RespuestaProceso = new List <string>(); this.label10.Text = Tarea.pNombreTarea; Pausa(2); TarjetaCredito objRecaudo = new TarjetaCredito(); RespuestaProceso = objRecaudo.obtenerBancosTarjetasCredito(ref procesoConError); TareaLN objTareasLN = new TareaLN(); int valor = 0; if (RespuestaProceso.Count > 0) { foreach (String procesoBanco in RespuestaProceso) { this.listBox1.Items.Add(this.label10.Text + " " + procesoBanco + " Hora: " + DateTime.Now.ToString()); } if (procesoConError == true) { // AQUI Tarea.pTiempoIntervalo = "30"; valor = objTareasLN.actualizarIncioProcesoConError(Tarea); if (valor <= 0) { this.listBox1.Items.Add(this.label10.Text + " ¡¡Ocurrio un Error al actualizar la Fecha!! Hora: " + DateTime.Now.ToString()); } else { this.listBox1.Items.Add(this.label10.Text + " se termino de ejecutar pero con errores!! Hora: " + DateTime.Now.ToString()); } } else { valor = objTareasLN.actualizarIncioProceso(Tarea); if (valor <= 0) { this.listBox1.Items.Add(this.label10.Text + " ¡¡Ocurrio un Error al actualizar la Fecha!! Hora: " + DateTime.Now.ToString()); } else { this.listBox1.Items.Add(this.label10.Text + " se termino de ejecutar con exito!!! Hora: " + DateTime.Now.ToString()); } } } Pausa(6); this.label10.Text = ""; } #endregion #region TAREA RECUADO DIARIO //************************************************************ //SE REALIZA EL PROCESAMIENTO DE LOS ARCHIVOS DE RECAUDO DIARIO PARA TODOS LOS BANCOS if (Tarea.pOperacion.Equals("RecaudoDiario")) { bool procesoConError = false; List <String> RespuestaProceso = new List <string>(); this.label10.Text = Tarea.pNombreTarea; Pausa(2); Recaudo objRecaudo = new Recaudo(); RespuestaProceso = objRecaudo.obtenerBancosRecaudoDiario(ref procesoConError, listaRutaArchivosOrdenados); #region Limpia Tabla bolsa pagos //ArchivoLN archivoLN = new ArchivoLN(); //ArchivoEN archivoEN = new ArchivoEN(); //archivoEN.Fecha = System.DateTime.Now.ToString("yyyy-MM-dd"); //archivoLN.eliminarArchivoBolsaLN(archivoEN); listaRutaArchivosOrdenados.Clear(); listaRutaArchivos_ax.Clear(); lista.Clear(); lista.Clear(); #endregion TareaLN objTareasLN = new TareaLN(); int valor = 0; if (RespuestaProceso.Count > 0) { foreach (String procesoBanco in RespuestaProceso) { this.listBox1.Items.Add(this.label10.Text + " " + procesoBanco + " Hora: " + DateTime.Now.ToString()); } if (procesoConError == true) { // AQUI Tarea.pTiempoIntervalo = "30"; valor = objTareasLN.actualizarIncioProcesoConError(Tarea); if (valor <= 0) { this.listBox1.Items.Add(this.label10.Text + " ¡¡Ocurrio un Error al actualizar la Fecha!! Hora: " + DateTime.Now.ToString()); } else { this.listBox1.Items.Add(this.label10.Text + " se termino de ejecutar pero con errores!! Hora: " + DateTime.Now.ToString()); } } else { valor = objTareasLN.actualizarIncioProceso(Tarea); if (valor <= 0) { this.listBox1.Items.Add(this.label10.Text + " ¡¡Ocurrio un Error al actualizar la Fecha!! Hora: " + DateTime.Now.ToString()); } else { this.listBox1.Items.Add(this.label10.Text + " se termino de ejecutar con exito!!! Hora: " + DateTime.Now.ToString()); } } } Pausa(6); this.label10.Text = ""; } #endregion } } Temporizador.Enabled = true; this.btnStop.Enabled = true; this.label10.Text = ""; } catch (Exception ex) { this.listBox1.Items.Add(this.label10.Text + ex.Message + " Hora: " + DateTime.Now.ToString()); return; } //finally //{ // Temporizador.Enabled = true; // this.btnStop.Enabled = true; // this.label10.Text = ""; //} }
public List <String> obtenerBancosRecaudoDiario(ref bool procesoConError, List <ArchivoEN> archivosOrdenados) { #region "Atributos Bancos" String NombreCuenta; String IdCuentaBanco; String IdCuentaBancoEpicor; String RutaEntrada; String RutaProcesado; String RutaSalidaEpicor; String TipoProceso; ArrayList CorreosControl = new ArrayList(); String CodigoBanco; String Remitente; String TipoCuenta; String NumCuenta; String Asobancaria; #endregion List <String> RespuestaProceso = new List <String>(); List <string[, ]> resDis; //BANFAS2 duvan ramirez string fechaActual = null, resp; //List<Ftp_control> res; Correo objCorreo = new Correo(); Correo objCorreoRes = new Correo(); try { //OBTIENE UNA LISTA DE OBJETOS DE BANCOS List <Banco> lista = new List <Banco>(); EN.Tablas.Banco objB = new EN.Tablas.Banco(); objB.pActivo = true; objB.pTipoProceso = "ABR_"; BancoLN objBancoLN = new BancoLN(); lista = objBancoLN.consultar(objB); //OBTIENE LAS RUTAS DE LOS BANCOS objCorreo = ObtenerCorreos(); objCorreoRes = objCorreo; RutaLN objRutaLN = new RutaLN(); Ruta objRuta = new Ruta(); //RECORREN TODOS LOS BANCOS Y LOS ENVIA UNO A UNO AL SERVICIO WEB Bancos foreach (Banco bank in lista) { TipoProceso = bank.pTipoProceso; IdCuentaBanco = Convert.ToString(bank.pId.Value); NombreCuenta = bank.pNombreCuenta; IdCuentaBancoEpicor = bank.pIdCuentaBanco; CorreoControlB = bank.pCorreoControl.Split(';'); if (IdCuentaBanco == "61") { CodigoBanco = bank.pCodigoBanco; } foreach (string cc in CorreoControlB) { if (string.IsNullOrEmpty(cc)) { break; } CorreosControl.Add(cc); } CodigoBanco = bank.pCodigoBanco; Remitente = bank.pRemitente; objRuta.pOid = bank.pRutaArchivosEntrada; RutaEntrada = objRutaLN.consultar(objRuta)[0].pRuta; objRuta.pOid = bank.pRutaArchivosSalida; RutaProcesado = objRutaLN.consultar(objRuta)[0].pRuta; objRuta.pOid = bank.pRutaArchivosSalidaEpicor; RutaSalidaEpicor = objRutaLN.consultar(objRuta)[0].pRuta; TipoCuenta = bank.pTipoCuenta; NumCuenta = bank.pNumCuenta; Asobancaria = bank.pAsobancaria; #region DESENCRIPCION ARCHIVO LectorArchivos objLector = new LectorArchivos(); List <String> listaArchivos = objLector.listarDirectorioPGP(RutaEntrada); if (listaArchivos.Count > 0) { foreach (String archivo in listaArchivos) { //Objeto trasnferencia GMF try {//Solicitar cifrado enviando ruta string inputFileLocation = @archivo; string respActualiza = ""; bool esperar = true, actualiza = true; objTransferencia.id = "6"; objTransferencia.rutaRepositorio = RutaEntrada; objTransferencia.nomArchivo = inputFileLocation.Substring(RutaEntrada.Length, inputFileLocation.Length - RutaEntrada.Length); objTransferencia.nomArchivo = objTransferencia.nomArchivo; if (File.Exists(RutaEntrada + objTransferencia.nomArchivo)) { objTransferencia.fechaCreacion = File.GetLastWriteTime(RutaEntrada + objTransferencia.nomArchivo); } do { if (actualiza) { respActualiza = objTranferenciaLN.ActualizaDescifrado(objTransferencia); if (!respActualiza.Equals("1")) { EnvioMail("", "Error en la actualizacion de descifrado recaudo", "error actualizando rutas para el decifrado del archivo" + inputFileLocation, objCorreo.mailTo, objCorreo.mailFrom, objCorreo.mailCC); esperar = false; } actualiza = false; } resp = objTranferenciaLN.consultaDisponibilidadDescifrado(objTransferencia); if (resp.Equals("False")) { esperar = false; } } while (esperar); modificarFechaCreacion(objTransferencia); } catch (Exception ex) { RespuestaProceso.Add(bank.pNombreCuenta + ": " + ex.Message); procesoConError = true; goto line; } } } #endregion //Marina RT Se valida si la estructura del archivo origen no es asobancaria para correr el proceso de conversion de estructura //LLenar tabla temporal con la rutaEntrada y las fechas de los archivos que tiene adentro if (Asobancaria == "N") { mensaje = CorrerRecaudoDiario(NombreCuenta, IdCuentaBanco, IdCuentaBancoEpicor, RutaEntrada, RutaProcesado, CorreosControl, Remitente, CodigoBanco, NumCuenta, TipoCuenta, RutaSalidaEpicor, TipoProceso); RutaEntrada = RutaProcesado; if (!mensaje.Equals("Proceso Recaudo Diario ejecutado con exito!!")) { procesoConError = true; } } else { mensaje = RutaEntrada + ": Archivo original es Asobancaria"; procesoConError = true; } // AQUI ..Marina RT se adiciona línea que invoca el servicio web que aplica pagos de primeras inversiones y genera plano para SICO if (procesoConError) { if (archivosOrdenados.Count > 0) { ArchivoEN topOne = archivosOrdenados.ElementAt(0); ServicioBancos.WsBancos ProcesoPagos = new ServicioBancos.WsBancos(); System.IO.DirectoryInfo dirInfo = new System.IO.DirectoryInfo(RutaEntrada); System.IO.FileInfo[] fileNames = dirInfo.GetFiles("*.*"); foreach (System.IO.FileInfo archivos in fileNames) { if (topOne.RutaArchivo == RutaEntrada + archivos.Name) { ProcesoPagos.Timeout = 300000; mensaje = ProcesoPagos.LecturaPagos("usuario", "Pasword", RutaEntrada, archivos.Name, "N"); RespuestaProceso.Add(bank.pNombreCuenta + ": " + mensaje); } } } } } line: CorreosControl.Clear(); return(RespuestaProceso); } catch (Exception ex) { RespuestaProceso.Add(ex.Message); return(RespuestaProceso); } }