Exemplo n.º 1
0
        public void AgregarAlCarro(int idProducto, int cantidad = 1)
        {
            var producto = db.Producto.SingleOrDefault(a => a.idProducto == idProducto);
            if (producto.stock <= 0)
            {
                if (!producto.habilitarCompraSinStock)
                {
                    return;

                }
            }
            var item = db.CarritoCompra.SingleOrDefault(a => a.idCarro == idCarro && a.idProducto == producto.idProducto);
            if (item == null)
            {
                item = new CarritoDeCompra()
                {
                    contadorCarro = cantidad,
                    fechaCreacion = DateTime.Now,
                    idCarro = idCarro,
                    idProducto = producto.idProducto
                };
                producto.stock--;
                db.CarritoCompra.Add(item);
            }
            else
            {
                if (cantidad > 1)
                {

                    producto.stock = producto.stock - cantidad;
                    item.contadorCarro = item.contadorCarro + cantidad;
                }
                else
                {
                    item.contadorCarro++;
                    producto.stock--;
                }
            }
            db.SaveChanges();
        }
Exemplo n.º 2
0
 /// <summary>
 /// Haber si jala!!
 /// </summary>
 /// <param name="items"></param>
 /// <returns></returns>
 private int? cargaPrecio(CarritoDeCompra items)
 {
     decimal precio = 0;
     var _precio = db.Precios.Where(a => a.idProducto == items.idProducto).SingleOrDefault();
     if (_precio.descuentoActivo)
     {
         precio = _precio.precioEsp * items.contadorCarro;
     }
     else
     {
         precio = _precio.precio * items.contadorCarro;
     }
     return Convert.ToInt32(precio);
 }
Exemplo n.º 3
0
 private string calcularPrecio(CarritoDeCompra items)
 {
     if (items != null)
         return (precioProducto(items.producto) * items.contadorCarro).ToString();
     return "0";
 }