public JsonResult FilteredIncidentsToTableGroup(FiltroReporteModel filtro)
 {
     return Json(GetAllIncidentsToTableGroup(filtro), JsonRequestBehavior.AllowGet);
 }
 public JsonResult FilteredIncidents(FiltroReporteModel filtro)
 {
     return Json(GetAllIncidents().Where(FuncFilter(filtro)).ToList(), JsonRequestBehavior.AllowGet);
 }
 private List<GroupIncidentModel> GetAllIncidentsToTableGroup(FiltroReporteModel filtro)
 {
     var filtroIncidente = GetAllIncidents().Where(FuncFilter(filtro)).ToList();
     return (from incidente in filtroIncidente
             group incidente by incidente.TipoIncidenteId into g
             select new GroupIncidentModel
             {
                 NombreTipoIncidente = g.Select(f => f.TipoIncidente.Nombre).FirstOrDefault(),
                 NumeroEventos = g.Count().ToString(CultureInfo.InvariantCulture),
                 Semaforo = g.Count() >= 200 ? (Color)1 : (Color)2,
                 Zona = g.Select(f => f.Zona.Nombre).FirstOrDefault()
             }).ToList();
 }
 private static Func<Incidente, bool> FuncFilter(FiltroReporteModel filtro)
 {
     Func<Incidente, bool> filtroo = incidente => incidente.EstadoId == filtro.EstadoId &&
                                                  incidente.CiudadId == filtro.CiudadId &&
                                                  incidente.FechaIncidente == filtro.FechaInicio &&
                                                  incidente.TipoIncidenteId == filtro.TipoIncidenteId &&
                                                  incidente.ZonaId == filtro.ZonaId;
     return filtroo;
 }