public IActionResult ComprarPost(int id, decimal total, int pago, int envio, int p, OrdenPedido orden)
        {
            Producto producto = ProductoDAo.get(_context, id);

            TempData["total"] = total;

            TempData["Pago"]  = pago;
            TempData["Envio"] = envio;

            OrdenPedido ordenPedido = new OrdenPedido
            {
                EstadoPedido       = EstadoPedido.PENDIENTE,
                Pago               = (Pago)pago,
                Envio              = (Envio)envio,
                Total              = Convert.ToDecimal(TempData["total"]),
                NegocioID          = producto.NegocioID,
                Producto           = ProductoDAo.get(_context, id),
                identificacionProd = ProductoDAo.get(_context, id).ID,
                Usuario            = UsuarioDao.getUsuario(_context, HttpContext.Session.GetObjectFromJson <Usuario>("usuarioEnSession").ID)
            };



            OrdenPedidoDao.grabar(_context, ordenPedido);
            //MailModel _objModelMail = new MailModel();
            //mailService.ConfirmarPedido(_context, _objModelMail, ordenPedido); Tengo q terminar enviar mail cuando se realiza un pedido! Mariana.
            agregarMensajePrincipal("Se ha realizado una orden de pedido correctamente.", TipoMensaje.EXITO);
            TempData["Mensajes"] = mensajes;
            ModelBase model = new ModelBase();

            model.llenarDatosGenerales(HttpContext, _context);
            return(View("~/Views/Inicio/InicioLogueado.cshtml", model));
        }
Beispiel #2
0
        public IActionResult EfectuarCompra(int id)
        {
            Entity.Producto producto             = ProductoDAo.get(_context, id);
            Entity.Negocio  negocio              = NegocioDao.get(_context, producto.NegocioID);
            OrdenPedidoGeneralModelAndView model = new OrdenPedidoGeneralModelAndView(negocio);

            model.Producto = producto;
            return(View(model));
        }
        /// <summary>
        /// Trae todos los Productos (artículos y servicios)
        /// </summary>
        /// <returns></returns>
        public IActionResult Ecommerce()
        {
            CatalogoGeneral model = new CatalogoGeneral(HttpContext, _context);
            //List<Producto> productos = ProductoDAo.ListadoDeProductos(_context);
            List <Producto> productos = ProductoDAo.ListadoDeProductosFiltro(_context, HttpContext.Session.GetObjectFromJson <Usuario>("usuarioEnSession").ID);

            model.productos = productos;
            return(View(model));
        }
        /// <summary>
        /// Envía consultas al mail sobre el producto:
        /// </summary>
        /// <param name="_objModelMail"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public IActionResult Consultar(MailModel _objModelMail, int id)
        {
            Producto producto = ProductoDAo.get(_context, id);

            mailService.consultarPorUnProducto(_context, _objModelMail, producto);
            agregarMensajePrincipal("Consulta Enviada", TipoMensaje.EXITO);
            TempData["Mensajes"] = mensajes;
            return(View("~/Views/Inicio/Inicio.cshtml", new InicioModelAndView()));
        }
        public DataModel OptenerProductos()
        {
            Negocio         negocio   = HttpContext.Session.GetObjectFromJson <Negocio>("negocioEnSession");
            List <Producto> productos = ProductoDAo.getListado(_context, negocio);
            DataModel       respuesta = new DataModel();

            respuesta.data.Add("productos", productos.ToArray());
            return(respuesta);
        }
        public IActionResult Comprar(int id, int cantidad)
        {
            Producto producto = ProductoDAo.get(_context, id);

            HiShop.Models.Catalogo.DetalleServicioModelAndView model = new DetalleServicioModelAndView(HttpContext, _context);
            model.Servicio = producto;
            if (cantidad == 0)
            {
                TempData["total"] = producto.Precio;
            }
            else
            {
                decimal calculoTotal = producto.Precio * cantidad;
                TempData["total"]           = calculoTotal;
                TempData["GuardarCantidad"] = cantidad;
            }
            return(View(model));
        }
        public IActionResult Ecommerce(string query, string filtro)
        {
            CatalogoGeneral model = new CatalogoGeneral(HttpContext, _context);

            List <Producto> productos = ProductoDAo.ListadoDeProductosFiltro(_context, HttpContext.Session.GetObjectFromJson <Usuario>("usuarioEnSession").ID);

            if (query != null)
            {
                TempData["PalabraClave"] = query;

                var ExpresionRegular = productos.Where(x => x.Nombre.ToLower().StartsWith(query.ToLower().Trim()) ||
                                                       x.Nombre.ToLower().EndsWith(query.ToLower().Trim()) ||
                                                       x.Nombre.ToLower().Contains(query.ToLower().Trim()));

                List <Producto> nuevaLista = ExpresionRegular.ToList();

                if (nuevaLista.Count() == 0)
                {
                    TempData["Mensaje"] = "No se encontraron resultados";
                }
                model.productos = nuevaLista;

                return(View(model));
            }
            else if (filtro != null)
            {
                TempData["Precio"] = filtro;

                var filtroString = Convert.ToString(TempData["Precio"]);

                if (TempData["Precio"].ToString() == "0")
                {
                    var consulta = productos.OrderBy(x => x.Precio);
                    model.productos = consulta.ToList();
                }

                else
                {
                    var consulta = productos.OrderByDescending(x => x.Precio);
                    model.productos = consulta.ToList();
                }
            }
            return(View(model));
        }
        //[HttpPost]
        public IActionResult DetallesDeProducto(int id)
        {
            Producto producto = ProductoDAo.get(_context, id);

            List <Articulo> articulos = ArticuloDao.ListadoDeArticulos(_context);

            foreach (var a in articulos)
            {
                if (producto.ID == a.ID)
                {
                    DetalleArticuloModelAndView model = new DetalleArticuloModelAndView(HttpContext, _context);
                    model.Articulo = a;
                    return(View("DetallesDeArticulo", model));
                }
            }
            DetalleServicioModelAndView model2 = new DetalleServicioModelAndView(HttpContext, _context);

            model2.Servicio = producto;
            return(View("DetallesDeServicio", model2));
        }
Beispiel #9
0
        public IActionResult EfectuarCompra(OrdenPedidoGeneralModelAndView model)
        {
            if (ModelState.IsValid)
            {
                Producto    producto    = ProductoDAo.get(_context, model.productoId);
                OrdenPedido ordenPedido = new OrdenPedido
                {
                    EstadoPedido = Enum.EstadoPedido.PENDIENTE,
                    Total        = model.cantidad * producto.Precio,
                    Negocio      = NegocioDao.get(_context, producto.NegocioID),
                    Usuario      = UsuarioDao.getUsuario(_context, HttpContext.Session.GetObjectFromJson <Usuario>("usuarioEnSession").ID),
                    Producto     = producto
                };
                OrdenPedidoDao.grabar(_context, ordenPedido);

                Articulo articulo = ArticuloDao.get(_context, model.Producto.ID);

                return(RedirectToAction("Perfil", "Usuario"));
            }
            return(View());
        }