domingo, marzo 06, 2011

PHP - Carrito de Compras Parte III - Creación de la Capa de Negocios


"Si usa algún código del siguiente tutorial, den el icono de ME GUSTA del Facebook que se encuentra en su mano derecha, para que se vuelva Seguidor del Blog y también comentenos que tal les pareció el tutorial"


1. Entorno


NetBeans IDE 6.9.1
WampServer 2.1.

2. Introducción


Ya vimos que en la Parte II del tutorial creamos la Capa de Dato de nuestro sistema, la cual es la encargada de comunicarse con la base de datos. Ahora nos tocaría desarrollar la Capa de Negocios que es la capa en la cual se implementa la lógica del negocio de la empresa como obtener descuentos, aumentos, etc.

3. Desarrollo


3.1. Creando la carpeta

Debemos de crear la carpeta que recibirá el nombre de "CapaNegocios"












3.2. Creando el archivo Prod_RegistrarProducto

Este archivo en PHP va a ser el encargado de recibir los datos de la capa de presentación del proyecto y llamar a la capa de datos, específicamente a la clase "Producto", para poder registrar un producto a la base de datos. Su código fuente es el siguiente.

<?php
include_once '../CapaDatos/Producto.php';
//Crea un objeto producto
$pro=new Producto();
//Establece el nombre del producto y lo convierte a mayusculas
$pro->setNombre(strtoupper($_REQUEST['txtNombre']));
//Establece el precio
$pro->setPrecio($_REQUEST['txtPrecio']);
//Llama al metodo insertar producto de producto
$rpta=$pro->insertarProducto();
//Si la respuesta es verdadera es porque se registro el producto
if($rpta){
    //Redireccionamos a un archivo que se llama mensaje para mostrar el resultado
    //del registro
    header("Location: ../mensaje.php?mensaje=Se registro el producto de manera correcta");
}else{
    header("Location: ../mensaje.php?mensaje=No se pudo registrar el producto");
}
?>

3.3. Creando el archivo Prod_ModificarProducto

Este archivo en PHP va a ser el encargado de llamar al método "actualizarProducto" de la clase "Producto".

<?php
include_once '../CapaDatos/Producto.php';
//Crea un objeto producto
$pro=new Producto();
//Establece el codigo del producto
$pro->setCodigoProducto($_REQUEST['txtCodigo']);
//Establece el nombre del producto
$pro->setNombre(strtoupper($_REQUEST['txtNombre']));
//Establece el precio del producto
$pro->setPrecio($_REQUEST['txtPrecio']);
//Llama al metodo actualizarProducto
$rpta=$pro->actualizarProducto();
//Si rpta es verdadero es porque se actualizo el Producto
if($rpta){
    header("Location: ../mensaje.php?mensaje=Se modifico el producto de manera correcta");
}else{
    header("Location: ../mensaje.php?mensaje=No se pudo modificar el producto");
}
?>

3.4. Creando el archivo Vent_RegistrarVenta

Quizás este archivo es el mas importante, ya que es el encargado de registrar la venta a la base de datos. Lo que hace es obtener todos los items que están almacenados en nuestro carrito de compras, específicamente en la sesión de la aplicación y llama a la clase "Venta" para poder registrar la venta a la base de datos. Su código fuente debería ser el siguiente.

<?php
//Obtenemos la sesion
session_start();
session_register('itemsEnCesta');
include_once '../CapaDatos/Venta.php';
//Creamos una clase venta
$ven=new Venta();
//Establecemos  el nombre del cliente
$ven->setCliente(strtoupper($_REQUEST['txtCliente']));
//Obtenemos el objeto que esta en la sesion
$itemsEnCesta=$_SESSION['itemsEnCesta'];
//Establece el detalle con la informacion de la sesion
$ven->setDetalleVenta($itemsEnCesta);
//Llamamos al metodo insertar ventar
$rpta=$ven->insertarVenta();
//Si rpta es verdadero es proque se inserto
if($rpta){
    //Eliminamos la sesion
    session_destroy();
    //Redireccionamos a un archivo para que nos muestre el mensaje
    header("Location: ../mensaje.php?mensaje=Se registro la venta de manera correcta");
}else{
    header("Location: ../mensaje.php?mensaje=No se pudo registrar la venta");
}
?>

4. Resumen


Al final deberíamos tener la siguiente estructura