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