public IActionResult ListarCarousel() { ResponseModel responseModel = new ResponseModel(); try { ProductoBL productoBL = new ProductoBL(); List <ProductoCarousel> lstproductoCarousels = productoBL.ListarCarousel(); if (lstproductoCarousels != null) { if (lstproductoCarousels.Count > 0) { lstproductoCarousels = lstproductoCarousels.GroupBy(pc => pc.ProductoId) .Select(x => new ProductoCarousel { ProductoId = x.Key, GeneroNombre = String.Join(",", x.Select(gn => gn.GeneroNombre)), Compania = x.First().Compania, Nombre = x.First().Nombre, EdadMinima = x.First().EdadMinima, Lanzamiento = x.First().Lanzamiento, Url = x.First().Url }).ToList().Take(5).ToList(); } responseModel.Codigo = CodeEN.Success; responseModel.Mensaje = "Se listo los productos para el carousel de manera satisfactoria"; responseModel.Data = lstproductoCarousels; return(Ok(responseModel)); } else { responseModel.Codigo = CodeEN.Error; responseModel.Mensaje = "No se pudo obtener los productos para el carousel"; return(StatusCode(StatusCodes.Status500InternalServerError, responseModel)); } } catch (Exception ex) { responseModel.Codigo = CodeEN.Exception; responseModel.Mensaje = "Ocurrió una excepción"; return(StatusCode(StatusCodes.Status500InternalServerError, responseModel)); } }