public bool EnviarMensaje(TransferenciaMensajes mensajes) { BandejaNotificacionesDAO dao = new BandejaNotificacionesDAO(); DocumentosAdjuntosDao daoDocumentosAdjuntos = new DocumentosAdjuntosDao(); var tipoDocumental = new tipoDocumentalDao().obtenerTipoLogiaDocumental("500001"); List<tblBandejaNotificaciones> listaInsertMensajes = new List<tblBandejaNotificaciones>(); var enviarA = mensajes.destinatarios; List<tbl_usuarios> ListaUsuarios = new List<tbl_usuarios>(); tbl_usuarios idOrigen = new tbl_usuarios(); DaoUsuario daoUsuarios = new DaoUsuario(); bool adjunto = mensajes.archivos.Count() > 0 ? true : false; var fechaEnvio = DateTime.Now; idOrigen = daoUsuarios.obtenerIdentficadorUnicoUsuario(mensajes.Origen.tipoIdentificacion, mensajes.Origen.NumeroIdentificacion); string Destinos = string.Empty; string usuarioOrigen = mensajes.NombreEnvia; foreach (var data in enviarA) { var usuario = daoUsuarios.obtenerIdentficadorUnicoUsuario(data.tipoIdentificacion, data.NumeroIdentificacion); Destinos = PrefijoEnumTIPO_IDENTIFICACION.EnumToTIPO_IDENTIFICACION(Convert.ToInt32( usuario.tipoIdentificacion)) + usuario.numeroIdentificacion + ","; ListaUsuarios.Add(usuario); } if (Destinos.EndsWith(",")) { Destinos = Destinos.Substring(0, Destinos.Length - 1); } foreach (var data in ListaUsuarios) { listaInsertMensajes.Add(new tblBandejaNotificaciones() { idBandejaNotificacionPadre = null, userIdAplicacionDestino = data.userIdApplicacion, NombreEnvia = mensajes.NombreEnvia, userIdAplicacionOrigen = idOrigen.userIdApplicacion, Destinatarios =Destinos, fechaEnvio = fechaEnvio, Mensaje = mensajes.Mensaje, Asunto = mensajes.Asunto, Estado = 1, tamanio = "",// mensaje.tamanio Adjunto = adjunto, }); } var resultadoInsertarMensaje = dao.EnviarMensaje(listaInsertMensajes); #region Guardar Documentos En las carpetas de los usuarios var fileControl = new Uniandes.FileControl.FileControl(Int32.Parse("MaxFileSize".GetFromAppCfg())); List<tbl_metadataArchivos> listaMetadatos = new List<tbl_metadataArchivos>(); MetadataArchivoDao daoMetadata = new MetadataArchivoDao(); CarpetaPersonalDao daoCarpetaPersonal = new CarpetaPersonalDao(); foreach (var usuarios in ListaUsuarios) { var idCarpeta = daoCarpetaPersonal.obtenerIdCarpeta(usuarios.userIdApplicacion, "ADJUNTOS"); listaMetadatos = new List<tbl_metadataArchivos>(); foreach (var archivos in mensajes.archivos) { fileControl.CopyStringByteFileToRepositorio(usuarios.repositorioKey, @"" + usuarios.carpetaUsuarioInicial + "/Adjuntos", archivos.Contenido, archivos.NombreArchivo); string ext = System.IO.Path.GetExtension(archivos.NombreArchivo).ToLower(); listaMetadatos.Add(new tbl_metadataArchivos() { idDMtadataArchivo = Guid.NewGuid(), autor = usuarioOrigen, userIdApplicacion = usuarios.userIdApplicacion, extension = ext, nombre_generado = archivos.NombreArchivo, fecha_Cargue = Convert.ToDateTime(archivos.FechaCargueArchivo), fecha_modificacion = Convert.ToDateTime(archivos.FechaCargueArchivo), idTipoDocumento = tipoDocumental, tamanio = "", nombre = archivos.NombreArchivo, idCarpetaPersonal = idCarpeta }); } var resultadoGuardardatos = daoMetadata.RegistrarListaMetadataArchivo(listaMetadatos); List<tblDocumentosAdjuntos> almacenarAdjuntos = new List<tblDocumentosAdjuntos>(); var idMensaje = listaInsertMensajes.Where(x => x.userIdAplicacionDestino == usuarios.userIdApplicacion).First().idBandejaNotificaciones; foreach (var lista in listaMetadatos) { almacenarAdjuntos.Add(new tblDocumentosAdjuntos() { idDMetadaArchivo = lista.idDMtadataArchivo, idBandejaNotificaciones = idMensaje }); } daoDocumentosAdjuntos.RegistrarListaMetadataArchivo(almacenarAdjuntos); } #endregion return true; }
/// <summary> /// /// </summary> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <param name="pageCount"></param> /// <param name="isSearch"></param> /// <param name="searchField"></param> /// <param name="searchString"></param> /// <param name="searchOper"></param> /// <returns></returns> private static GridData _getListListConPaginacionServicios(int pageIndex, int pageSize, int pageCount, bool isSearch, string searchField, string searchString, string searchOper) { try { int totalRecords = 0; if (SessionHelper.GetSessionData("USUARIO_AUTENTICADO") == null) { return new GridData { page = pageIndex, total = (int)Math.Ceiling((double)totalRecords / (double)pageSize), records = totalRecords, rows = new List<GridRow>(), userMessage = "Su Sesion Ha finalizado por favor ingrese nuevamente.", logMessage = "Carga satisfactoria...", status = Status.INVALID }; } string usuarioActual = (string)SessionHelper.GetSessionData("USUARIO_AUTENTICADO"); BandejaNotificacionesDAO bandejaDAO = new BandejaNotificacionesDAO(); var resultado = bandejaDAO.ObtenerPlanes(pageIndex, pageSize, ref totalRecords, usuarioActual); if (totalRecords == 0) { return new GridData { page = pageIndex, total = (int)Math.Ceiling((double)totalRecords / (double)pageSize), records = totalRecords, rows = new List<GridRow>(), userMessage = "Se han cargado los datos con éxito.", logMessage = "Carga satisfactoria...", status = Status.OK }; } else { List<GridRow> listProcesos = new List<GridRow>(); foreach (var proceso in resultado) { listProcesos.Add( new GridRow() { id = proceso.idBandejaNotificaciones.ToString(), cell = new List<object>(){ proceso.idBandejaNotificaciones.ToString(), proceso.NombreEnvia, proceso.fechaEnvio.ToString("dd-MM-yyyy hh:mm"), proceso.Asunto, proceso.Adjunto, proceso.Destinatarios, proceso.Mensaje } }); } /// Con la información de los procesos y de la consulta se ensambla el objeto GridData de respuesta. /// return new GridData { page = pageIndex, total = (int)Math.Ceiling((double)totalRecords / (double)pageSize), records = totalRecords, rows = listProcesos, userMessage = "Se han cargado los datos con éxito.", logMessage = "Carga satisfactoria...", status = Status.OK }; } } catch (Exception ex) { AppLog.Write(" Error consultando la informacion de proyectos ", AppLog.LogMessageType.Error, ex, "BansatLog"); return new GridData { page = pageIndex, total = default(int), records = default(int), rows = new List<GridRow>(), userMessage = "Se han cargado los datos con éxito.", logMessage = "Carga satisfactoria...", status = Status.OK }; } }