Example #1
0
        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));
        }
Example #2
0
        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));
        }