Esempio n. 1
0
        private static string ToLifeCycleStatus(BroadcastStatus status)
        {
            switch (status)
            {
            case BroadcastStatus.Testing:
                return("testing");

            case BroadcastStatus.Live:
                return("liveStarting");

            case BroadcastStatus.Complete:
                return("complete");

            default:
                throw new NotImplementedException();
            }
        }
Esempio n. 2
0
        private async Task Transition(string eventId, BroadcastStatus status)
        {
            var testRequest = _service.LiveBroadcasts.Transition(status, eventId, "id");
            await testRequest.ExecuteAsync();

            var lifeCycleStatus = ToLifeCycleStatus(status);

            while (true)
            {
                await Task.Delay(TimeSpan.FromSeconds(1));

                var request = _service.LiveBroadcasts.List("id, status");
                request.Id = eventId;
                var response = await request.ExecuteAsync();

                var item = response.Items.Single();
                if (item.Status.LifeCycleStatus == lifeCycleStatus)
                {
                    return;
                }

                Debug.WriteLine($"Current: {item.Status.LifeCycleStatus}, Waiting For: {lifeCycleStatus}");
            }
        }