Example #1
0
        public async Task <ActionResult> DeleteMessage(int id)
        {
            var username = User.GetUserName();
            var message  = await _messagesRepository.GetMessage(id);

            if (message.SenderUsername != username && message.RecipientUsername != username)
            {
                return(Unauthorized());
            }

            if (message.SenderUsername == username)
            {
                message.SenderDeleted = true;
            }
            if (message.RecipientUsername == username)
            {
                message.RecipientDeleted = true;
            }
            if (message.SenderDeleted && message.RecipientDeleted)
            {
                _messagesRepository.DeleteMessage(message);
            }

            if (await _messagesRepository.SaveAllAsync())
            {
                return(Ok());
            }

            return(BadRequest("There was a problem deleting the message"));
        }
        public async Task <IActionResult> GetMessage(int userId, int id)
        {
            if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }

            var messageFromRepo = await messagesRepository.GetMessage(id);

            if (messageFromRepo == null)
            {
                return(NotFound());
            }

            return(Ok(messageFromRepo));
        }
Example #3
0
        public async Task <ActionResult> Post([FromBody] MessageContent messageModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var messageId     = _messagesRepository.SaveMessage(messageModel.Text);
            var storedMessage = _messagesRepository.GetMessage(messageId);

            var json = JsonConvert.SerializeObject(storedMessage);

            await _webSocketService.SendMessageToAllAsync(json);

            return(Ok());
        }
Example #4
0
 public Message GetMessage(Guid id)
 {
     try
     {
         return(_messagesRepository.GetMessage(id));
     }
     catch (SqlException exception)
     {
         var response = new HttpResponseMessage(HttpStatusCode.NotFound)
         {
             Content = new StringContent(exception.Message)
         };
         throw new HttpResponseException(response);
     }
     catch (Exception exception)
     {
         var response = new HttpResponseMessage(HttpStatusCode.Conflict)
         {
             Content = new StringContent(exception.Message)
         };
         throw new HttpResponseException(response);
     }
 }
Example #5
0
        public async Task <ActionResult> DelteMessage(int id)
        {
            var user = User.GetUsername();

            var message = await _messageRepository.GetMessage(id);

            if (message.Sender.UserName != user && message.Recipient.UserName != user)
            {
                return(Unauthorized());
            }

            if (message == null)
            {
                return(BadRequest());
            }

            if (message.Sender.UserName == user)
            {
                message.SenderDeleted = true;
            }
            else
            {
                message.RecipientDeleted = true;
            }

            if (message.SenderDeleted && message.RecipientDeleted)
            {
                _messageRepository.DeleteMessage(message);
            }

            if (await _messageRepository.SaveAllAsync())
            {
                return(Ok());
            }
            return(BadRequest());
        }
 public void OnGet(int id)
 {
     GetMessages = _messagesRepository.GetMessage(id);
     GetCategory = _categoryRepos.ReadOneCategories(GetMessages.CategoryId);
 }
Example #7
0
 public async Task <Message> GetMessage(int id)
 {
     return(await _messagesRepo.GetMessage(id));
 }