public async Task <IActionResult> Historico() { string userManagerId = _userManager.GetUserId(User); Usuario usuario = await _usuariosService.ObtenerUsuarioDesdedIdentity(userManagerId); List <Visita> visitados = await _manejoProductosService.GetProductosVistosPorUsuario(usuario.Id); List <ProductoPrimeraOpcionProductoVM> productosVisitados = new List <ProductoPrimeraOpcionProductoVM>(); List <OpcionProducto> opcionesProductos = await _opcionesProductosService.GetOpcionesProductos(); foreach (Visita item in visitados) { ProductoPrimeraOpcionProductoVM productoOpcion = new ProductoPrimeraOpcionProductoVM() { producto = item.Producto, opcionProducto = opcionesProductos.Where(x => x.ProductoId == item.ProductoId).FirstOrDefault() }; productosVisitados.Add(productoOpcion); } ViewData["Usuario"] = usuario; ViewData["ProductosVisitados"] = productosVisitados; ViewData["Visitas"] = visitados; return(View(usuario)); }
public async Task <ProductosForIndex2VM> GetProductosForIndex2() { List <ProductoCategoria> listaProductosCategorias = await _context.ProductoCategoria.ToListAsync(); List <Producto> listaProductos = await GetProductos(); List <Categoria> listaCategorias = await _context.Categoria.ToListAsync(); ProductosForIndex2VM listasProductosForIndex2 = new ProductosForIndex2VM(); listasProductosForIndex2.ListasProductos = new List <List <ProductoPrimeraOpcionProductoVM> >(); foreach (Categoria categoria in listaCategorias) { List <ProductoPrimeraOpcionProductoVM> newListaProducto = new List <ProductoPrimeraOpcionProductoVM>(); foreach (ProductoCategoria productoCategoria in listaProductosCategorias) { if (productoCategoria.CategoriaId == categoria.Id) { OpcionProducto opcion = await _context.OpcionProducto.Where(m => m.ProductoId == productoCategoria.ProductoId).FirstOrDefaultAsync(); ProductoPrimeraOpcionProductoVM productoConOpcion = new ProductoPrimeraOpcionProductoVM() { producto = productoCategoria.Producto, opcionProducto = opcion }; newListaProducto.Add(productoConOpcion); } } listasProductosForIndex2.ListasProductos.Add(newListaProducto); } return(listasProductosForIndex2); }
//Método que devuelve una lista de productos que contienen un string en su título o descripción public async Task <List <ProductoPrimeraOpcionProductoVM> > BuscarProductosPorString(string inputBuscar) { List <Producto> listaProductos = new List <Producto>(); listaProductos = await GetProductos(); List <ProductoPrimeraOpcionProductoVM> listaProductosEncontrados = new List <ProductoPrimeraOpcionProductoVM>(); foreach (Producto producto in listaProductos) { if (producto.Titulo.ToLower().Contains(inputBuscar.ToLower())) { ProductoPrimeraOpcionProductoVM nuevo = new ProductoPrimeraOpcionProductoVM() { producto = producto, opcionProducto = await _context.OpcionProducto.Where(m => m.ProductoId == producto.Id).FirstOrDefaultAsync() }; listaProductosEncontrados.Add(nuevo); } else if (producto.Descripcion != null && producto.Descripcion.ToLower().Contains(inputBuscar.ToLower())) { ProductoPrimeraOpcionProductoVM nuevo = new ProductoPrimeraOpcionProductoVM() { producto = producto, opcionProducto = await _context.OpcionProducto.Where(m => m.ProductoId == producto.Id).FirstOrDefaultAsync() }; listaProductosEncontrados.Add(nuevo); } } return(listaProductosEncontrados); }
public async Task <IActionResult> Categoria(int id) { List <ProductoPrimeraOpcionProductoVM> listaProductosOpcion = new List <ProductoPrimeraOpcionProductoVM>(); List <Producto> nuevaLista = await _productosService.GetProductosByCategoriaId(id); List <OpcionProducto> opcionesProductos = await _opcionesProductosService.GetOpcionesProductos(); int i = 0; foreach (Producto item in nuevaLista) { ProductoPrimeraOpcionProductoVM nuevo = new ProductoPrimeraOpcionProductoVM() { producto = item, opcionProducto = opcionesProductos.Where(x => x.ProductoId == item.Id).FirstOrDefault() }; listaProductosOpcion.Add(nuevo); i++; } ViewData["Categoria"] = await _categoriasService.GetCategoriaById(id); return(View(listaProductosOpcion)); }