Example #1
0
        public void fromUpdateDto(InviteUpdateDto inviteUpdate, IMapper mapper)
        {
            LastActive = DateTime.Now;
            InviteAnswers.SetStatus("H");
            InviteAnswers.Add(mapper.Map <InviteAnswer>(inviteUpdate.InviteAnswer));

            foreach (var invitee in inviteUpdate.Invitees)
            {
                var repoInvitee = Invitees.FirstOrDefault(i => i.Id == invitee.Id);

                if (repoInvitee == null)
                {
                    var newInvitee = mapper.Map <Invitee>(invitee);
                    newInvitee.InviteeAnswers = new List <InviteeAnswer>();
                    newInvitee.InviteeAnswers.Add(mapper.Map <InviteeAnswer>(invitee.InviteeAnswer));
                    Invitees.Add(newInvitee);
                }
                else
                {
                    if (invitee.isNew && !invitee.InviteeAnswer.IsAttending)
                    {
                        repoInvitee.WasRemoved = true;
                    }
                    repoInvitee.InviteeAnswers.SetStatus("H");
                    repoInvitee.InviteeAnswers.Add(mapper.Map <InviteeAnswer>(invitee.InviteeAnswer));
                }
            }
        }
Example #2
0
        protected override void GotLobbyStatus(LobbyStatus status)
        {
            lobbyStatus = status;

            if (ChatLobby == null)
            {
                ChatLobby = new GroupChat(RiotChat.GetLobbyRoom(status.InvitationID, status.ChatKey), status.ChatKey);
            }

            foreach (var raw in status.InvitedPlayers)
            {
                if (!Invitees.ContainsKey(raw.SummonerId))
                {
                    var invitee = new LobbyInvitee(raw, this);
                    Invitees.Add(invitee.SummonerID, invitee);
                    OnMemberJoined(invitee);
                }
            }

            if (GroupData != null)
            {
                UpdateSlots();
            }

            if (!loaded)
            {
                OnLoaded();
            }
        }