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 } ); }