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); }
protected RespuestaRetorno <Archivo> GuardarRepositorio(Archivo archivo, Configuracion configuracion) { BE.RespuestaRetorno <Archivo> resp = new BE.RespuestaRetorno <Archivo>(); Archivo archivoRepositorio = new Archivo(); try { string archivoExtension = archivo.NombreArchivo + "." + archivo.ExtensionArchivo; string fullPath = Path.Combine(configuracion.URL, archivoExtension); FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(fullPath); request.Method = WebRequestMethods.Ftp.UploadFile; request.Credentials = new NetworkCredential(configuracion.Usuario, configuracion.Clave); request.UsePassive = true; request.UseBinary = true; request.KeepAlive = true; byte[] buffer = archivo.Bytes; request.ContentLength = buffer.Length; Stream reqStream = request.GetRequestStream(); if (request.ContentLength != 0) { reqStream.Write(buffer, 0, buffer.Length); } archivoRepositorio.CodArchivoDatos = fullPath; reqStream.Flush(); reqStream.Close(); FtpWebResponse response = (FtpWebResponse)request.GetResponse(); string msjBitacora = "Archivo {0} cargado en el repositorio FTP, estatus : " + response.StatusDescription; response.Close(); Bitacora.Agregar(new InfoEvento(Comun.ContextoInvocador), PEL.NBS.Auditoria.SI.Datos.Enum <ServicioPEL> .Description(ServicioPEL.REP), TipoEvento.bitacora_TipoEvento_Informacion, string.Format(msjBitacora, archivoExtension)); resp.EsValido = true; resp.Objeto = archivoRepositorio; } catch (CommunicationException ex) { errorComunicacion?.Invoke(archivo, ex); throw ex; } return(resp); }
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 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 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); }