示例#1
0
        public string GetProyeccionPorParticipacion(string tag1, string tag2, string estados, string municipios)
        {
            var db = new edayRoomEntities();
            var tag1Filter = string.IsNullOrWhiteSpace(tag1) ? null : tag1;
            var tag2Filter = string.IsNullOrWhiteSpace(tag2) ? null : tag2;
            var estadosFilter = string.IsNullOrWhiteSpace(estados) ? null : estados;
            var municipiosFilter = string.IsNullOrWhiteSpace(municipios) ? null : municipios;

            var result = db.getProyeccionFromHistorico(tag1Filter, tag2Filter, estadosFilter, municipiosFilter).ToList();

            var muestras = result.Select(r => new { r.id_muestra, r.nombre }).Distinct();
            var resultGlobal = result.GroupBy(r=> new{r.id_muestra, r.nombre}).Select(r=>
                new{r.Key.id_muestra,
                    r.Key.nombre,
                    capr = r.Sum(i=>i.proyCapriles),
                    chav = r.Sum(i=>i.proyChavismo),
                    otro = r.Sum(i => i.proyOtros),
                    abstencion = r.Sum(i=>i.abstencion)
                });

            //var nacional = result

            return JsonConvert.SerializeObject(
                new{
                    muestras = muestras,
                    global = resultGlobal,
                    regional = result
                }

                );
        }