public async Task <ServiceResult <UserChat> > RemoveUserFromChat(string chatId, string userId) { var chatEntity = await chatRepository.Get(chatId); if (chatEntity == null) { return(new ServiceResult <UserChat>($"No chat with id {chatId}")); } var user = await userManager.FindByIdAsync(userId); if (user == null) { return(new ServiceResult <UserChat>($"No user with id {userId}")); } var userChatEntity = await userChatRepository.Get(userId, chatId); if (userChatEntity == null) { return(new ServiceResult <UserChat>($"Something went wrong)")); } userChatRepository.Delete(userChatEntity); return(new ServiceResult <UserChat>(userChatEntity)); }
public async Task <ServiceResult <Message> > Add(Message message) { var userChatEntity = userChatRepository.Get(message.SenderId, message.ChatId.ToString()); if (userChatEntity == null) { return(new ServiceResult <Message>("There is no reference between specified user and chat")); } var messageEntity = await messageRepository.Add(message); return(new ServiceResult <Message>(messageEntity)); }