public IActionResult Productos() { sweetbakeryContext contexto = new sweetbakeryContext(); ProductosViewModel vm = new ProductosViewModel(); var categorias = contexto.Categorias .Include(x => x.Productos).OrderBy(x => x.Nombre) .Select(x => new ProductosViewModel { NombreCategoria = x.Nombre, Productos = x.Productos.OrderBy(y => y.Nombre) }); //Explicit Loading //Otra opción: //var categorias = contexto.Productos // .Include(x => x.IdCategoriaNavigation) // .GroupBy(x => x.IdCategoriaNavigation.Nombre) // .Select(x => new ProductosViewModel { NombreCategoria = x.Key, Productos = x }); //3ra opción sin linq //List<ProductosViewModel> categorias=new List<ProductosViewModel>(); //foreach (var item in contexto.Categorias.Include(x=>x.Productos)) //{ // ProductosViewModel mv = new ProductosViewModel // { // NombreCategoria = item.Nombre, // Productos = item.Productos // }; // categorias.Add(mv); //} return(View(categorias)); }
public CategoriasService() { using (sweetbakeryContext contexto = new sweetbakeryContext()) { sweetbakeryContext context = new sweetbakeryContext(); Categorias = context.Categorias.OrderBy(x => x.Nombre).ToList(); } }
public IActionResult Index(string id) { sweetbakeryContext contexto = new sweetbakeryContext(); var recetas = contexto.Recetas .Where(x => x.IdCategoriaNavigation.Nombre.ToUpper() == id.ToUpper()) .OrderBy(x => x.Nombre); return(View(recetas)); }
public IActionResult Receta(string id) { sweetbakeryContext contexto = new sweetbakeryContext(); var nombre = id.Replace("-", " ").ToUpper(); var receta = contexto.Recetas.FirstOrDefault(x => x.Nombre.ToUpper() == nombre); if (receta == null) { return(RedirectToAction("Index", "Home")); } else { RecetaViewModel vm = new RecetaViewModel(); vm.Receta = receta; Random r = new Random(); vm.Otras = contexto.Recetas.Where(x => x.Id != receta.Id).ToList().OrderBy(x => r.Next()).Take(3); return(View(vm)); } }