public async Task <ActionResult> PostMessage(MessageCreateModel messageCreateModel) { MessageDto messageCreateDto = _mapper.Map <MessageDto>(messageCreateModel); messageCreateDto.SenderId = User.GetUserID(); MessageDto createdMessageDto = await _messageService.CreateMessage(messageCreateDto); MessageWebModel createdMessageModel = _mapper.Map <MessageWebModel>(createdMessageDto); return(CreatedAtAction("GetById", new { id = createdMessageModel.MessageId }, createdMessageModel)); }
public async Task <IActionResult> MarkRead([FromRoute] int messageId) { int authorizedUserID = User.GetUserID(); MessageDto messageDto = await _messageService.GetById(messageId); if (messageDto == null) { return(NotFound()); } if (messageDto.RecieverId != authorizedUserID) { return(StatusCode((int)HttpStatusCode.Forbidden, "You are not allowed to mark this message as read")); } MessageDto messageUpdateDto = await _messageService.MarkMessageAsRead(messageId); MessageWebModel messageModel = _mapper.Map <MessageWebModel>(messageUpdateDto); return(Ok(messageModel)); }