Beispiel #1
0
        public ActionResult Index()
        {
            ViewBag.Rol = Session["Rol"].ToString();
            try
            {
                ViewBag.userId = Session["Username"];
                DATA.Telefonos telefono = new DATA.Telefonos();
                telefono = tel.ListarTelefonos().Where(x => x.Username == Session["Username"].ToString()).FirstOrDefault();
                var personasConComunicacion = com.ListarComunicaciones().Where(x => x.Numero_Twilio == telefono.Numero).Select(x => x.Id_Contacto).Distinct();
                var lista     = cont.ListarContactos().Where(x => x.Username == Session["Username"].ToString()).Where(x => personasConComunicacion.Contains(x.Id_Contacto));
                var contactos = Mapper.Map <List <Models.Contactos> >(lista);

                foreach (Models.Contactos a in contactos)
                {
                    var per = com.ListarComunicaciones().Where(x => x.Numero_Twilio == telefono.Numero).Where(x => x.Id_Contacto == a.Id_Contacto).Where(x => x.Estado == 6).FirstOrDefault();
                    if (per != null)
                    {
                        a.lista_negra = "Si";
                    }
                    else
                    {
                        a.lista_negra = "No";
                    }
                }

                return(View(contactos));
            }
            catch (Exception ex)
            {
                ViewBag.Mensaje = ex.Message;
                return(View());
            }
        }
Beispiel #2
0
        public ActionResult Index()
        {
            try
            {
                string cuerpoDeRespuesta           = Request.Form["Body"];
                string remitente                   = Request.Form["From"];
                string emisor                      = Request.Form["To"];
                var    dateNow                     = DateTime.Now;
                DATA.Comunicaciones comunicaciones = new DATA.Comunicaciones();
                DATA.Contactos      contacto       = new DATA.Contactos();
                contacto = con.ListarContactos().Where(x => x.Numero == remitente.Replace("+", "")).FirstOrDefault();
                comunicaciones.Id_Contacto   = contacto.Id_Contacto;
                comunicaciones.Numero_Twilio = emisor.Replace("+", "");
                comunicaciones.Mensaje       = cuerpoDeRespuesta;
                comunicaciones.Estado        = 6;
                comunicaciones.Fecha         = dateNow;
                com.InsertarComunicaciones(comunicaciones);

                var logMessage = $"\"{cuerpoDeRespuesta}\", \"{remitente}\", \"{emisor}\"";
                Trace.WriteLine(logMessage);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            return(Content("Handled"));
        }
        // 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();
        }
Beispiel #4
0
        public ActionResult UserDashboard()
        {
            int contactos;
            int sms;
            int llamadas;
            int correos;

            if (Session["Rol"].ToString() == "2")
            {
                contactos = cont.ListarContactos().Count();
                ViewBag.totalContactos = contactos;

                sms = difu.ListarDifusines().Where(x => x.Id_Tipo_Mensaje == 1).Count();
                ViewBag.totalSMS = sms;

                llamadas = difu.ListarDifusines().Where(x => x.Id_Tipo_Mensaje == 2).Count();
                ViewBag.totalLlamadas = llamadas;

                correos = difu.ListarDifusines().Where(x => x.Id_Tipo_Mensaje == 3).Count();
                ViewBag.totalLCorreos = correos;

                var listaDifusiones = difu.CantidadDifusiones();
                Console.WriteLine(listaDifusiones);
                var dif = Mapper.Map <List <Models.Difusiones> >(listaDifusiones);


                foreach (Models.Difusiones a in dif)
                {
                    Console.WriteLine("Estado:" + a.Descripcion + " Cantidad:" + a.Id_Estado);
                }


                /*Grafico Pie Difusiones */
                int cantidadDifu = difu.ListarDifusines().Count();
                if (cantidadDifu > 0)
                {
                    List <DATA.Difusiones> listadifusiones = Mapper.Map <List <DATA.Difusiones> >(difu.ListarDifusines());
                    var difusiones = listadifusiones.Select(x => x.Id_Estado).Distinct();

                    List <dataChart> listaDifusion = new List <dataChart>();
                    foreach (var item in difusiones)
                    {
                        listaDifusion.Add(new dataChart(Int32.Parse(listadifusiones.Count(x => x.Id_Estado == item).ToString()), est.ListarEstados().Where(x => x.Id == item).Select(x => x.Descripcion).First().ToString()));
                    }

                    ViewBag.group = est.ListarEstados().Select(x => x.Descripcion).Distinct();
                    ViewBag.data  = listaDifusion.ToList();
                }
                else
                {
                    ViewBag.cantidadDifu = 0;
                    ViewBag.group        = null;
                    ViewBag.data         = null;
                }
                /*Fin Grafico Pie Difusiones */

                /*Sacando el estado de los mensajes de la última difusión de tipo texto (1)*/
                try
                {
                    int    maximaDifusion = difu.ListarDifusines().Where(x => x.Id_Tipo_Mensaje == 1).Select(x => x.Id_Difusion).Max();
                    string nombreDifusion = difu.BuscarDifusiones(maximaDifusion).Descripcion;
                    List <DATA.Historiales> listahistoriales = Mapper.Map <List <DATA.Historiales> >(his.ListarHistoriales().Where(x => x.Id_Difusion == maximaDifusion));
                    var historiales = listahistoriales.Select(x => x.Estado).Distinct();

                    List <dataChart> listaHistoriales = new List <dataChart>();
                    foreach (var item in historiales)
                    {
                        listaHistoriales.Add(new dataChart(Int32.Parse(listahistoriales.Count(x => x.Estado == item).ToString()), est.ListarEstados().Where(x => x.Id == item).Select(x => x.Descripcion).First().ToString()));
                    }

                    ViewBag.group1  = est.ListarEstados().Select(x => x.Descripcion).Distinct();
                    ViewBag.data1   = listaHistoriales.ToList();
                    ViewBag.nombre1 = nombreDifusion;
                }
                catch (Exception e)
                {
                    ViewBag.group1  = null;
                    ViewBag.data1   = null;
                    ViewBag.nombre1 = null;
                }
                /*Termina el de tipo texto (1)*/
                /*Sacando el estado de los mensajes de la última difusión de tipo voz (2)*/
                try
                {
                    int    maximaDifusion = difu.ListarDifusines().Where(x => x.Id_Tipo_Mensaje == 2).Select(x => x.Id_Difusion).Max();
                    string nombreDifusion = difu.BuscarDifusiones(maximaDifusion).Descripcion;
                    List <DATA.Historiales> listahistoriales = Mapper.Map <List <DATA.Historiales> >(his.ListarHistoriales().Where(x => x.Id_Difusion == maximaDifusion));
                    var historiales = listahistoriales.Select(x => x.Estado).Distinct();

                    List <dataChart> listaHistoriales = new List <dataChart>();
                    foreach (var item in historiales)
                    {
                        listaHistoriales.Add(new dataChart(Int32.Parse(listahistoriales.Count(x => x.Estado == item).ToString()), est.ListarEstados().Where(x => x.Id == item).Select(x => x.Descripcion).First().ToString()));
                    }

                    ViewBag.group2  = est.ListarEstados().Select(x => x.Descripcion).Distinct();
                    ViewBag.data2   = listaHistoriales.ToList();
                    ViewBag.nombre2 = nombreDifusion;
                }
                catch (Exception e)
                {
                    ViewBag.group2  = null;
                    ViewBag.data2   = null;
                    ViewBag.nombre2 = null;
                }
                /*Termina el de tipo voz (2)*/
                /*Sacando el estado de los mensajes de la última difusión de tipo correo (3)*/
                try
                {
                    int    maximaDifusion = difu.ListarDifusines().Where(x => x.Id_Tipo_Mensaje == 3).Select(x => x.Id_Difusion).Max();
                    string nombreDifusion = difu.BuscarDifusiones(maximaDifusion).Descripcion;
                    List <DATA.Historiales> listahistoriales = Mapper.Map <List <DATA.Historiales> >(his.ListarHistoriales().Where(x => x.Id_Difusion == maximaDifusion));
                    var historiales = listahistoriales.Select(x => x.Estado).Distinct();

                    List <dataChart> listaHistoriales = new List <dataChart>();
                    foreach (var item in historiales)
                    {
                        listaHistoriales.Add(new dataChart(Int32.Parse(listahistoriales.Count(x => x.Estado == item).ToString()), est.ListarEstados().Where(x => x.Id == item).Select(x => x.Descripcion).First().ToString()));
                    }

                    ViewBag.group3  = est.ListarEstados().Select(x => x.Descripcion).Distinct();
                    ViewBag.data3   = listaHistoriales.ToList();
                    ViewBag.nombre3 = nombreDifusion;
                }
                catch (Exception e)
                {
                    ViewBag.group3  = null;
                    ViewBag.data3   = null;
                    ViewBag.nombre3 = null;
                }
                /*Termina el de tipo correo (3)*/

                /*Grafico 4 - Reporte Clientes Activos*/
                try
                {
                    int cantidadActivos = rep.ListarReporteclientesactivos().Count();

                    var lista   = rep.ListarReporteclientesactivos();
                    var reporte = Mapper.Map <List <Models.Reporteclientesactivos> >(lista);


                    foreach (Models.Reporteclientesactivos a in reporte)
                    {
                        Console.WriteLine("Cliente:" + a.Nombre + " Cantidad:" + a.Cantidad);
                    }

                    List <DATA.Reporteclientesactivos> listareportes = rep.ListarReporteclientesactivos();
                    var reporteslistados = listareportes.Select(x => x.Id_Contacto).Distinct();

                    List <dataChart> listaReporte = new List <dataChart>();
                    foreach (var item in reporteslistados)
                    {
                        listaReporte.Add(new dataChart(rep.ListarReporteclientesactivos().Where(x => x.Id_Contacto == item).Select(x => x.Cantidad).First(),
                                                       cont.ListarContactos().Where(x => x.Id_Contacto == item).Select(x => x.Nombre).First().ToString()));
                    }
                    ViewBag.group4  = cont.ListarContactos().Select(x => x.Nombre).Distinct();
                    ViewBag.data4   = listaReporte.ToList();
                    ViewBag.nombre4 = cantidadActivos;
                }
                catch (Exception e)
                {
                    ViewBag.group4  = null;
                    ViewBag.data4   = null;
                    ViewBag.nombre4 = 0;
                }
                /*Fin de Grafico 4*/

                /*Table Contactos*/
                try
                {
                    var lista2     = cont.ListarContactos();
                    var contactos2 = Mapper.Map <List <Models.Contactos> >(lista2);

                    return(View(contactos2));
                }
                catch (Exception)
                {
                    ModelState.AddModelError("error", "No se ha podido mostrar la tabla");
                }
            }
            else
            if (Session["Rol"].ToString() == "1")
            {
                contactos = cont.ListarContactos().Where(x => x.Username == Session["Username"].ToString()).Count();
                ViewBag.totalContactos = contactos;

                sms = difu.ListarDifusines().Where(x => x.Username == Session["Username"].ToString() && x.Id_Tipo_Mensaje == 1).Count();
                ViewBag.totalSMS = sms;

                llamadas = difu.ListarDifusines().Where(x => x.Username == Session["Username"].ToString() && x.Id_Tipo_Mensaje == 2).Count();
                ViewBag.totalLlamadas = llamadas;

                correos = difu.ListarDifusines().Where(x => x.Username == Session["Username"].ToString() && x.Id_Tipo_Mensaje == 3).Count();
                ViewBag.totalLCorreos = correos;

                var listaDifusiones = difu.CantidadDifusiones();
                Console.WriteLine(listaDifusiones);
                var dif = Mapper.Map <List <Models.Difusiones> >(listaDifusiones);


                foreach (Models.Difusiones a in dif)
                {
                    Console.WriteLine("Estado:" + a.Descripcion + " Cantidad:" + a.Id_Estado);
                }
                /*Grafico Pie Difusiones */
                int cantidadDifu = difu.ListarDifusines().Where(x => x.Username == Session["Username"].ToString()).Count();
                if (cantidadDifu > 0)
                {
                    List <DATA.Difusiones> listadifusiones = Mapper.Map <List <DATA.Difusiones> >(difu.ListarDifusines().Where(x => x.Username == Session["Username"].ToString()));
                    var difusiones = listadifusiones.Select(x => x.Id_Estado).Distinct();

                    List <dataChart> listaDifusion = new List <dataChart>();
                    foreach (var item in difusiones)
                    {
                        listaDifusion.Add(new dataChart(Int32.Parse(listadifusiones.Count(x => x.Id_Estado == item).ToString()), est.ListarEstados().Where(x => x.Id == item).Select(x => x.Descripcion).First().ToString()));
                    }

                    ViewBag.group = est.ListarEstados().Select(x => x.Descripcion).Distinct();
                    ViewBag.data  = listaDifusion.ToList();
                }
                else
                {
                    ViewBag.cantidadDifu = 0;
                    ViewBag.group        = null;
                    ViewBag.data         = null;
                }
                /*Fin Grafico Pie Difusiones */

                /*Sacando el estado de los mensajes de la última difusión de tipo texto (1)*/
                try
                {
                    int    maximaDifusion = difu.ListarDifusines().Where(x => x.Id_Tipo_Mensaje == 1).Where(x => x.Username == Session["Username"].ToString()).Select(x => x.Id_Difusion).Max();
                    string nombreDifusion = difu.BuscarDifusiones(maximaDifusion).Descripcion;
                    List <DATA.Historiales> listahistoriales = Mapper.Map <List <DATA.Historiales> >(his.ListarHistoriales().Where(x => x.Id_Difusion == maximaDifusion));
                    var historiales = listahistoriales.Select(x => x.Estado).Distinct();

                    List <dataChart> listaHistoriales = new List <dataChart>();
                    foreach (var item in historiales)
                    {
                        listaHistoriales.Add(new dataChart(Int32.Parse(listahistoriales.Count(x => x.Estado == item).ToString()), est.ListarEstados().Where(x => x.Id == item).Select(x => x.Descripcion).First().ToString()));
                    }

                    ViewBag.group1  = est.ListarEstados().Select(x => x.Descripcion).Distinct();
                    ViewBag.data1   = listaHistoriales.ToList();
                    ViewBag.nombre1 = nombreDifusion;
                }
                catch (Exception e)
                {
                    ViewBag.group1  = null;
                    ViewBag.data1   = null;
                    ViewBag.nombre1 = null;
                }
                /*Termina el de tipo texto (1)*/
                /*Sacando el estado de los mensajes de la última difusión de tipo voz (2)*/
                try
                {
                    int    maximaDifusion = difu.ListarDifusines().Where(x => x.Id_Tipo_Mensaje == 2).Where(x => x.Username == Session["Username"].ToString()).Select(x => x.Id_Difusion).Max();
                    string nombreDifusion = difu.BuscarDifusiones(maximaDifusion).Descripcion;
                    List <DATA.Historiales> listahistoriales = Mapper.Map <List <DATA.Historiales> >(his.ListarHistoriales().Where(x => x.Id_Difusion == maximaDifusion));
                    var historiales = listahistoriales.Select(x => x.Estado).Distinct();

                    List <dataChart> listaHistoriales = new List <dataChart>();
                    foreach (var item in historiales)
                    {
                        listaHistoriales.Add(new dataChart(Int32.Parse(listahistoriales.Count(x => x.Estado == item).ToString()), est.ListarEstados().Where(x => x.Id == item).Select(x => x.Descripcion).First().ToString()));
                    }

                    ViewBag.group2  = est.ListarEstados().Select(x => x.Descripcion).Distinct();
                    ViewBag.data2   = listaHistoriales.ToList();
                    ViewBag.nombre2 = nombreDifusion;
                }
                catch (Exception e)
                {
                    ViewBag.group2  = null;
                    ViewBag.data2   = null;
                    ViewBag.nombre2 = null;
                }
                /*Termina el de tipo voz (2)*/


                /*Sacando el estado de los mensajes de la última difusión de tipo correo (3)*/
                try
                {
                    int    maximaDifusion = difu.ListarDifusines().Where(x => x.Id_Tipo_Mensaje == 3).Where(x => x.Username == Session["Username"].ToString()).Select(x => x.Id_Difusion).Max();
                    string nombreDifusion = difu.BuscarDifusiones(maximaDifusion).Descripcion;
                    List <DATA.Historiales> listahistoriales = Mapper.Map <List <DATA.Historiales> >(his.ListarHistoriales().Where(x => x.Id_Difusion == maximaDifusion));
                    var historiales = listahistoriales.Select(x => x.Estado).Distinct();

                    List <dataChart> listaHistoriales = new List <dataChart>();
                    foreach (var item in historiales)
                    {
                        listaHistoriales.Add(new dataChart(Int32.Parse(listahistoriales.Count(x => x.Estado == item).ToString()), est.ListarEstados().Where(x => x.Id == item).Select(x => x.Descripcion).First().ToString()));
                    }

                    ViewBag.group3  = est.ListarEstados().Select(x => x.Descripcion).Distinct();
                    ViewBag.data3   = listaHistoriales.ToList();
                    ViewBag.nombre3 = nombreDifusion;
                }
                catch (Exception e)
                {
                    ViewBag.group3  = null;
                    ViewBag.data3   = null;
                    ViewBag.nombre3 = null;
                }
                /*Termina el de tipo correo (3)*/

                /*Grafico 4 - Reporte Clientes Activos*/
                try
                {
                    int cantidadActivos = rep.ListarReporteclientesactivos().Where(x => x.Username == Session["Username"].ToString()).Count();

                    var lista   = rep.ListarReporteclientesactivos().Where(x => x.Username == Session["Username"].ToString());
                    var reporte = Mapper.Map <List <Models.Reporteclientesactivos> >(lista.Where(x => x.Username == Session["Username"].ToString()));


                    foreach (Models.Reporteclientesactivos a in reporte)
                    {
                        Console.WriteLine("Cliente:" + a.Nombre + " Cantidad:" + a.Cantidad);
                    }

                    List <DATA.Reporteclientesactivos> listareportes = rep.ListarReporteclientesactivos();
                    var reporteslistados = listareportes.Select(x => x.Id_Contacto).Distinct();

                    List <dataChart> listaReporte = new List <dataChart>();
                    foreach (var item in reporteslistados)
                    {
                        listaReporte.Add(new dataChart(rep.ListarReporteclientesactivos().Where(x => x.Username == Session["Username"].ToString() && x.Id_Contacto == item).Select(x => x.Cantidad).First(),
                                                       cont.ListarContactos().Where(x => x.Id_Contacto == item).Select(x => x.Nombre).First().ToString()));
                    }
                    ViewBag.group4  = cont.ListarContactos().Select(x => x.Nombre).Distinct();
                    ViewBag.data4   = listaReporte.ToList();
                    ViewBag.nombre4 = cantidadActivos;
                }
                catch (Exception e)
                {
                    ViewBag.group4  = null;
                    ViewBag.data4   = null;
                    ViewBag.nombre4 = 0;
                }
                /*Fin de Grafico 4*/

                /*Table Contactos*/
                try
                {
                    var lista2     = cont.ListarContactos().Where(x => x.Username == Session["Username"].ToString());
                    var contactos2 = Mapper.Map <List <Models.Contactos> >(lista2);

                    return(View(contactos2));
                }
                catch (Exception)
                {
                    ModelState.AddModelError("error", "No se ha podido mostrar la tabla");
                }
            }
            ViewBag.Rol = Session["Rol"].ToString();
            return(View());
        }