public ActionResult Agregar(CarroCompras carroCompras, int id, string regresarUrl)
        {
            Producto producto = context.Productos.FirstOrDefault(p => p.Id == id);
            carroCompras.AgregarLinea(producto);

            return RedirectToAction("Mostrar", new { regresarUrl });
        }
예제 #2
0
 public Orden(CarroCompras carroCompras)
 {
     this.Envio          = carroCompras.Envio;
     this.TotalProductos = carroCompras.Total;
     this.TotalEnvio     = 20;
     this.Total          = carroCompras.Total + 20;
 }
예제 #3
0
 public Orden(CarroCompras carroCompras)
 {
     this.Envio = carroCompras.Envio;
     this.TotalProductos = carroCompras.Total;
     this.TotalEnvio = 20;
     this.Total = carroCompras.Total + 20;
 }
예제 #4
0
 public void AgregarLineasCarroCompras(CarroCompras carroCompras)
 {
     foreach (var lineaCarro in carroCompras.Detalle)
     {
         var lineaOrden = new LineaOrden(lineaCarro.Producto, lineaCarro.Cantidad);
         this.Lineas.Add(lineaOrden);
     }
 }
        public void AgregaUnaNuevaLineaCuandoElProductoNoExiste()
        {
            var carroCompras = new CarroCompras();

            carroCompras.AgregarLinea(new Producto());

            Assert.AreEqual(1, carroCompras.CantidadProductos);
        }
 public ActionResult Comprar(CarroCompras carroCompras)
 {
     //DatabaseContext context = new DatabaseContext();
     //var orden = new Orden(carroCompras);
     //context.Ordenes.Add(orden);
     //context.SaveChanges();
     return View();
 }
예제 #7
0
 public void AgregarLineasCarroCompras(CarroCompras carroCompras)
 {
     foreach (var lineaCarro in carroCompras.Detalle)
     {
         var lineaOrden = new LineaOrden(lineaCarro.Producto, lineaCarro.Cantidad);
         this.Lineas.Add(lineaOrden);
     }
 }
        public void IncrementaLaCantidadAlAgregarUnaLineaCuandoElProductoExiste()
        {
            var carroCompras = new CarroCompras();
            carroCompras.AgregarLinea(new Producto { Id = 1 });

            carroCompras.AgregarLinea(new Producto { Id = 1 });

            Assert.AreEqual(2, carroCompras.CantidadProductos);
        }
예제 #9
0
        public void AgregarLinea_ProductoYaExiste_IncrementaLaCantidadDeLaLinea()
        {
            var carroCompras = new CarroCompras();
            carroCompras.AgregarLinea(new Producto { Id = 1 });

            carroCompras.AgregarLinea(new Producto { Id = 1 });

            Assert.AreEqual(2, carroCompras.CantidadProductos);
        }
예제 #10
0
        public void ActualizarLinea_ProductoExiste_CantidadIncrementada()
        {
            var carroCompras = new CarroCompras();
            carroCompras.AgregarLinea(new Producto { Id = 1 });

            carroCompras.ActualizarLinea(1, 3);

            Assert.AreEqual(3, carroCompras.CantidadProductos);
        }
예제 #11
0
        public void ActualizarLinea_CantidadCero_RemueveLaLinea()
        {
            var carroCompras = new CarroCompras();
            carroCompras.AgregarLinea(new Producto { Id = 1 });

            carroCompras.ActualizarLinea(1, 0);

            Assert.AreEqual(0, carroCompras.CantidadProductos);
        }
        public void ActualizaLaCantidadCuandoElProductoExiste()
        {
            var carroCompras = new CarroCompras();
            carroCompras.AgregarLinea(new Producto { Id = 1 });

            carroCompras.ActualizarLinea(1, 3);

            Assert.AreEqual(3, carroCompras.CantidadProductos);
        }
 public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
 {
     CarroCompras carroCompras = (CarroCompras)controllerContext.HttpContext.Session[sessionKey];
     if (carroCompras == null)
     {
         carroCompras = new CarroCompras();
         controllerContext.HttpContext.Session[sessionKey] = carroCompras;
     }
     return carroCompras;
 }
 public ActionResult Confirmacion(CarroCompras carroCompras)
 {
     //var confirmacion = new Confirmacion
     //    {
     //        Productos = carroCompras.TotalProductos(),
     //        Envio = carroCompras.TotalEnvio(),
     //        Total = carroCompras.Total()
     //    };
     return View(carroCompras);
 }
예제 #15
0
        public void AgregarLinea_ProductoNoExiste_LineaAgregada()
        {
            //Arrange
            var carroCompras = new CarroCompras();

            //Act
            carroCompras.AgregarLinea(new Producto());

            //Assert
            Assert.AreEqual(1, carroCompras.CantidadProductos);
        }
예제 #16
0
        public void RemoverLinea_ProductoExiste_RemueveLaLinea()
        {
            //Arrange
            var carroCompras = new CarroCompras();
            carroCompras.AgregarLinea(new Producto { Id = 1 });

            //Act
            carroCompras.RemoverLinea(1);

            //Assert
            Assert.AreEqual(0, carroCompras.CantidadProductos);
        }
        public void DataDrivenTesting()
        {
            var carroCompras = new CarroCompras();
            int cantidad = int.Parse(this.TestContext.DataRow["Cantidad"].ToString());
            int precio = int.Parse(this.TestContext.DataRow["Precio"].ToString()); ;
            int costoenvio = int.Parse(this.TestContext.DataRow["CostoEnvio"].ToString());
            for (int i = 0; i < cantidad; i++)
            {
                carroCompras.AgregarLinea(new Producto
                {
                    Id = 1,
                    Precio = precio
                });
            }
            carroCompras.CostoEnvio = costoenvio;

            var total = carroCompras.Total;

            Assert.AreEqual(int.Parse(this.TestContext.DataRow["Total"].ToString()),total);
        }
 public ActionResult Mostrar(CarroCompras carroCompras, string regresarUrl)
 {
     ViewBag.RegresarUrl = regresarUrl;
     return View(carroCompras);
 }
 public ActionResult Envio(CarroCompras carroCompras, DireccionEnvio envio)
 {
     carroCompras.Envio = envio;
     return RedirectToAction("Confirmacion");
 }
        public void SeProduceUnErrorAlActualizarCuandoElProductoNoExiste()
        {
            var carroCompras = new CarroCompras();

            carroCompras.ActualizarLinea(1, 1);
        }
        public void RemueveLaLineaAlActualizarCuandoLaCantidadEsCero()
        {
            var carroCompras = new CarroCompras();
            carroCompras.AgregarLinea(new Producto { Id = 1 });

            carroCompras.ActualizarLinea(1, 0);

            Assert.AreEqual(0, carroCompras.CantidadProductos);
        }
 public ActionResult Actualizar(CarroCompras carroCompras, int id, int cantidad, string regresarUrl)
 {
     carroCompras.ActualizarLinea(id, cantidad);
     return RedirectToAction("Mostrar", new { regresarUrl });
 }
 public ActionResult Eliminar(CarroCompras carroCompras, int id, string regresarUrl)
 {
     carroCompras.RemoverLinea(id);
     return RedirectToAction("Mostrar", new { regresarUrl });
 }