Exemple #1
0
        private async Task <string> UpdateOrCreateChat()
        {
            Chat   chat             = null;
            string notificationDesc = string.Empty;

            if (_type.Equals(NotificationType.Invitation))
            {
                await AddFriend().ConfigureAwait(true);

                chat = await _repository.CreateChat(ChatType.FriendsChat, _requester).ConfigureAwait(true);

                notificationDesc = $"User {_currentUser.Email} accepted your invitation.";
            }
            else
            {
                chat = await GetChat().ConfigureAwait(true);

                if (chat == null)
                {
                    throw new ArgumentNullException("Chat is null");
                }

                notificationDesc = $"User {_currentUser.Email} accepted invitation to {chat.Name} chat.";
            }

            await _repository.CreateChatMemberships(_requester, _currentUser, chat).ConfigureAwait(true);

            return(notificationDesc);
        }