public void TestMethod1() { var pizzas = new List <Pizza>(); pizzas.Add(new Pizza { Id = 1, Status = PizzaStatus.Bake }); pizzas.Add(new Pizza { Id = 2, Status = PizzaStatus.Bake }); var order = new Order { CustomerName = "test", Pizza = pizzas }; var pizzaStatemachine = new PizzaStateMachine(pizzas.First()); //pizzaStatemachine.Fire(Up); }
async Task <bool> IPizzaGrain.SetupPizza(int orderId, Pizza pizza) { var pizzaStateMachine = new PizzaStateMachine(pizza); var grain = GrainFactory.GetGrain <IOrderGrain>(orderId); _logger.LogInformation($"I am a pizza grain"); while (pizza.Status != PizzaStatus.PackagedForDelivery) { Thread.Sleep(TimeSpan.FromSeconds(5)); pizzaStateMachine.Fire(Trigger.UpdatePizza); await grain.UpdateOrder(pizza); } await grain.UpdateOrder(pizza); return(await Task.FromResult(true)); }