示例#1
0
        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));
        }
示例#2
0
        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);
        }
示例#3
0
        //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);
        }
示例#4
0
        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));
        }