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)); }
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()); }
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); } }
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); }
public async Task <Message> GetMessage(int id) { return(await _messagesRepo.GetMessage(id)); }