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)); } } }
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(); } }