protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            Console.WriteLine("Customer Approval Service Started");


            var consumerHelper  = new ConsumerHandler(_consumerConfig, "customers_not_validated");
            var customerMessage = consumerHelper.ReadMessage(stoppingToken);


            //Deserilaize
            Customer customer = JsonConvert.DeserializeObject <Customer>(customerMessage.Value);

            //TODO:: Validate Customer Approval
            Console.WriteLine($"Info: CustomerHandler => Verifying customer {customer.Name}");
            if (customer.Id == 10)
            {
                throw new Exception("Teste");
            }
            // Customer Verified
            customer.Status = Status.APPROVED;

            //Write to ReadyToShip Queue

            var producerHandler = new ProducerHandler(_producerConfig, "customers");
            await producerHandler.WriteMessage(JsonConvert.SerializeObject(customer));
        }
        public async Task <ActionResult> AcceptCustomerAsync([FromBody] Customer customer)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            //Serialize
            string serializedCustomer = JsonConvert.SerializeObject(customer);

            Console.WriteLine("========");
            Console.WriteLine("Info: CustomersController => Post => Received new customer to approve:");
            Console.WriteLine(serializedCustomer);
            Console.WriteLine("=========");

            var producer = new ProducerHandler(_producerConfig, "customers_not_validated");
            await producer.WriteMessage(serializedCustomer);

            return(Created("CreationId", "Processing customer approval"));
        }