public bool RecibirMensajes(Operador.Entity.TransferenciaMensajes mensajes) { try { Boolean resultado = true; GestorMensajeria gestorMensajeria = new GestorMensajeria(); resultado = gestorMensajeria.RecibirMensaje(mensajes); return resultado; } catch (Exception ex) { AppLog.Write(" Error en el servicio De Mensajeria - RecibirMensajes . ", AppLog.LogMessageType.Error, ex, "OperadorCarpeta"); throw ex; } }
public static object EnviarMensaje(List<usuariosMensajes> usuarios, string Asunto, string cuerpoMensaje, string FILENAMES) { try { #region Envio Mensajes ServicioIntermediario.ServicioIntermediarioClient servicioMensajeriaExterno = new ServicioIntermediario.ServicioIntermediarioClient(); ServicioIntermediario.TransferenciaMensajes MensajeOtroOperadore = new ServicioIntermediario.TransferenciaMensajes(); List<ServicioIntermediario.ListaDestinatarios> destinosExternos = new List<ServicioIntermediario.ListaDestinatarios>(); ServicioIntermediario.ListaDestinatarios OrigenExtenos = new ServicioIntermediario.ListaDestinatarios(); TransferenciaMensajes MENSAJE = new TransferenciaMensajes(); List<ListaDestinatarios> destino = new List<ListaDestinatarios>(); List<ServicioIntermediario.Archivo> archivosEnviarExterno = new List<ServicioIntermediario.Archivo>(); var idTipo = (int)SessionHelper.GetSessionData("TIPO_IDENTIFICACION_ENVIO"); var numero = (string)SessionHelper.GetSessionData("NUMERO_IDENTIFICACION_ENVIO"); #region Validacion Usuarios Externos Internos /** *recorremos toda lista validando los usuarios que son del sistema y los que no */ foreach (var data in usuarios) { if (data.mismo) { destino.Add(new ListaDestinatarios() { NumeroIdentificacion = data.numeroIdentificacion, tipoIdentificacion = data.idTIpoIdentificacion }); } { destinosExternos.Add(new ServicioIntermediario.ListaDestinatarios() { NumeroIdentificacion = data.numeroIdentificacion, tipoIdentificacion = data.idTIpoIdentificacion }); } } #endregion List<Archivo> archivosEnviar = new List<Archivo>(); List<string> archivos = FILENAMES.Split(',').Where(x => string.IsNullOrWhiteSpace(x) == false).ToList(); var fileControl = new FileControl(Int32.Parse("MaxFileSize".GetFromAppCfg())); DateTime FechaEnvio = DateTime.Now; byte[] datosArchivo = null; foreach (string nombreArchivo in archivos) { datosArchivo = fileControl.GetFileFromAntivirus(REPOSITORY, nombreArchivo); string DatosArchivoString = Convert.ToBase64String(datosArchivo); archivosEnviar.Add(new Archivo() { Contenido = DatosArchivoString, FechaCargueArchivo = FechaEnvio, FechaExpedicionArchivo = FechaEnvio, FechaVigencia = FechaEnvio, NombreArchivo = nombreArchivo, ArchivoExpedidoPor = "", }); } var usuario = (UsuarioOperador)SessionHelper.GetSessionData("USUARIO"); ListaDestinatarios origien = new ListaDestinatarios(); origien.tipoIdentificacion = usuario.tipoIdentificacion.Value; origien.NumeroIdentificacion = usuario.numeroIdentificacion; if (destinosExternos.Count() > 0) { foreach (var data in archivosEnviar) { archivosEnviarExterno.Add(new ServicioIntermediario.Archivo() { Contenido = data.Contenido, FechaCargueArchivo = data.FechaCargueArchivo, FechaExpedicionArchivo = data.FechaExpedicionArchivo, FechaVigencia = data.FechaVigencia, NombreArchivo = data.NombreArchivo, ArchivoExpedidoPor = "", }); } OrigenExtenos.tipoIdentificacion = usuario.tipoIdentificacion.Value; OrigenExtenos.NumeroIdentificacion = usuario.numeroIdentificacion; MensajeOtroOperadore.archivos = archivosEnviarExterno.ToArray(); MensajeOtroOperadore.Asunto = Asunto; MensajeOtroOperadore.Mensaje = cuerpoMensaje; MensajeOtroOperadore.destinatarios = destinosExternos.ToArray(); MensajeOtroOperadore.Origen = OrigenExtenos; MensajeOtroOperadore.NombreEnvia = usuario.Nombres + " " + usuario.Apellidos; try { var resultado = servicioMensajeriaExterno.RecibirMensajes(MensajeOtroOperadore); } catch (Exception ex) { } } MENSAJE.archivo = archivosEnviar; MENSAJE.Asunto = Asunto; MENSAJE.Mensaje = cuerpoMensaje; MENSAJE.destinatarios = destino; MENSAJE.Origen = origien; MENSAJE.NombreEnvia = usuario.Nombres + " " + usuario.Apellidos; GestorMensajeria gestor = new GestorMensajeria(); var resultadoEnvio = gestor.EnviarMensaje(MENSAJE); if (resultadoEnvio) { return new { OK = "OK", mensaje = "Se ha enviado el mensaje a los destinatarios Correctamente." }; } else { return new { OK = "fallo", mensaje = "Ha ocurrido un error inesperado por favor intentelo mas tarde." }; } #endregion } catch (Exception ex) { AppLog.Write(" Error obteniendo la informacion Inicial. ", AppLog.LogMessageType.Error, ex, "OperadorCarpeta"); return new { OK = "error", mensaje = "Ha ocurrido un error inesperado por favor intentelo mas tarde." }; } }