// GET: Contactos public ActionResult Index() { try { ViewBag.userId = Session["Username"]; var lista = cont.ListarContactos().Where(x => x.Username == Session["Username"].ToString()); var contactos = Mapper.Map <List <Models.Contactos> >(lista); List <DATA.Lista_Negra> listaNegra = list_negra.ListarListaNegra(); var lista_Negra = Mapper.Map <List <Models.Lista_Negra> >(listaNegra); foreach (Models.Contactos a in contactos) { var varas = lista_Negra.Where(x => x.Id_Contacto == a.Id_Contacto).FirstOrDefault(); if (varas != null) { a.lista_negra = "Si"; } else { a.lista_negra = "No"; } } return(View(contactos)); } catch (Exception ex) { ViewBag.Mensaje = ex.Message; return(View()); } ViewBag.Rol = Session["Rol"].ToString(); }
public void enviarMensajes(string UserPhone, string accountSid, string authToken, string mensaje, int idLista, DATA.Difusiones difusion, string correoUsuario, string passwordCorreo) { try { difusion.Id_Estado = 2; dif.ActualizarDifusiones(difusion); List <DATA.Lista_Negra> listaNegra = listNegra.ListarListaNegra(); var lista_Negra = Mapper.Map <List <Models.Lista_Negra> >(listaNegra); TwilioClient.Init(accountSid, authToken); var contactos = conList.Listar().Where(x => x.Id_Lista == idLista); foreach (DATA.Contactos_Por_Listas infoContacto in contactos) { var noEnviar = lista_Negra.Where(x => x.Id_Contacto == infoContacto.Id_contacto).FirstOrDefault(); if (noEnviar == null) { Console.WriteLine("no esta en lista naegra: " + infoContacto.Id_contacto); DATA.Contactos contacto = con.BuscarContactos(infoContacto.Id_contacto); DATA.Historiales historial = new DATA.Historiales(); historial.Id_Difusion = difusion.Id_Difusion; historial.Id_Contacto = contacto.Id_Contacto; if (difusion.Id_Tipo_Mensaje == 1) { var message = MessageResource.Create( body: mensaje, from: new Twilio.Types.PhoneNumber("+" + UserPhone), statusCallback: new Uri(link + "/MessageStatus"), to: new Twilio.Types.PhoneNumber("+" + contacto.Numero) ); historial.Id_Message = message.Sid; historial.Estado = 6; } else { if (difusion.Id_Tipo_Mensaje == 2) { Debug.WriteLine("Voz"); Guid id = Guid.NewGuid(); XmlDocument doc = new XmlDocument(); doc.LoadXml("<?xml version=\"1.0\" encoding=\"UTF-8\"?><Response><Say voice=\"alice\" language=\"es-ES\">" + mensaje + "</Say></Response>"); String rootPath = Server.MapPath("~"); rootPath = rootPath + "\\Content\\xml\\" + id + ".xml"; doc.Save(rootPath); var call = CallResource.Create( method: Twilio.Http.HttpMethod.Get, url: new Uri(link + "/Content/xml/" + id + ".xml"), from: new Twilio.Types.PhoneNumber("+" + UserPhone), to: new Twilio.Types.PhoneNumber("+" + contacto.Numero), statusCallback: new Uri(link + "/LlamadasStatus") ); historial.Id_Message = call.Sid; historial.Estado = 6; } else { if (difusion.Id_Tipo_Mensaje == 3) { Debug.WriteLine("Correo"); MailMessage email = new MailMessage(); email.To.Add(new MailAddress(contacto.Correo)); email.From = new MailAddress("*****@*****.**"); email.Subject = "Asunto ( " + DateTime.Now.ToString("dd / MMM / yyy hh:mm:ss") + " ) "; email.Body = mensaje; email.IsBodyHtml = true; email.Priority = MailPriority.Normal; SmtpClient smtp = new SmtpClient(); smtp.Host = "Smtp.Gmail.com"; smtp.Port = 587; smtp.EnableSsl = true; smtp.UseDefaultCredentials = false; smtp.Credentials = new NetworkCredential(correoUsuario, passwordCorreo); //string output = null; historial.Id_Message = "--"; try { smtp.Send(email); email.Dispose(); //output = "Corre electrónico fue enviado satisfactoriamente."; historial.Estado = 4; } catch (Exception ex) { //output = "Error enviando correo electrónico: " + ex.Message; historial.Estado = 7; } } } } his.InsertarHistoriales(historial); } else { Console.WriteLine("esta en lista naegra: " + infoContacto.Id_contacto); } } difusion.Id_Estado = 3; dif.ActualizarDifusiones(difusion); } catch (Exception ex) { ViewBag.Mensaje = ex.Message; } }