private static ProcessSale GenerateMessage(Guid guid) { //create a message var sale = new ProcessSale { OrderId = guid.ToString(), OrderDate = DateTime.UtcNow }; var list = new List <ProcessSale.OrderItem>(); var itemCount = rnd.Next(1, 5); for (int i = 0; i < itemCount; i++) { list.Add(new ProcessSale.OrderItem { Price = rnd.NextDouble() + rnd.Next(0, 50), Quantity = rnd.Next(1, 10) }); } sale.Items = list.ToArray(); return(sale); }
static async Task Main() { // Create service collection ServiceCollection serviceCollection = new ServiceCollection(); ConfigureServices(serviceCollection); //Set console title Console.Title = EndpointName; //Configure logging LogManager.Use <DefaultFactory>() .Level(LogLevel.Info); log = LogManager.GetLogger <Program>(); //Configure NSB Endpoint EndpointConfiguration endpointConfiguration = EndpointConfigurations.ConfigureNSB(serviceCollection, EndpointName); //Start NSB Endpoint EndpointInstance = await Endpoint.Start(endpointConfiguration); //Support Graceful Shut Down of NSB Endpoint in PCF AppDomain.CurrentDomain.ProcessExit += CurrentDomain_ProcessExit; log.Info("ENDPOINT READY"); while (true) { var guid = Guid.NewGuid(); log.Info($"Requesting to get data by id: {guid:N}"); ProcessSale message = GenerateMessage(guid); //Send a message to a specific queue await EndpointInstance.Send("Sales", message); // Sleep as long as you need. Thread.Sleep(1000); } }