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)); } }
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; } }
public MessagesControllerAddMessageTests() : base() { _messageToAdd = _fixture.Create <MessageToAddDto>(); }