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")); }