public UpdateInfoDto GetUpdate(OrderCoffeDto order) { if (random.Next(1, 5) != 4) { return(new UpdateInfoDto { IsNew = false }); } var index = GetNextStatusIndex(order.OrderCoffeeId); if (Status.Length <= index) { return(new UpdateInfoDto { IsNew = false }); } var result = new UpdateInfoDto { OrderCoffeeId = order.OrderCoffeeId, IsNew = true, Update = Status[index], IsFinished = (Status.Length - 1 == index) }; return(result); }
public async Task GetUpdateForOrder(OrderCoffeDto order) { //Context.User.Identity await Clients.Others.NewOrder(order); UpdateInfoDto result; do { result = _orderChecker.GetUpdate(order); await Task.Delay(700); if (!result.IsNew) { continue; } await Clients.Caller.ReceiveOrderUpdate(result); await Clients.Group("allUpdateReceivers").ReceiveOrderUpdate(result); } while (!result.IsFinished); await Clients.Caller.Finished(order); }
public int OrderCoffee(OrderCoffeDto order) { OrderId++; return(OrderId); //return order id }