private bool notificarLiberacion(Documento objDocumento) { Console.WriteLine("Vamos a empezar a notificar por correo, ya para terminar, que ya me quiero echar otro sueño!"); System.Threading.Thread.Sleep(5000); Console.WriteLine("Vamos verificando la gente que el dueño de documento quiere que le notifiquemos."); System.Threading.Thread.Sleep(4000); //Declaramos una lista la cual almacenará todos los id's de los usuarios que se van a notificar. List <string> lUsuariosNotificar = new List <string>(); //Asignamos por default los id´s del dueño del documento así como del usuario que aprueba el documento. lUsuariosNotificar.Add(objDocumento.version.id_usuario_autorizo); lUsuariosNotificar.Add(objDocumento.version.id_usuario); //Declaramos una los con los usuarios que seleccionó el dueño de documento para notifcarles. ObservableCollection <DO_USUARIO_NOTIFICACION_VERSION> ListaUsuariosCorreoCompleta = DataManagerControlDocumentos.GetAllUsuariosNotificacionVersion(objDocumento.version.id_version); //Llenamos la lista con los id de los usuarios foreach (var item in ListaUsuariosCorreoCompleta) { lUsuariosNotificar.Add(item.id_usuario); } //Declaramos una lista con los usuarios suscritos a los cambios de este documento. ObservableCollection <DO_UsuarioSuscrito> ListaUsuariosSuscritos = DataManagerControlDocumentos.Get_UserSuscripDoc(objDocumento.id_documento); //Llenamos la lista con los id de los usuarios foreach (var item in ListaUsuariosSuscritos) { lUsuariosNotificar.Add(item.id_usuariosuscrito); } //Declaramos el vector el cual guardará los correos de los usuarios. string[] correos = new string[lUsuariosNotificar.Count]; int i = 0; //Iteramos la lista con los id´s de los usuarios para obtener el correo. foreach (var item in lUsuariosNotificar) { string correo = DataManagerControlDocumentos.GetCorreoUsuario(item); correos[i] = correo; i++; } //Eliminamos correos duplicados correos = Module.EliminarCorreosDuplicados(correos); Console.WriteLine("Ok, Ok, listo ya tengo la lista, deja empiezo a armar el correo..."); System.Threading.Thread.Sleep(3500); //Verificamos si son documentos Procedimientos y Formatos if (objDocumento.id_tipo_documento == 1003 || objDocumento.id_tipo_documento == 1005 || objDocumento.id_tipo_documento == 1006 || objDocumento.id_tipo_documento == 1012 || objDocumento.id_tipo_documento == 1013 || objDocumento.id_tipo_documento == 1014 || objDocumento.id_tipo_documento == 1011) { //Ejecutamos el método para obtener el id de la versión anterior int last_version = DataManagerControlDocumentos.GetID_LastVersion(objDocumento.id_documento, objDocumento.version.id_version); NotificarNuevaVersion(objDocumento, correos, last_version == 0 ? true : false); } else { string confirmacionCorreo = string.Empty; if (NotificarDocumentoDisponibleConSello(objDocumento, correos)) { //confirmacionCorreo = StringResources.msgNotificacionCorreo; confirmacionCorreo = "TODO: Mensaje de confirmación de correo"; } else { //confirmacionCorreo = StringResources.msgNotificacionCorreoFallida; confirmacionCorreo = "TODO:Mensaje de error al enviar correo"; } //await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgMatrizActualizada + "\n" + confirmacionCorreo); } Console.WriteLine("Todo Ok, a enviar ahora si el correo...."); System.Threading.Thread.Sleep(3000); Console.WriteLine("El correo se envió perrón!!"); System.Threading.Thread.Sleep(3000); return(true); }