Ejemplo n.º 1
0
 static public void CrearOrden(Orden orden, List <CarritoItem> carrito, Usuario usuario)
 {
     try
     {
         foreach (CarritoItem item in carrito)
         {
             OrdenItem o_item = new OrdenItem();
             o_item.cantidad    = item.cantidad;
             o_item.id_producto = item.id_producto;
             o_item.precio      = item.Producto.precio_real;
             orden.OrdenItem.Add(o_item);
             CarritoModelo.EliminarCarritoItem(item);
             Producto prod = ProductoModelo.ObtenerProductoPorID((int)o_item.id_producto);
             prod.stock -= o_item.cantidad;
             ProductoModelo.ModificarProducto(prod);
         }
         orden.id_usuario   = usuario.id;
         orden.fecha_compra = DateTime.Now;
         orden.costo_total  = carrito.Sum(i => i.Producto.precio_real * i.cantidad) + 50;
         OrdenModelo.InsertarOrden(orden);
         EnviarCorreo(usuario.email, orden);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
Ejemplo n.º 2
0
        public static void ModificarProducto(Producto producto)
        {
            try
            {
                if (string.IsNullOrEmpty(producto.nombre))
                {
                    throw new Exception("Nombre faltante");
                }

                if (producto.precio < 0)
                {
                    throw new Exception("Precio no valido");
                }

                if (producto.stock < 0)
                {
                    throw new Exception("Existencias no validas");
                }

                if (producto.id_categoria == 0)
                {
                    throw new Exception("Falta categoría");
                }


                ProductoModelo.ModificarProducto(producto);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }