void HandleMessage()

in foreign/csharp/Iggy_Sample_Consumer/Program.cs [120:164]


void HandleMessage(MessageResponse<Envelope> messageResponse)
{
    Console.Write(
        $"Handling message type: {messageResponse.Message.MessageType} with state {messageResponse.State.ToString()}, checksum: {messageResponse.Checksum}, at offset: {messageResponse.Offset} with message Id:{messageResponse.Id.ToString()} ");
    Console.WriteLine();
    Console.WriteLine("---------------------------MESSAGE-----------------------------------");
    Console.WriteLine();

    switch (messageResponse.Message.MessageType)
    {
        case "order_created":
            {
                var orderCreated = JsonSerializer.Deserialize<OrderCreated>(messageResponse.Message.Payload, jsonOptions);
                Console.WriteLine(orderCreated);
                break;
            }
        case "order_confirmed":
            {
                var orderConfirmed =
                    JsonSerializer.Deserialize<OrderConfirmed>(messageResponse.Message.Payload, jsonOptions);
                Console.WriteLine(orderConfirmed);
                break;
            }
        case "order_rejected":
            {
                var orderRejected = JsonSerializer.Deserialize<OrderRejected>(messageResponse.Message.Payload, jsonOptions);
                Console.WriteLine(orderRejected);
                break;
            }
    }


    if (messageResponse.Headers is not null)
    {
        Console.WriteLine();
        Console.WriteLine("---------------------------HEADERS-----------------------------------");
        Console.WriteLine();
        foreach (var (headerKey, headerValue) in messageResponse.Headers)
        {
            Console.WriteLine("Found Header: {0} with value: {1}, ", headerKey.ToString(), headerValue.ToString());
                }
        Console.WriteLine();
    }
    //await Task.Delay(1000);
}