Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }