Curso App restaurant con pedidos en Flutter
Lección 4: Modelos: Menu, Item y Cart
En esta lección, aprenderás a definir y estructurar los modelos Menu, Item y Cart por separado en la aplicación de restaurante con Flutter. Estos modelos representan los menús del restaurante, los productos individuales y el carrito de compras.
En esta lección, aprenderás a definir y estructurar los modelos Menu
, Item
y Cart
por separado en la aplicación de restaurante con Flutter. Estos modelos representan los menús del restaurante, los productos individuales y el carrito de compras. Cada uno tendrá su propia clase, facilitando la organización del código y permitiendo una gestión eficiente de los datos dentro de la aplicación. Además, verás cómo implementar la lógica básica para agregar, eliminar y calcular el total de items en el carrito.
Menu
El modelo Menu
representa un conjunto de items o productos que están disponibles en el restaurante. Cada menú puede contener múltiples items, y está diseñado para agrupar categorías de productos (como bebidas, comidas, postres, etc.).
Menu
dart
class Menu {
final int id;
final String name;
final List<Item> items;
Menu({
required this.id,
required this.name,
required this.items,
});
factory Menu.fromJson(Map<String, dynamic> json) {
return Menu(
id: json['id'],
name: json['name'],
items: (json['items'] as List).map((item) => Item.fromJson(item)).toList(),
);
}
}
Item
.Item
El modelo Item
representa cada producto individual dentro de un menú. Cada item tiene un nombre, una descripción, un precio, y puede tener una imagen asociada.
Item
dart
class Item {
final int id;
final String name;
final String description;
final double price;
final String imageUrl;
Item({
required this.id,
required this.name,
required this.description,
required this.price,
required this.imageUrl,
});
factory Item.fromJson(Map<String, dynamic> json) {
return Item(
id: json['id'],
name: json['name'],
description: json['description'],
price: json['price'],
imageUrl: json['imageUrl'],
);
}
}
Cart
El modelo Cart
se encarga de gestionar el carrito de compras, donde se almacenan los items seleccionados por el usuario. Contiene la lógica para agregar y remover items, así como para calcular el total del carrito.
Cart
class Cart {
final int id;
final String name;
final double price;
final String image;
final int qty;
Cart({
required this.id,
required this.name,
required this.price,
required this.image,
required this.qty,
});
// Calcular el subtotal para un item
double get subtotal => price * qty;
}
qty
).2202 visitas
« Capítulo 3 – API REST en Laravel para Obtener JSON
Capítulo 5 – Implementación de ApiService »
Descarga el código fuente del proyecto adquiriendo el curso completo
Comprar© Copyright Codea::App Cursos de Programación Online | LATAM | 2020 - 2024