public IActionResult Get([FromQuery] FiltroOrden filtroOrden) { IEnumerable <Participante> participantes = _participantesService.ObtenerParticipantes(); if (participantes == null) { return(NotFound()); } List <MostrarParticipante> retorno = new List <MostrarParticipante>(); foreach (Participante p in participantes) { retorno.Add(new MostrarParticipante(p)); } string filtro = filtroOrden.Filtro; string orden = filtroOrden.Orden; if (!EsValido(filtro) && !EsValido(orden)) { return(Ok(retorno)); } if (!EsValido(filtro)) { filtro = ""; } else { participantes = participantes.Where(e => e.Nombre.IndexOf(filtro, StringComparison.OrdinalIgnoreCase) >= 0); } if (EsValido(orden)) { if (orden.ToUpper() != "ASC" && orden.ToUpper() != "DESC") { return(BadRequest("El valor del orden debe ser ASC o DESC")); } else { if (orden.ToUpper() == "ASC") { participantes = participantes.OrderBy(e => e.Nombre); } else { participantes = participantes.OrderByDescending(e => e.Nombre); } } } return(Ok(retorno)); }
public IActionResult Get([FromQuery] FiltroOrden filtroOrden) { IEnumerable <Equipo> equipos = _equiposService.ObtenerEquipos(); if (equipos == null) { return(NotFound()); } string filtro = filtroOrden.Filtro; string orden = filtroOrden.Orden; if (!EsValido(filtro) && !EsValido(orden)) { return(Ok(equipos)); } if (!EsValido(filtro)) { filtro = ""; } else { equipos = equipos.Where(e => e.Nombre.IndexOf(filtro, StringComparison.OrdinalIgnoreCase) >= 0); } if (EsValido(orden)) { if (orden.ToUpper() != "ASC" && orden.ToUpper() != "DESC") { return(BadRequest("El valor del orden debe ser ASC o DESC")); } else { if (orden.ToUpper() == "ASC") { equipos = equipos.OrderBy(e => e.Nombre); } else { equipos = equipos.OrderByDescending(e => e.Nombre); } } } return(Ok(equipos)); }