Beispiel #1
0
        public async Task <ActionResult <MessageDto> > AddMessage(string userId, MessageToAddDto messageToAdd)
        {
            try
            {
                if (Guid.TryParse(userId, out Guid gUserId))
                {
                    if (await _userService.CheckIfUserExists(gUserId))
                    {
                        MessageDto addedMessage = await _messageService.AddMessageAsync(gUserId, messageToAdd);

                        return(CreatedAtRoute("GetMessage",
                                              new
                        {
                            userId,
                            messageId = addedMessage.Id
                        },
                                              addedMessage));
                    }
                    else
                    {
                        return(NotFound($"User: {userId} not found."));
                    }
                }
                else
                {
                    return(BadRequest($"{userId} is not valid guid."));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Error occured during adding the user message. User id: {user}", userId);
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }
Beispiel #2
0
        public async Task <MessageDto> AddMessageAsync(Guid userId, MessageToAddDto message)
        {
            _logger.LogDebug("Trying to add the message {message}.", message);
            if (message is null)
            {
                throw new ArgumentNullException(nameof(message));
            }
            if (message.FromWho == Guid.Empty || userId == Guid.Empty)
            {
                throw new ArgumentNullException(nameof(Guid));
            }
            try
            {
                Message messageToAdd = _mapper.Map <Message>(message);
                messageToAdd.ToWho = userId;
                Message addedMessage = await _messageRepository.AddAsync(messageToAdd);

                await _messageRepository.SaveAsync();

                return(_mapper.Map <MessageDto>(addedMessage));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Error occured during adding the message.");
                throw;
            }
        }
Beispiel #3
0
 public MessagesControllerAddMessageTests() : base()
 {
     _messageToAdd = _fixture.Create <MessageToAddDto>();
 }