public bool AlmacenarArchivo(Archivo[] archivo, Configuracion configuracion, Action <Archivo> alCompletar = null, Action <Archivo, Exception> errorComunicacion = null, Action <Archivo, Exception> errorGeneral = null) { var medioEnvio = ACRepositorio.InstanciarCanal(configuracion); RespuestaRetorno respuesta = new RespuestaRetorno(); bool firma = false; if (configuracion.RequiereFirma) { var firmaRespuesta = ValidarFirmaArchivo(configuracion); firma = firmaRespuesta.EsValido; } medioEnvio.AlmacenajeCompletado = alCompletar; medioEnvio.ErrorComunicacion = errorComunicacion; medioEnvio.ErrorGeneral = errorGeneral; var respue = medioEnvio.SalvarArchivo(archivo, configuracion); respuesta.EsValido = respue.EsValido; respuesta.Mensaje = respue.Mensaje; return(respuesta.EsValido); }
protected RespuestaRetorno <Archivo> ObtenerArchivo(Configuracion configuracion, Archivo archivo) { Archivo nuevoArchivo = archivo; var respuestaArchivo = new RespuestaRetorno <Archivo>() { Objeto = new Archivo() }; try { if (File.Exists(archivo.CodArchivoDatos)) { nuevoArchivo.Bytes = File.ReadAllBytes(archivo.CodArchivoDatos); string contenido = System.Text.Encoding.UTF8.GetString(nuevoArchivo.Bytes); nuevoArchivo.Contenido = contenido; respuestaArchivo.EsValido = true; respuestaArchivo.Objeto = nuevoArchivo; } } catch (Exception ex) { ErrorGeneral?.Invoke(nuevoArchivo, ex); respuestaArchivo.EsValido = false; respuestaArchivo.Excepcion = ex; } return(respuestaArchivo); }
public RespuestaRetorno ValidarFirmaArchivo(Configuracion configuracion) { RespuestaRetorno respuesta = new RespuestaRetorno(); var medioEnvio = ACRepositorio.InstanciarCanal(configuracion); respuesta = medioEnvio.ValidarFirma(configuracion); return(respuesta); }
public override RespuestaRetorno <List <Archivo> > ObtenerArchivo(string[] codsArchivosDatos, Configuracion configuracion) { List <Archivo> listaArchivos = new List <Archivo>(); var respuesta = new RespuestaRetorno <List <Archivo> >() { Objeto = new List <Archivo>() }; Archivo archivo = null; Action <Exception> error = (ex) => { respuesta.Excepcion = ex; respuesta.EsValido = false; ex.Message.EntradaBitacora(TipoEvento.bitacora_TipoEvento_Error, ServicioPEL.REP); }; try { var clienteREP = new PEL.NBS.AccesoCore.IEntidadREP.ClienteREP(); configuracionWeb configura = ObtenerConfiguracionWeb(configuracion); foreach (string codArchivoDato in codsArchivosDatos) { archivo = ADArchivo.ConsultarArchivo(codArchivoDato, configuracion.IdConfiguracion); if (archivo != null) { var response = clienteREP.ObtenerArchivo(archivo.CodArchivoDatos, configura.ruta, configura.soapAction); if (response != null) { archivo.Bytes = response.Bytes; string contenido = System.Text.Encoding.UTF8.GetString(archivo.Bytes); archivo.Contenido = contenido; listaArchivos.Add(archivo); } } else { respuesta.EsValido = false; respuesta.Excepcion = new Exception(string.Format(Recursos.msgrep_MensajeErrorConsultar, codArchivoDato)); return(respuesta); } } respuesta.Objeto = listaArchivos; respuesta.EsValido = true; } catch (CommunicationException ex) { errorComunicacion?.Invoke(archivo, ex); error(ex); } catch (Exception ex) { errorGeneral?.Invoke(archivo, ex); error(ex); } return(respuesta); }
public override RespuestaRetorno <List <Archivo> > ObtenerArchivo(string[] codsArchivosDatos, Configuracion configuracion) { List <Archivo> listaArchivos = new List <Archivo>(); var respuesta = new RespuestaRetorno <List <Archivo> >() { Objeto = new List <Archivo>() }; Archivo archivo = null; Action <Exception> error = (ex) => { respuesta.Excepcion = ex; respuesta.Mensaje = ex.Message; respuesta.EsValido = false; ex.Message.EntradaBitacora(TipoEvento.bitacora_TipoEvento_Error, ServicioPEL.REP); }; try { foreach (string codArchivoDato in codsArchivosDatos) { archivo = ADArchivo.ConsultarArchivo(codArchivoDato, configuracion.IdConfiguracion); if (archivo != null) { var respuestaArchivo = ObtenerArchivo(configuracion, archivo); if (respuestaArchivo.EsValido) { listaArchivos.Add(respuestaArchivo.Objeto); } } else { respuesta.EsValido = false; respuesta.Excepcion = new Exception(string.Format(Recursos.msgrep_MensajeErrorConsultar, codArchivoDato)); return(respuesta); } } respuesta.Objeto = listaArchivos; respuesta.EsValido = true; } catch (CommunicationException ex) { errorComunicacion?.Invoke(archivo, ex); error(ex); } catch (Exception ex) { ErrorGeneral?.Invoke(archivo, ex); error(ex); } return(respuesta); }
public override RespuestaRetorno <List <Archivo> > ObtenerArchivo(string[] codsArchivosDatos, BE.Configuracion configuracion) { List <Archivo> listaArchivos = new List <Archivo>(); DSRepositorio ds = new DSRepositorio(); var respuesta = new RespuestaRetorno <List <Archivo> >() { Objeto = new List <Archivo>() }; Archivo archivo = null; Action <Exception> error = (ex) => { respuesta.Excepcion = ex; respuesta.EsValido = false; ex.Message.EntradaBitacora(TipoEvento.bitacora_TipoEvento_Error, ServicioPEL.REP); }; try { foreach (string codArchivoDato in codsArchivosDatos) { archivo = ADArchivo.ConsultarArchivo(codArchivoDato, configuracion.IdConfiguracion); if (archivo != null) { var archivoRepositorio = ds.ObtenerArchivo(Convert.ToInt64(codArchivoDato), archivo.NombreArchivo, configuracion.URL); archivo.URl = archivoRepositorio.Ruta; archivo.Bytes = archivoRepositorio.Contenido; archivo.CodArchivoDatos = archivoRepositorio.IdArchivoDatos.ToString(); archivo.Contenido = System.Text.Encoding.UTF8.GetString(archivo.Bytes); listaArchivos.Add(archivo); } else { respuesta.EsValido = false; respuesta.Excepcion = new Exception(string.Format(Recursos.msgrep_MensajeErrorConsultar, codArchivoDato)); return(respuesta); } } respuesta.Objeto = listaArchivos; respuesta.EsValido = true; } catch (CommunicationException ex) { errorComunicacion?.Invoke(archivo, ex); error(ex); } catch (Exception ex) { errorGeneral?.Invoke(archivo, ex); error(ex); } return(respuesta); }
public override RespuestaRetorno SalvarArchivo(Archivo[] archivos, Configuracion configuracion) { RespuestaRetorno respuesta = new RespuestaRetorno(); Archivo archivoCaptura = null; try { var clienteREP = new PEL.NBS.AccesoCore.IEntidadREP.ClienteREP(); configuracionWeb configura = ObtenerConfiguracionWeb(configuracion); string msjBitacora = string.Empty; foreach (Archivo archivo in archivos) { archivoCaptura = archivo; var request = new PEL.NBS.AccesoCore.IEntidadREP.Request.ArchivoRequest() { NombreArchivo = archivo.NombreArchivo, ExtensionArchivo = archivo.ExtensionArchivo, Bytes = archivo.Bytes, MimeType = archivo.MimeType }; var response = clienteREP.AlmacenarArchivo(request, configura.ruta, configura.soapAction); if (response != null) { archivo.CodArchivoDatos = response.CodArchivoDatos; archivo.IdConfiguracion = configuracion.IdConfiguracion; archivo.IdArchivo = ADArchivo.AgregarAchivo(archivo); almacenajeCompletado?.Invoke(archivo); string msj = "Se agrega documento del servicio {0} y opción {1}, asociado al objeto {2} ."; msjBitacora = string.Format(msj, configuracion.CodServicio, configuracion.CodOpcion, archivo.IdObjeto); Bitacora.Agregar(new InfoEvento(Comun.ContextoInvocador), PEL.NBS.Auditoria.SI.Datos.Enum <ServicioPEL> .Description(ServicioPEL.REP), TipoEvento.bitacora_TipoEvento_Informacion, msjBitacora); } } respuesta.EsValido = true; respuesta.Mensaje = msjBitacora; } catch (Exception ex) { ErrorGeneral?.Invoke(archivoCaptura, ex); respuesta.Excepcion = ex; respuesta.EsValido = false; } return(respuesta); }
public override RespuestaRetorno SalvarArchivo(Archivo[] archivos, Configuracion configuracion) { var respuesta = new RespuestaRetorno(); Archivo archivoCaptura = null; try { string msjBitacora = string.Empty; if (configuracion.RequiereImpersonalizar) { Impersonaliza(configuracion); } foreach (Archivo archivo in archivos) { archivoCaptura = archivo; var respuestaRepositorio = GuardarRepositorio(archivo, configuracion); if (respuestaRepositorio.EsValido) { archivo.CodArchivoDatos = respuestaRepositorio.Objeto.CodArchivoDatos; archivo.IdConfiguracion = configuracion.IdConfiguracion; archivo.IdArchivo = new AccesoDatos.ADArchivo().AgregarAchivo(archivo); AlmacenajeCompletado?.Invoke(archivo); } string msj = "Se agrega documento del servicio {0} y opción {1}, asociado al objeto {2} ."; msjBitacora = string.Format(msj, configuracion.CodServicio, configuracion.CodOpcion, archivo.IdObjeto); Bitacora.Agregar(new InfoEvento(Comun.ContextoInvocador), PEL.NBS.Auditoria.SI.Datos.Enum <ServicioPEL> .Description(ServicioPEL.REP), TipoEvento.bitacora_TipoEvento_Informacion, msjBitacora); } respuesta.EsValido = true; respuesta.Mensaje = msjBitacora; } catch (Exception ex) { ErrorGeneral?.Invoke(archivoCaptura, ex); respuesta.Excepcion = ex; respuesta.Mensaje = ex.Message; respuesta.EsValido = false; } finally { if (configuracion.RequiereImpersonalizar) { Dispose(); } } return(respuesta); }
public void AgregarFTP() { string fileName1 = @"C:\Users\fsanchez\Desktop\Caja de Ande\caja ande requerido.txt"; string fileName2 = @"C:\Users\fsanchez\Desktop\Caja de Ande\Guia Instalación Cliente VPN Remoto.pdf"; byte[] archivo1 = FileToByteArray(fileName1); byte[] archivo2 = FileToByteArray(fileName2); ManejadorArchivos manejador = new ManejadorArchivos(); Archivo arch = new Archivo(); List <Archivo> lista = new List <Archivo>(); Configuracion configura = new Configuracion(); configura.CodTipoConfiguracion = PELib.Enumerados.REP.TipoConfiguracion.FTP; configura.Usuario = "Fabi"; configura.Clave = "fabia123"; configura.URL = "ftp://127.0.0.1/"; configura.IdConfiguracion = 1; arch.Bytes = archivo1; arch.ExtensionArchivo = "txt"; arch.NombreArchivo = "caja ande requerido"; arch.MimeType = "plain/txt"; arch.CodEstado = 1; arch.IdObjeto = 11; lista.Add(arch); arch = new Archivo(); arch.Bytes = archivo2; arch.ExtensionArchivo = "pdf"; arch.NombreArchivo = "Guia Instalación Cliente VPN Remoto"; arch.MimeType = "application/pdf"; arch.CodEstado = 1; arch.IdObjeto = 11; lista.Add(arch); bool respuesta = manejador.AlmacenarArchivo(lista.ToArray(), configura); RespuestaRetorno r = new RespuestaRetorno(); Assert.IsTrue(respuesta); return; }
public override RespuestaRetorno SalvarArchivo(Archivo[] archivos, BE.Configuracion configuracion) { RespuestaRetorno respuesta = new RespuestaRetorno(); Archivo archivoCaptura = null; try { DSRepositorio ds = new DSRepositorio(); string msjBitacora = string.Empty; foreach (Archivo archivo in archivos) { archivoCaptura = archivo; long id = ds.AgregarArchivoRepositorio(archivo, configuracion.URL); if (id > 0) { archivo.IdConfiguracion = configuracion.IdConfiguracion; archivo.CodArchivoDatos = id.ToString(); archivo.IdArchivo = ADArchivo.AgregarAchivo(archivo); AlmacenajeCompletado?.Invoke(archivo); string msj = "Se agrega documento del servicio {0} y opción {1}, asociado al objeto {2} ."; msjBitacora = string.Format(msj, configuracion.CodServicio, configuracion.CodOpcion, archivo.IdObjeto); Bitacora.Agregar(new InfoEvento(Comun.ContextoInvocador), PEL.NBS.Auditoria.SI.Datos.Enum <ServicioPEL> .Description(ServicioPEL.REP), TipoEvento.bitacora_TipoEvento_Informacion, msjBitacora); } else { respuesta.EsValido = false; respuesta.Excepcion = new Exception(string.Format(Recursos.MsgRep_MensajeErrorAgregarBD, archivo.NombreArchivo + '.' + archivo.ExtensionArchivo)); return(respuesta); } } respuesta.EsValido = true; respuesta.Mensaje = msjBitacora; } catch (Exception ex) { ErrorGeneral?.Invoke(archivoCaptura, ex); respuesta.EsValido = false; respuesta.Excepcion = ex; } return(respuesta); }
public RespuestaRetorno <Configuracion> ConsultarConfiguracion(int idConfiguracion) { RespuestaRetorno <Configuracion> respuesta = new RespuestaRetorno <Configuracion>() { Objeto = new Configuracion() }; try { ADConfiguracion ADConfiguracion = new ADConfiguracion(); respuesta.Objeto = ADConfiguracion.ObtenerConfiguracion(idConfiguracion); respuesta.EsValido = true; } catch (Exception ex) { respuesta.Excepcion = ex; respuesta.EsValido = false; } return(respuesta); }
public override RespuestaRetorno SalvarArchivo(Archivo[] archivos, Configuracion configuracion) { var respuesta = new RespuestaRetorno(); Archivo archivo = null; try { string msjBitacora = string.Empty; for (int i = 0; archivos.Length > i; i++) { archivo = archivos[i]; var respuestaRepositorio = GuardarRepositorio(archivo, configuracion); archivo.CodArchivoDatos = respuestaRepositorio.Objeto.CodArchivoDatos; if (respuestaRepositorio.EsValido) { archivo.IdConfiguracion = configuracion.IdConfiguracion; archivo.IdArchivo = ADArchivo.AgregarAchivo(archivo); AlmacenajeCompletado?.Invoke(archivo); } string msj = "Se agrega archivo del servicio {0} y opción {1}, asociado al objeto {2} ."; msjBitacora = string.Format(msj, configuracion.CodServicio, configuracion.CodOpcion, archivo.IdObjeto); Bitacora.Agregar(new InfoEvento(Comun.ContextoInvocador), PEL.NBS.Auditoria.SI.Datos.Enum <ServicioPEL> .Description(ServicioPEL.REP), TipoEvento.bitacora_TipoEvento_Informacion, msjBitacora); } respuesta.EsValido = true; respuesta.Mensaje = msjBitacora; } catch (Exception ex) { ErrorGeneral?.Invoke(archivo, ex); respuesta.Excepcion = ex; respuesta.Mensaje = ex.Message; respuesta.EsValido = false; } return(respuesta); }
protected RespuestaRetorno <Archivo> ObtenerArchivo(Configuracion configuracion, Archivo archivo) { WebClient request = new WebClient(); Archivo nuevoArchivo = archivo; var respuestaArchivo = new RespuestaRetorno <Archivo>() { Objeto = new Archivo() }; Action finalizar = () => { request.Dispose(); }; string url = configuracion.URL + archivo.NombreArchivo + "." + archivo.ExtensionArchivo; request.Credentials = new NetworkCredential(configuracion.Usuario, configuracion.Clave); try { byte[] archivoBytes = request.DownloadData(url); string contenido = System.Text.Encoding.UTF8.GetString(archivoBytes); nuevoArchivo.Bytes = archivoBytes; nuevoArchivo.Contenido = contenido; respuestaArchivo.Objeto = nuevoArchivo; respuestaArchivo.EsValido = true; } catch (Exception ex) { finalizar(); throw ex; } finally { finalizar(); } return(respuestaArchivo); }