Skip to content

Instantly share code, notes, and snippets.

@manoellribeiro
Created April 1, 2021 19:56
Show Gist options
  • Save manoellribeiro/b31050643fbe0b05f3cb7ed925baa223 to your computer and use it in GitHub Desktop.
Save manoellribeiro/b31050643fbe0b05f3cb7ed925baa223 to your computer and use it in GitHub Desktop.
Daniel - Exercícios - Delivery
void main() {
// 1. Criar uma função para aceitar pedidos automaticamente de uma lista de pedidos. Mudando o estado de todos os pedidos que atendem os critérios para accepted.
// Critérios:
// 1 - Apenas pedidos com status waiting podem ter seu status alterado para accepted
// 2 - Apenas pedidos com valor menor que 50 pode ser "auto-aceitos".
// 2. Criar uma função para cancelar todos os pedidos de uma lista de pedidos, mudando o status de cada pedido para cancelled.
// 3. Criar uma função que retorne todos os pedidos de uma lista com um determinado status.
}
enum OrderStatus {
waiting, //Pedido feito, mas ainda não aceito pelo estabelecimento.
accepted,
cooking,
ready,
dispatched, //Produto enviado para o destino.
concluded,
cancelled
}
class DeliveryOrder {
OrderStatus orderStatus;
final int id;
final String name;
final int value;
DeliveryOrder({
required this.id,
required this.name,
required this.orderStatus,
required this.value,
});
}
final ordersList = [
DeliveryOrder(
id: 1,
name: 'Pizza',
orderStatus: OrderStatus.waiting,
value: 40
),
DeliveryOrder(
id: 2,
name: 'Hamburguer',
orderStatus: OrderStatus.ready,
value: 25
),
DeliveryOrder(
id: 3,
name: 'Milk Shake',
orderStatus: OrderStatus.waiting,
value: 15
),
DeliveryOrder(
id: 4,
name: 'Yakisoba',
orderStatus: OrderStatus.accepted,
value: 60,
),
DeliveryOrder(
id: 5,
name: 'Acarajé',
orderStatus: OrderStatus.concluded,
value: 30,
),
DeliveryOrder(
id: 6,
name: 'Churrasco',
orderStatus: OrderStatus.concluded,
value: 80,
),
];
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment