Example #1
0
        public string GetTestigosParticipacion(int iDisplayStart, int iDisplayLength, int sEcho, int iSortCol_0,
            string sSortDir_0, string id_centro)
        {
            var dth = new DataTableHelper();
            var db = new edayRoomEntities();
            var centros =   from c in db.Centroes
                     from t in db.PadronElectoralParticipacions
                     where c.unique_id == t.id_centro &&
                            id_centro == c.unique_id
                     select new {c, t};

            dth.iTotalRecords = centros.Count();

            dth.iTotalDisplayRecords = centros.Count();

               dth.sEcho = sEcho;

            var centroList = centros.ToList();

            dth.aaData = centroList.Select(c => new List<string>
                                                 {
                                                     c.c.unique_id,
                                                     c.c.Nombre,
                                                     c.c.unidadGeografica1,
                                                     c.c.unidadGeografica2,
                                                     c.c.unidadGeografica3,
                                                     c.t.id_mesa,
                                                     c.t.nombre,
                                                     c.t.telefono
                                                }).Skip(iDisplayStart).Take(iDisplayLength).ToList();

            return
                new
                    JavaScriptSerializer().Serialize(dth);
        }
Example #2
0
        public string GetAllUsuariosPaginate(int iDisplayStart, int iDisplayLength, int sEcho, int iSortCol_0,
            string sSortDir_0, string sSearch)
        {
            var dth = new DataTableHelper();
            var db = new edayRoomEntities();
            IQueryable<user> usuarios = from u in db.users
                                        select u;

            dth.iTotalRecords = usuarios.Count();

            #region Filtros

            sSearch = sSearch.ToLower();
            if (!string.IsNullOrWhiteSpace(sSearch))
            {
                usuarios = usuarios.Where(u =>
                                          u.username.ToLower().Contains(sSearch) ||
                                          u.nombre.ToLower().Contains(sSearch) ||
                                          u.apellido.ToLower().Contains(sSearch));
            }

            #endregion

            dth.iTotalDisplayRecords = usuarios.Count();
            usuarios = usuarios.OrderBy(u => u.username);

            #region Sorting de registros

            switch (sSortDir_0)
            {
                case "asc":
                    switch (iSortCol_0)
                    {
                        case 0:
                            usuarios = usuarios.OrderBy(u => u.username);
                            break;
                        case 1:
                            usuarios = usuarios.OrderBy(u => u.nombre);
                            break;
                        case 2:
                            usuarios = usuarios.OrderBy(u => u.apellido);
                            break;
                        case 3:
                            usuarios = usuarios.OrderBy(u => u.grupo);
                            break;
                        case 4:
                            usuarios = usuarios.OrderBy(u => u.admin);
                            break;
                        case 5:
                            usuarios = usuarios.OrderBy(u => u.participacion);
                            break;
                        case 6:
                            usuarios = usuarios.OrderBy(u => u.movilizacion);
                            break;
                        case 7:
                            usuarios = usuarios.OrderBy(u => u.exitpolls);
                            break;
                        case 8:
                            usuarios = usuarios.OrderBy(u => u.quickcount);
                            break;
                        case 9:
                            usuarios = usuarios.OrderBy(u => u.totalizacion);
                            break;
                    }
                    break;
                case "desc":
                    switch (iSortCol_0)
                    {
                        case 0:
                            usuarios = usuarios.OrderByDescending(u => u.username);
                            break;
                        case 1:
                            usuarios = usuarios.OrderByDescending(u => u.nombre);
                            break;
                        case 2:
                            usuarios = usuarios.OrderByDescending(u => u.apellido);
                            break;
                        case 3:
                            usuarios = usuarios.OrderByDescending(u => u.grupo);
                            break;
                        case 4:
                            usuarios = usuarios.OrderByDescending(u => u.admin);
                            break;
                        case 5:
                            usuarios = usuarios.OrderByDescending(u => u.participacion);
                            break;
                        case 6:
                            usuarios = usuarios.OrderByDescending(u => u.movilizacion);
                            break;
                        case 7:
                            usuarios = usuarios.OrderByDescending(u => u.exitpolls);
                            break;
                        case 8:
                            usuarios = usuarios.OrderByDescending(u => u.quickcount);
                            break;
                        case 9:
                            usuarios = usuarios.OrderByDescending(u => u.totalizacion);
                            break;
                    }
                    break;
            }

            #endregion

            dth.sEcho = sEcho;

            var ulist = usuarios.Select(u => new
                                                 {
                                                     u.username,
                                                     u.nombre,
                                                     u.apellido,
                                                     u.grupo,
                                                     admin = u.admin ? "si" : "no",
                                                     leader = u.leader ? "si" : "no",
                                                     participacion = u.participacion ? "si" : "no",
                                                     movilizacion = u.movilizacion ? "si" : "no",
                                                     exitpolls = u.exitpolls ? "si" : "no",
                                                     quickcount = u.quickcount ? "si" : "no",
                                                     totalizacion = u.totalizacion ? "si" : "no",
                                                     dashboard = u.dashboard ? "si" : "no"
                                                 }).ToList();
            List<List<string>> users = ulist.Select(u => new List<string>
                                                             {
                                                                 u.username,
                                                                 u.nombre,
                                                                 u.apellido,
                                                                 u.grupo,
                                                                 u.admin,
                                                                 u.leader,
                                                                 u.participacion,
                                                                 u.movilizacion,
                                                                 u.exitpolls,
                                                                 u.quickcount,
                                                                 u.totalizacion,
                                                                 u.dashboard
                                                             }).ToList();
            dth.aaData = users.Skip(iDisplayStart).Take(iDisplayLength).ToList();

            return new JavaScriptSerializer().Serialize(dth);
        }
Example #3
0
        public string GetCentros(int iDisplayStart, int iDisplayLength, int sEcho, int iSortCol_0, string sSortDir_0,
            string sSearch)
        {
            var dth = new DataTableHelper();
            var db = new edayRoomEntities();
            user user = db.users.Single(u => u.username == User.Identity.Name);
            IQueryable<Centro> centros = from c in db.Centroes
                                         where
                                             (user.admin ||
                                                (user.leader && c.grupo == user.grupo) ||

                                              c.Mesas1.Any(
                                                  m => m.AsignacionParticipacions.Any(ap => ap.id_user == user.id)))
                                         select c;

            dth.iTotalRecords = centros.Count();
            if (!string.IsNullOrEmpty(sSearch))
            {
                centros = centros.Where(c =>
                                        c.Nombre.ToLower().Contains(sSearch.ToLower()) ||
                                        (c.unidadGeografica1 ?? "").ToLower().Contains(sSearch.ToLower()) ||
                                        (c.unidadGeografica2 ?? "").ToLower().Contains(sSearch.ToLower()) ||
                                        (c.unidadGeografica3 ?? "").ToLower().Contains(sSearch.ToLower()) ||
                                        (c.unidadGeografica4 ?? "").ToLower().Contains(sSearch.ToLower()) ||
                                        (c.unidadGeografica5 ?? "").ToLower().Contains(sSearch.ToLower()) ||
                                        (c.unidadGeografica6 ?? "").ToLower().Contains(sSearch.ToLower()) ||
                                        (c.unidadGeografica7 ?? "").ToLower().Contains(sSearch.ToLower()) ||
                                        (c.unidadGeografica8 ?? "").ToLower().Contains(sSearch.ToLower()) ||
                                        c.Direccion.ToLower().Contains(sSearch.ToLower())
                    );
            }
            dth.iTotalDisplayRecords = centros.Count();

            #region ORDER ALERTAS

            switch (sSortDir_0)
            {
                case "asc":
                    switch (iSortCol_0)
                    {
                        case 0:
                            centros = centros.OrderBy(c => c.Nombre);
                            break;
                        case 1:
                            centros = centros.OrderBy(c => c.unidadGeografica1);
                            break;
                        case 2:
                            centros = centros.OrderBy(c => c.unidadGeografica2);
                            break;
                        case 3:
                            centros = centros.OrderBy(c => c.unidadGeografica3);
                            break;
                        case 4:
                            centros = centros.OrderBy(c => c.votantes);
                            break;
                        case 5:
                            centros = centros.OrderBy(c => c.Mesas1.Sum(m => m.Participacions.Max(p => p.conteo)));
                            break;
                    }
                    break;
                case "desc":
                    switch (iSortCol_0)
                    {
                        case 0:
                            centros = centros.OrderByDescending(c => c.Nombre);
                            break;
                        case 1:
                            centros = centros.OrderByDescending(c => c.unidadGeografica1);
                            break;
                        case 2:
                            centros = centros.OrderByDescending(c => c.unidadGeografica2);
                            break;
                        case 3:
                            centros = centros.OrderByDescending(c => c.unidadGeografica3);
                            break;
                        case 4:
                            centros = centros.OrderByDescending(c => c.votantes);
                            break;
                        case 5:
                            centros = centros.OrderByDescending(c => c.Mesas1.Sum(m => m.Participacions.Max(p => p.conteo)));
                            break;
                    }

                    break;
            }

            #endregion

            dth.sEcho = sEcho;
            List<Centro> clist = centros.Select(c => c).Skip(iDisplayStart).Take(iDisplayLength).ToList();

            dth.aaData = new List<List<string>>();

            foreach (var l in clist.Select(c => new List<string>
                                                    {
                                                        string.Format(
                                                            "<a href='#centro={0}' centro-id='{0}' " +
                                                            "class='centro-link'>{1}</a>",
                                                            c.id, c.Nombre),
                                                        c.unidadGeografica1,
                                                        c.unidadGeografica2,
                                                        c.unidadGeografica3,
                                                        c.votantes + "",
                                                        c.Mesas1.Sum(m => m.Participacions.Max(p => p.conteo)) + ""
                                                    }))
            {
                dth.aaData.Add(l);
            }
            return new JavaScriptSerializer().Serialize(dth);
        }
Example #4
0
        public string GetAllMesasPaginate(int iDisplayStart, int iDisplayLength, int sEcho, int iSortCol_0,
            string sSortDir_0, string sSearch)
        {
            var dth = new DataTableHelper();
            var db = new edayRoomEntities();
            var mesas = from c in db.Centroes
                        from m in db.Mesas
                        where m.id_centro == c.id
                        orderby c.Nombre
                        select new{c, m};

            dth.iTotalRecords = mesas.Count();

            #region Filtros

            sSearch = sSearch.ToLower();
            if (!string.IsNullOrWhiteSpace(sSearch))
            {
                mesas = mesas.Where(c =>
                                    c.c.unique_id.ToLower().Contains(sSearch) ||
                                    c.m.uniqueId.ToLower().Contains(sSearch) ||
                                    c.c.Nombre.ToLower().Contains(sSearch) ||
                                    c.c.unidadGeografica1.ToLower().Contains(sSearch) ||
                                    c.c.unidadGeografica2.ToLower().Contains(sSearch) ||
                                    c.c.unidadGeografica3.ToLower().Contains(sSearch));
            }

            #endregion

            dth.iTotalDisplayRecords = mesas.Count();

            #region Sorting de registros

            switch (sSortDir_0)
            {
                case "asc":
                    switch (iSortCol_0)
                    {
                        case 0:
                            mesas = mesas.OrderBy(c => c.c.unique_id);
                            break;
                        case 1:
                            mesas = mesas.OrderBy(c => c.c.Nombre);
                            break;
                        case 2:
                            mesas = mesas.OrderBy(c => c.c.unidadGeografica1)
                                .ThenBy(c => c.c.unidadGeografica2)
                                .ThenBy(c => c.c.unidadGeografica3)
                                .ThenBy(c => c.c.unidadGeografica4)
                                .ThenBy(c => c.c.unidadGeografica5)
                                .ThenBy(c => c.c.unidadGeografica6)
                                .ThenBy(c => c.c.unidadGeografica7)
                                .ThenBy(c => c.c.unidadGeografica8);
                            break;

                    }
                    break;
                case "desc":
                    switch (iSortCol_0)
                    {
                        case 0:
                            mesas = mesas.OrderByDescending(c => c.c.unique_id);
                            break;

                        case 1:
                            mesas = mesas.OrderByDescending(c => c.c.Nombre);
                            break;
                        case 2:
                            mesas = mesas.OrderByDescending(c => c.c.unidadGeografica1)
                                .ThenByDescending(c => c.c.unidadGeografica2)
                                .ThenByDescending(c => c.c.unidadGeografica3)
                                .ThenByDescending(c => c.c.unidadGeografica4)
                                .ThenByDescending(c => c.c.unidadGeografica5)
                                .ThenByDescending(c => c.c.unidadGeografica6)
                                .ThenByDescending(c => c.c.unidadGeografica7)
                                .ThenByDescending(c => c.c.unidadGeografica8);
                            break;
                    }
                    break;
            }

            #endregion

            dth.sEcho = sEcho;

            var mesasList = mesas.ToList();

            dth.aaData = mesasList.Select(c => new List<string>
                                                 {
                                                     c.c.unique_id,
                                                     string.Format("<a href='/Centros/Edit/{1}' target='_blank'>{0}</a>",c.c.Nombre,c.c.id),
                                                     (c.c.unidadGeografica1 ?? "") + " " +
                                                     (c.c.unidadGeografica2 ?? "") + " " +
                                                     (c.c.unidadGeografica3 ?? "") + " " +
                                                     (c.c.unidadGeografica4 ?? "") + " " +
                                                     (c.c.unidadGeografica5 ?? "") + " " +
                                                     (c.c.unidadGeografica6 ?? "") + " " +
                                                     (c.c.unidadGeografica7 ?? "") + " " +
                                                     (c.c.unidadGeografica8 ?? ""),
                                                     string.Format("<a href='/Mesas/Edit/{1}' target='_blank'>{0}</a>",c.m.uniqueId,c.m.id),
                                                     c.m.numero.ToString(),
                                                     c.m.votantes.ToString()

                                                 }).Skip(iDisplayStart).Take(iDisplayLength).ToList();

            return
                new
                    JavaScriptSerializer().Serialize(dth);
        }
Example #5
0
        public string GetAllCentrosPaginate(int iDisplayStart, int iDisplayLength, int sEcho, int iSortCol_0,
            string sSortDir_0, string sSearch)
        {
            var dth = new DataTableHelper();
            var db = new edayRoomEntities();
            var centros = from c in db.Centroes
                          orderby c.Nombre
                          select c;

            dth.iTotalRecords = centros.Count();

            #region Filtros

            sSearch = sSearch.ToLower();
            if (!string.IsNullOrWhiteSpace(sSearch))
            {
                centros = centros.Where(c =>
                                        c.unique_id.ToLower().Contains(sSearch) ||
                                        c.Nombre.ToLower().Contains(sSearch) ||
                                        c.unidadGeografica1.ToLower().Contains(sSearch) ||
                                        c.unidadGeografica2.ToLower().Contains(sSearch) ||
                                        c.unidadGeografica3.ToLower().Contains(sSearch) ||
                                        c.unidadGeografica4.ToLower().Contains(sSearch) ||
                                        c.unidadGeografica5.ToLower().Contains(sSearch) ||
                                        c.unidadGeografica6.ToLower().Contains(sSearch) ||
                                        c.unidadGeografica7.ToLower().Contains(sSearch) ||
                                        c.unidadGeografica8.ToLower().Contains(sSearch)).OrderBy(c=>c.Nombre);
            }

            #endregion

            dth.iTotalDisplayRecords = centros.Count();

            #region Sorting de registros

            switch (sSortDir_0)
            {
                case "asc":
                    switch (iSortCol_0)
                    {
                        case 0:
                            centros = centros.OrderBy(i => i.unique_id);
                            break;
                        case 1:
                            centros = centros.OrderBy(i => i.Nombre);
                            break;
                        case 2:
                            centros = centros.OrderBy(i => i.unidadGeografica1)
                                .ThenBy(i => i.unidadGeografica2)
                                .ThenBy(i => i.unidadGeografica3)
                                .ThenBy(i => i.unidadGeografica4)
                                .ThenBy(i => i.unidadGeografica5)
                                .ThenBy(i => i.unidadGeografica6)
                                .ThenBy(i => i.unidadGeografica7)
                                .ThenBy(i => i.unidadGeografica8);
                            break;
                        //case 3:
                        //    centros = centros.OrderBy(i => i.m.uniqueId);
                        //    break;
                        //case 4:
                        //    centros = centros.OrderBy(i => i.m.votantes);
                        //    break;
                        //case 5:
                        //    centros = centros.OrderBy(i => i.t1.nombre);
                        //    break;
                        //case 6:
                        //    centros = centros.OrderBy(i => i.t2.nombre);
                        //    break;
                    }
                    break;
                case "desc":
                    switch (iSortCol_0)
                    {
                        case 0:
                            centros = centros.OrderByDescending(i => i.unique_id);
                            break;

                        case 1:
                            centros = centros.OrderByDescending(i => i.Nombre);
                            break;
                        case 2:
                            centros = centros.OrderByDescending(i => i.unidadGeografica1)
                                .ThenByDescending(i => i.unidadGeografica2)
                                .ThenByDescending(i => i.unidadGeografica3)
                                .ThenByDescending(i => i.unidadGeografica4)
                                .ThenByDescending(i => i.unidadGeografica5)
                                .ThenByDescending(i => i.unidadGeografica6)
                                .ThenByDescending(i => i.unidadGeografica7)
                                .ThenByDescending(i => i.unidadGeografica8);
                            break;
                        //case 3:
                        //    centros = centros.OrderByDescending(i => i.m.uniqueId);
                        //    break;
                        //case 4:
                        //    centros = centros.OrderByDescending(i => i.m.votantes);
                        //    break;
                        //case 5:
                        //    centros = centros.OrderByDescending(i => i.t1.nombre);
                        //    break;
                        //case 6:
                        //    centros = centros.OrderByDescending(i => i.t2.nombre);
                        //    break;
                    }
                    break;
            }

            #endregion

            dth.sEcho = sEcho;

            var centroList = centros.ToList();

            dth.aaData = centroList.Select(c => new List<string>
                                                 {
                                                     c.unique_id,
                                                     string.Format("<a href='/Centros/Edit/{1}' target='_blank'>{0}</a>",c.Nombre,c.id),
                                                     (c.unidadGeografica1 ?? "") + " " +
                                                     (c.unidadGeografica2 ?? "") + " " +
                                                     (c.unidadGeografica3 ?? "") + " " +
                                                     (c.unidadGeografica4 ?? "") + " " +
                                                     (c.unidadGeografica5 ?? "") + " " +
                                                     (c.unidadGeografica6 ?? "") + " " +
                                                     (c.unidadGeografica7 ?? "") + " " +
                                                     (c.unidadGeografica8 ?? "")
                                                 }).Skip(iDisplayStart).Take(iDisplayLength).ToList();

            return
                new
                    JavaScriptSerializer().Serialize(dth);
        }
Example #6
0
        public string GetAllCandidatos(int iDisplayStart, int iDisplayLength, int sEcho, int iSortCol_0,
            string sSortDir_0, string sSearch)
        {
            var dth = new DataTableHelper();
            var db = new edayRoomEntities();
            IQueryable<RelacionCandidatoPartidoCoalicion> candidatos = from c in db.RelacionCandidatoPartidoCoalicions
                                                                       select c;

            dth.iTotalRecords = candidatos.Count();
            if (!string.IsNullOrEmpty(sSearch))
            {
                candidatos = candidatos.Where(c => c.Candidato.nombre.ToLower().Contains(sSearch.ToLower()));
            }
            dth.iTotalDisplayRecords = candidatos.Count();

            #region ORDER ALERTAS

            switch (sSortDir_0)
            {
                case "asc":
                    switch (iSortCol_0)
                    {
                        case 0:
                        case 3:
                            candidatos = candidatos.OrderBy(c => c.Candidato.nombre);
                            break;
                        case 1:
                            candidatos = candidatos.OrderBy(c => c.Coalicion.nombre);
                            break;
                        case 2:
                            candidatos = candidatos.OrderBy(c => c.Partido.nombre);
                            break;
                    }
                    break;
                case "desc":
                    switch (iSortCol_0)
                    {
                        case 0:
                        case 3:
                            candidatos = candidatos.OrderByDescending(c => c.Candidato.nombre);
                            break;
                        case 1:
                            candidatos = candidatos.OrderByDescending(c => c.Coalicion.nombre);
                            break;
                        case 2:
                            candidatos = candidatos.OrderByDescending(c => c.Partido.nombre);
                            break;
                    }

                    break;
            }

            #endregion

            dth.sEcho = sEcho;
            var clist = candidatos.Select(c => new
                                                   {
                                                       c.id,
                                                       candidato = c.Candidato.nombre,
                                                       color = c.Candidato.color,
                                                       partido = c.Partido.nombre,
                                                       colorpartido = c.Partido.color,
                                                       coalicion = c.Coalicion.nombre,
                                                       colorcoalicion = c.Coalicion.color
                                                   }).Skip(iDisplayStart).Take(iDisplayLength).ToList();

            dth.aaData = new List<List<string>>();

            foreach (var l in clist.Select(c => new List<string>
                                                    {
                                                        (string.IsNullOrEmpty(c.color)?"":"<div class='swatch' style='background-color:#"+c.color+"'></div>") + c.candidato.Trim() ,
                                                        (string.IsNullOrEmpty(c.colorcoalicion)?"":"<div class='swatch' style='background-color:#"+c.colorcoalicion+"'></div>")+c.coalicion,
                                                        (string.IsNullOrEmpty(c.colorpartido)?"":"<div class='swatch' style='background-color:#"+c.colorpartido+"'></div>") + c.partido,
                                                        string.Format(
                                                            "<div class='mws-ic-16 ic-edit editCandidato  tableIcon16 clickable' candidato-id='{0}' style='float:left;'></div><div class='mws-ic-16 ic-trash deleteCandidato tableIcon16 clickable'  candidato-id='{0}' style='float:left; margin-left: 10px;'></div>",
                                                            c.id)
                                                    })
                )
            {
                dth.aaData.Add(l);
            }

            return new JavaScriptSerializer().Serialize(dth);
        }
Example #7
0
        public string GetTableAlertas(int iDisplayStart, int iDisplayLength, int sEcho, int iSortCol_0, string sSortDir_0, string sSearch, string modulo, bool quickCountOnly)
        {
            var dth = new DataTableHelper();
            //TODO: Optimizar esta consulta
            var alertas = GetUserAlertas();

            if (!string.IsNullOrEmpty(sSearch))
            {

                alertas = alertas.Where(a =>
                                        a.name.ToLower().Contains(sSearch.ToLower()) ||
                                        a.modulo.ToLower().Contains(sSearch.ToLower()) ||
                                        a.centro.ToLower().Contains(sSearch.ToLower()) ||
                                        a.estado.ToLower().Contains(sSearch.ToLower()) ||
                                        a.municipio.ToLower().Contains(sSearch.ToLower()) ||
                                        a.parroquia.ToLower().Contains(sSearch.ToLower()) ||
                                        a.nombreUsuario.ToLower().Contains(sSearch.ToLower())
                    );
            }
            if(quickCountOnly)
            {
                alertas = alertas.Where(a => a.quickCount);
            }
            if(!string.IsNullOrEmpty(modulo))
            {
                switch(modulo)
                {
                    case "participacion":
                        alertas = alertas.Where(a=>a.modulo == "Participación");
                        break;
                    case "movilizacion":
                        alertas = alertas.Where(a=>a.modulo == "Movilización");
                        break;
                    case "quickcount":
                        alertas = alertas.Where(a => a.modulo == "Conteo Rapido");
                        break;
                    case "totalizacion":
                        alertas = alertas.Where(a=>a.modulo == "Totalización");
                        break;
                    case "exitpoll":
                        alertas = alertas.Where(a => a.modulo == "Exit Poll");
                        break;

                }

            }

            //TODO: Arreglar el timeout que da este count
            dth.iTotalRecords = 10000;// alertas.Count();

            dth.iTotalDisplayRecords = dth.iTotalRecords;
            dth.sEcho = sEcho;

            var clist = alertas.Select(c => c).OrderBy(c=>c.fecha).Skip(iDisplayStart).Take(iDisplayLength).ToList();
            dth.aaData = new List<List<string>>();
            foreach (var l in clist.Select(c => new List<string>
                                                    {
                                                        string.Format(
                                                            "<a href='/Alertas/DetailAlerta?idAlerta={0}&modulo={2}' alerta-id='{0}' " +
                                                            "class='alerta-link'>{1}</a>",
                                                            c.id, c.centro, c.modulo),
                                                        c.unique_id,
                                                        c.mesa == -1
                                                            ? "-"
                                                            : c.mesa.ToString(CultureInfo.InvariantCulture),
                                                        c.modulo,
                                                        c.name,
                                                        c.estado,c.municipio,c.parroquia,
                                                        c.fecha.ToString("yyyy/MM/dd @ HH:mm"),
                                                       // c.active? "Si":"No",
                                                        c.nombreUsuario
                                                    }))
            {
                dth.aaData.Add(l);
            }
            return new JavaScriptSerializer().Serialize(dth);
        }
Example #8
0
        public string GetAllAlertas(int iDisplayStart, int iDisplayLength, int sEcho, int iSortCol_0, string sSortDir_0,
            string sSearch)
        {
            var dth = new DataTableHelper();
            var db = new edayRoomEntities();
            IQueryable<Alerta> alertas = from a in db.Alertas
                                         select a;

            dth.iTotalRecords = alertas.Count();
            if (!string.IsNullOrEmpty(sSearch))
            {
                alertas = alertas.Where(a => a.name.ToLower().Contains(sSearch.ToLower()));
            }
            dth.iTotalDisplayRecords = alertas.Count();

            #region ORDER ALERTAS

            switch (sSortDir_0)
            {
                case "asc":
                    switch (iSortCol_0)
                    {
                        case 0:
                        case 4:
                            alertas = alertas.OrderBy(a => a.name);
                            break;
                        case 1:
                            alertas = alertas.OrderBy(a => a.blocking);
                            break;
                        case 2:
                            alertas = alertas.OrderBy(a => a.regresivo);
                            break;
                        case 3:
                            alertas = alertas.OrderBy(a => a.tiempo);
                            break;
                    }
                    break;
                case "desc":
                    switch (iSortCol_0)
                    {
                        case 0:
                        case 4:
                            alertas = alertas.OrderByDescending(a => a.name);
                            break;
                        case 1:
                            alertas = alertas.OrderByDescending(a => a.blocking);
                            break;
                        case 2:
                            alertas = alertas.OrderByDescending(a => a.regresivo);
                            break;
                        case 3:
                            alertas = alertas.OrderByDescending(a => a.tiempo);
                            break;
                    }

                    break;
            }

            #endregion

            dth.sEcho = sEcho;
            var alist = alertas.Select(a => new
                                                {
                                                    a.id,
                                                    a.name,
                                                    a.blocking,
                                                    a.regresivo,
                                                    a.tiempo,
                                                    a.canceledBy,
                                                    a.maxRepeats,
                                                    triggerAlerta =
                                                a.AlertaAsociada == null ? null : a.AlertaAsociada.name
                                                }).Skip(iDisplayStart).Take(iDisplayLength).ToList();

            dth.aaData = new List<List<string>>();
            foreach (var l in alist.Select(a => new List<string>
                                                    {
                                                        a.name.Trim(),
                                                        a.canceledBy,
                                                        (a.blocking
                                                             ? "<div class='mws-ic-16 ic-accept tableIcon16'></div>"
                                                             : "<div class='mws-ic-16 ic-cross tableIcon16'></div>"),
                                                        (a.regresivo
                                                             ? "<div class='mws-ic-16 ic-accept tableIcon16'></div>"
                                                             : "<div class='mws-ic-16 ic-cross tableIcon16'></div>"),
                                                        a.tiempo.ToString(CultureInfo.InvariantCulture),
                                                        a.maxRepeats + "",
                                                        a.triggerAlerta ?? "NA",
                                                        string.Format(
                                                            "<div class='mws-ic-16 ic-edit editAlerta  tableIcon16 clickable' alerta-id='{0}' style='float:left;'></div><div class='mws-ic-16 ic-trash deleteAlerta tableIcon16 clickable'  alerta-id='{0}' style='float:left; margin-left: 10px;'></div>",
                                                            a.id)
                                                    })
                )
            {
                dth.aaData.Add(l);
            }

            return new JavaScriptSerializer().Serialize(dth);
        }