public ResultadoOperacionDto ProcesarImportacionArchivosBMV(InformacionProcesoImportacionArchivosBMVDto infoProcesoImportacionDto) { var resultadoOperacion = new ResultadoOperacionDto(); var bitacora = new BitacoraProcesarArchivosBMV(); bitacora.Estatus = 1; try { resultadoOperacion.Resultado = true; LogUtil.Error("Inicializa el metodo de ProcesarArchivosEmisorasBMV"); var resultadoSincronizacion = SincronizacionArchivosBMVService.ProcesarArchivosEmisorasBMV(infoProcesoImportacionDto.archivoEmisoras, infoProcesoImportacionDto.archivoFideicomisos); LogUtil.Error("Fin del metodo de ProcesarArchivosEmisorasBMV"); resultadoOperacion.InformacionExtra = resultadoSincronizacion; infoProcesoImportacionDto.archivoEmisoras = null; infoProcesoImportacionDto.archivoFideicomisos = null; bitacora.FechaHoraProcesamiento = DateTime.Now; bitacora.NumeroEmisorasReportadas = resultadoSincronizacion.EmisorasImportadas.Count; bitacora.NumeroFideicomisosReportados = resultadoSincronizacion.FideicomisosImportados.Count; bitacora.RutaOrigenArchivoEmisoras = infoProcesoImportacionDto.RutaOrigenArchivoEmisoras; bitacora.RutaDestinoArchivoEmisoras = infoProcesoImportacionDto.RutaDestinoArchivoEmisoras; bitacora.RutaOrigenArchivoFideicomisos = infoProcesoImportacionDto.RutaOrigenArchivoFideicomisos; bitacora.RutaDestinoArchivoFideicomisos = infoProcesoImportacionDto.RutaDestinoArchivoFideicomisos; bitacora.InformacionSalida = JsonConvert.SerializeObject(resultadoSincronizacion); BitacoraProcesarArchivosBMVRepository.Add(bitacora); } catch (Exception e) { LogUtil.Error(e); bitacora.Estatus = 2; resultadoOperacion.Resultado = false; resultadoOperacion.Mensaje = e.StackTrace; } return(resultadoOperacion); }
public void Execute(JobExecutionContext context) { var pathArchivosPendientesBMV = WebConfigurationManager.AppSettings["pathArchivosPendientesBMV"]; var emisoraArchivoNombre = WebConfigurationManager.AppSettings["emisoraArchivoNombre"]; var fideicomisoArchivoNombre = WebConfigurationManager.AppSettings["fideicomisoArchivoNombre"]; Stream emisorasStream = null; Stream fideicomisosStream = null; //DirectoryInfo directoryInfo = new DirectoryInfo(@pathArchivosPendientesBMV); string[] filesInDirectory = Directory.GetFiles(@pathArchivosPendientesBMV, "*.txt", SearchOption.TopDirectoryOnly); string emisorasPath = null; string fideicomisosPath = null; foreach (string archivoAProcesar in filesInDirectory) { if (archivoAProcesar.Contains(emisoraArchivoNombre)) { emisorasPath = archivoAProcesar; } if (archivoAProcesar.Contains(fideicomisoArchivoNombre)) { fideicomisosPath = archivoAProcesar; } } try { JobDataMap dataMap = context.JobDetail.JobDataMap; var empresaService = (IEmpresaService)dataMap["emisoraService"]; //var empresaService = (IEmpresaService)ServiceLocator.ObtenerFabricaSpring().GetObject("EmpresaService"); emisorasStream = emisorasPath != null?File.OpenRead(@emisorasPath) : null; fideicomisosStream = fideicomisosPath != null?File.OpenRead(@fideicomisosPath) : null; var infoProcesoImportacionDto = new InformacionProcesoImportacionArchivosBMVDto(); infoProcesoImportacionDto.archivoFideicomisos = fideicomisosStream; infoProcesoImportacionDto.archivoEmisoras = emisorasStream; infoProcesoImportacionDto.RutaOrigenArchivoEmisoras = emisorasPath != null? emisorasPath : "Sin informacion"; infoProcesoImportacionDto.RutaOrigenArchivoFideicomisos = fideicomisosPath != null? fideicomisosPath:"Sin informacion"; infoProcesoImportacionDto.RutaDestinoArchivoEmisoras = emisorasPath != null ? emisorasPath : "Sin informacion"; infoProcesoImportacionDto.RutaDestinoArchivoFideicomisos = fideicomisosPath != null ? fideicomisosPath : "Sin informacion"; //Ejecucion del metodo var resultadoOperacion = empresaService.ProcesarImportacionArchivosBMV(infoProcesoImportacionDto); if (emisorasStream != null) { emisorasStream.Close(); } if (fideicomisosStream != null) { fideicomisosStream.Close(); } moverArchivos(emisorasPath, fideicomisosPath, resultadoOperacion.Resultado); moverArchivosEnPendientesANoProcesados(); } catch (Exception e) { if (emisorasStream != null) { emisorasStream.Close(); } if (fideicomisosStream != null) { fideicomisosStream.Close(); } LogUtil.Error("***********************ERROR EN EL PROCESAMIENTO DE LA CARGA DE ARCHIVOS PARA SINCRONIZAR DE LA BMV ****************************************************"); LogUtil.Error("aRCHIVO emisorasPath:" + emisorasPath); LogUtil.Error("aRCHIVO fideicomisosPath:" + fideicomisosPath); LogUtil.Error(e); } }