Tienda de disco asp mvc 1.o

Solo disponible en BuenasTareas
  • Páginas : 13 (3061 palabras )
  • Descarga(s) : 0
  • Publicado : 8 de diciembre de 2011
Leer documento completo
Vista previa del texto
Ing. de Sistemas e Informática

COMPRAS CON ACTUALIZACIONES Ajax
Vamos a permitir a los usuarios colocar discos en su carro sin necesidad de registrarse, pero tendrá que registrarse como invitados para completar proceso de pago. El proceso de compra y registro de salida se dividirá en dos controladores: un controlador de CarritoCompra que permite agregar elementos de forma anónima a un carro,y un controlador de Pedido que se encarga del proceso de compra. Vamos a empezar con el carrito de compras en esta sección, y luego construir el proceso de compra en la siguiente sección. En primer lugar vamos a crear dos modelos de Vista para su uso en nuestro controlador de Compras: CarritoCompraViewModel llevará a cabo el contenido de la cesta de la compra del usuario, y elCarritoCompraRemoveViewModel se utiliza para mostrar información de confirmación cuando un usuario quita algo de su carro. Agregue la clase CarritoCompraViewModel en la carpeta ViewModels. Tiene dos propiedades: una lista de elementos Cart, y un valor decimal para mantener el precio total de todos los artículos del carro.

A continuación, agregue el CarritoCompraRemoveViewModel a la carpeta ViewModels, con lascuatro propiedades.

Administracion de la Lógica de Negocio del Carrito de Compras A continuación, vamos a crear la clase CarritoCompra en la carpeta Models. El modelo CarritoCompra maneja los datos de acceso a la tabla del carrito. Además, se encargará de la lógica de negocio para añadir y eliminar elementos del carrito de compras. Dado que no desea que los usuarios suscribirse a una cuenta sólopara añadir artículos a su cesta de la compra, vamos a asignar a los usuarios un único identificador temporal (con un GUID o identificador único global) cuando acceda a la cesta de la compra. Vamos aguardar este ID con la clase de sesión de ASP.NET.

Curso: Desarrollo Rápido de Aplicaciones para Internet

1

Ing. de Sistemas e Informática

La clase CarritoCompra expone los siguientesmétodos: AddToCart tiene un álbum como un parámetro y lo añade a la cesta de los usuarios. Incluye la lógica para crear una nueva fila si es necesario o simplemente aumente la cantidad si el usuario ya ha ordenado una copia del álbum. RemoveFromCart toma un ID de álbum y lo elimina de compra del usuario. Si el usuario sólo tenía una copia del álbum en su carro, la fila se ha eliminado. EmptyCart eliminatodos los elementos de la cesta de la compra de un usuario. GetCartItems recupera una lista de CartItems para su visualización o procesamiento. GetCount recupera un número total de discos que un usuario tiene en su carrito de compras. GetTotal calcula el costo total de todos los artículos en el carro. GetCart es un método estático que permite a nuestros controladores para obtener un objeto decompra. Se utiliza el método GetCartId para manejar la lectura del CartId de la sesión del usuario. El método requiere que el GetCartId HttpContextBase para que pueda leer CartId del usuario de la sesión de usuario. Esta es la clase CarritoCompra:

Curso: Desarrollo Rápido de Aplicaciones para Internet

2

Ing. de Sistemas e Informática

Curso: Desarrollo Rápido de Aplicaciones para Internet3

Ing. de Sistemas e Informática

Curso: Desarrollo Rápido de Aplicaciones para Internet

4

Ing. de Sistemas e Informática

El controlador de Compras
El controlador de Compras tiene tres objetivos principales: la adición de artículos a un carrito, eliminar elementos del carrito, y la visualización de los artículos del carro. Se hará uso de las tres clases que acabamos de crear:CarritoCompraViewModel, CarritoCompraRemoveViewModel y CarritoCompra. Al igual que TiendaController y AdministrarTiendaController, vamos a añadir un campo para contener una instancia de MusicStoreEntities. Agregar un controlador de Compras nuevo al proyecto: CarritoCompraController Aquí está el controlador CarritoCompra completa. El índice de acciones y Add Controller te resultará familiar. Las...
tracking img