Processamento de pedidos com delegados para filtragem e classificação

C# Medium delegates

Tarefa «Processamento de pedidos com delegados para filtragem e classificação»

Implemente um programa para processar uma lista de pedidos. Você tem uma classe Order com os campos Id (int), CustomerName (string), Amount (decimal) e Status (string: "Pending", "Shipped", "Delivered"). No Main, crie uma lista de 5 pedidos. Use o delegado Func<Order, bool> para filtrar pedidos por status e o delegado Comparison<Order> para classificar por valor (em ordem crescente). Escreva um método ProcessOrders que recebe a lista, o delegado de filtragem e o delegado de comparação, aplica o filtro, classifica o resultado e exibe os pedidos filtrados no formato "Id: X, Customer: Y, Amount: Z, Status: W". No Main, chame ProcessOrders para filtrar pedidos com status "Pending" e classificar por Amount.

Formato de Entrada

Não há dados de entrada. Os pedidos são criados no código.

Formato de Saída

Linhas com informações sobre os pedidos filtrados e classificados. Cada linha no formato: "Id: X, Customer: Y, Amount: Z, Status: W".

Exemplos

Exemplo 1

ENTRADA
7 insert 10 insert 5 insert 15 search 10 delete 10 search 10 height
SAÍDA
Id: 5, Customer: Eve, Amount: 200.00, Status: Pending Id: 1, Customer: Alice, Amount: 250.50, Status: Pending Id: 3, Customer: Charlie, Amount: 300.75, Status: Pending

Exemplo 2

ENTRADA
5 insert 1 insert 2 insert 3 height search 3
SAÍDA
Id: 5, Customer: Eve, Amount: 200.00, Status: Pending Id: 1, Customer: Alice, Amount: 250.50, Status: Pending Id: 3, Customer: Charlie, Amount: 300.75, Status: Pending
main.cs