Exemplo n.º 1
0
        public void RunCueGroup(CueState cueState)
        {
            var cueGroup = cuegroupHandler.GetCueGroup(cueState.CueId);

            foreach (var cue in cueGroup.Cues)
            {
                var owningCueBook = cue.CueBook;
                Clients.Group(GetCrewGroupName(owningCueBook.Show.Id, owningCueBook.Id)).runCue(new CueState(cue.Id, cue.Number, cueState.Status));
            }

            ShowHub.UpdateCueGroupState(cueState, this);
        }
Exemplo n.º 2
0
        public void StageManagerJoin(int showId)
        {
            ShowHub.EmptyCueGroupState(showId);

            Groups.Add(Context.ConnectionId, GetStageManagerGroupName(showId));
            Groups.Add(Context.ConnectionId, GetShowGroupName(showId));
            ShowHub.showDictionary.Add(Context.ConnectionId, new CrewState()
            {
                ShowId = showId, CueBookName = "Stage Manager", IsStageManager = true
            });

            foreach (var kvp in ShowHub.showDictionary.Where(kvp => !kvp.Value.IsStageManager))
            {
                Clients.Caller.crewJoined(new CrewMember(kvp.Key, kvp.Value.CueBookName));
            }
        }
Exemplo n.º 3
0
        public void Join(int showId, int cuebookId)
        {
            var cueBook = cuebookHandler.GetCueBook(cuebookId);

            Groups.Add(Context.ConnectionId, GetShowGroupName(showId));
            Groups.Add(Context.ConnectionId, GetCrewGroupName(showId, cuebookId));
            ShowHub.showDictionary.Add(Context.ConnectionId, new CrewState()
            {
                ShowId = showId, CueBookName = cueBook.Name, IsStageManager = false
            });

            Clients.Group(GetStageManagerGroupName(showId)).crewJoined(new CrewMember(Context.ConnectionId, cueBook.Name));

            foreach (var cs in ShowHub.GetPreviousCues(showId, cuebookId, this))
            {
                Clients.Caller.runCue(cs);
            }
        }
Exemplo n.º 4
0
        private static void UpdateCueGroupState(CueState state, ShowHub hub)
        {
            var show = hub.cuegroupHandler.GetCueGroup(state.CueId).StageManagerCueBook.Show;

            if (!cueDictionary.ContainsKey(show.Id))
            {
                cueDictionary.Add(show.Id, new List <CueState>());
            }
            var internalCueState = cueDictionary[show.Id].FirstOrDefault(cs => cs.CueId == state.CueId);

            if (internalCueState == null)
            {
                cueDictionary[show.Id].Add(state);
            }
            else
            {
                internalCueState.Status = state.Status;
            }
        }
Exemplo n.º 5
0
 private static IEnumerable <CueState> GetPreviousCues(int showId, int cuebookId, ShowHub hub)
 {
     foreach (var cs in GetPreviousCues(showId))
     {
         var realCues = hub.cuegroupHandler.GetCueGroup(cs.CueId).Cues.Where(c => c.CueBook.Id == cuebookId);
         foreach (var c in realCues)
         {
             yield return(new CueState(c.Id, c.Number, cs.Status));
         }
     }
 }