Clase Carrito de Compra

Lección 8 del Curso App Restaurant con Carrito

Carrito implementar funcionalidades | CURSO DE FLUTTER APP RESTAURANT CON CARRITO DE COMPRA [Part 8]

Clase Carrito de Compra
Clase Carrito de Compra

¿Cómo implementar un carrito de compra en Flutter?

COMPRA ESTE CURSO

Y accede a todos los recursos y videos, explicación, scripts y descarga del código fuente disponible con la compra del curso

COMPRAR

¿Cómo implementar un carrito de compra en Flutter?

Nuestra app necesita de una clase manager para gestionar las transacciones o funcionalidades de un carrito de compra promedio como:

  1. Listar los productos o Items agregados
  2. Mostrar la cantidad de registros agregados
  3. Inserción de un nuevo Item
  4. Eliminación de un Item
  5. Vaciado del carrito
  6. Y otras funciones como subtotal, total,, impuesto etc. que podamos implementar para nuestro proyecto

Para implementar la clase carrito seguimos:

  1. Creamos una carpeta con el nombre de carrito
  2. Dentro de la carrito creamos un nuevo archivo dart con el nombre de carrito 
  3. Dentro del cual implementamos las funciones necesarias para el propósito del carrito de compra
  4. Obviamente hacemos el import de la clase Item

Bien, veamos parte del código

import 'package:flutter/material.dart';
import 'package:restaurant/model/Item.dart';

class Carrito extends ChangeNotifier{
  Map<String, Item> _items = {};
  Map<String, Item> get items{
    return { ..._items};
  }

  int get numeroItems{
   ...
  }

  double get subTotal{
    ....
  }

  double get impuesto{
    ...
  }

  double get total{
    var total = 0.0;
    total = this.subTotal * 1.18;
    return total;
  }

  void agregarItem( String producto_id,
  String nombre,
  double precio,
  String unidad,
  String imagen,
  int cantidad,
  ){
    if(_items.containsKey(producto_id)){
      _items.update(...
      );
    }else{
      _items.putIfAbsent(
      producto_id,
          ()=>Item(
              id: producto_id,
              nombre: nombre,
              precio: precio,
              unidad: unidad,
              imagen: imagen,
              cantidad: 1
          )
      );
    }
  }

  void removerItem(String producto_id){
    _items.remove(producto_id);
  }

  void incrementarCantidadItem(String producto_id){
    if(_items.containsKey(producto_id)){
      ...
    }
  }

  void decrementarCantidadItem(String producto_id){
    if(!_items.containsKey(producto_id)) return;
    if(_items[producto_id].cantidad>1){
      _items.update(
          producto_id,
              ...
      );
    }else{
      _items.remove(producto_id);
    }
  }

  void removeCarrito(){
    _items={};
  }

}

 


COMPRA ESTE CURSO

Y accede a todos los recursos y videos, explicación, scripts y descarga del código fuente disponible con la compra del curso

COMPRAR

182 visitas

Logo Codea App

Develop your code

© Todos los derechos reservados CODEA APP | Cursos de programación avanzados con proyectos reales | 2020