コード例 #1
0
        public ActionResult Agregar(DetallesProductoViewModels productoVM)
        {
            BDContext context = new BDContext();

            try
            {
                // obtener el id del usuario que esta logueado
                var userID = User.Identity.GetUserId();

                // obtener el usuario con ese id de base de datos
                var usuario_BD = context.usuarios.Where(u => u.Usuario_ID.Equals(userID)).Single();

                // obtener productos del carrito del usuario
                List <sp_obtenerProductosUsuarioCarrito_Result> lista_productos_cliente = context.sp_obtenerProductosUsuarioCarrito(usuario_BD.userId).ToList();

                // verificar si el usuario ya tiene ese producto en el carrito
                foreach (var producto in lista_productos_cliente)
                {
                    if (producto.productoId == productoVM.Id_Producto)
                    {
                        // usuario ya tiene ese producto en el carrito, preguntar si desea modificar
                        return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                    }
                }

                // crear el producto que se va a agregar al carrito
                carrito producto_carrito = new carrito
                {
                    productoId        = productoVM.Id_Producto,
                    userId            = usuario_BD.userId,
                    cantidad_producto = (int)productoVM.cantidad,
                    fecha_agregado    = DateTime.UtcNow,
                    fecha_modificado  = DateTime.UtcNow
                };

                unidad_carrito.genericDAL.Add(producto_carrito);
                unidad_carrito.Complete();

                // devolver http 200
                return(new HttpStatusCodeResult(HttpStatusCode.OK));
            }
            catch (Exception)
            {
                // error, devolver http 500
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError));
            }
        }
コード例 #2
0
        // GET: HomeAdmin/Details/5
        public ActionResult Detalles(int?id)
        {
            // revisar si el URL contiene un ID, si no entonces devolver 404
            if (id == null || id == 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            // buscar el producto y los demas datos
            productos    producto     = unidad_productos.genericDAL.Get((int)id);
            marcas       marca        = unidad_marcas.genericDAL.Get((int)producto.id_marca);
            colecciones  coleccion    = unidad_colecciones.genericDAL.Get((int)producto.id_coleccion);
            categorias   categoria    = unidad_categorias.genericDAL.Get((int)producto.id_categoria);
            distribuidor distribuidor = unidad_distribuidor.genericDAL.Get((int)producto.id_distribuidor);

            // ver si el producto tiene estado bloqueado. Si si, devolver 404
            if (producto.id_estado == 1)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            // asignar datos al view model correspondiente
            DetallesProductoViewModels producto_VM = new DetallesProductoViewModels
            {
                Id_Producto  = producto.productoId,
                Nombre       = producto.nombre,
                Precio       = producto.precio,
                Descripcion  = producto.descripcion,
                Modelo       = producto.modelo,
                cantidad     = producto.cantidad,
                marca        = marca.nombre,
                coleccion    = coleccion.nombre,
                categoria    = categoria.nombre,
                distribuidor = distribuidor.nombre
            };

            return(View("~/Views/Admin/ProductosAdmin/Detalles.cshtml", producto_VM));
        }