public async Task <Message> CreateAsync(SendModel sendModel, int userId, string message, Guid conversationId) { if (sendModel == null) { throw new ArgumentNullException(nameof(sendModel)); } if (string.IsNullOrEmpty(message)) { throw new ArgumentException("Value cannot be null or empty.", nameof(message)); } if (userId <= 0) { throw new ArgumentOutOfRangeException(nameof(userId)); } var newMessage = new Message { SendDate = sendModel.SendDate, SaveDate = DateTime.UtcNow, ConversationId = conversationId, MessageStr = message, Sender = userId, IsUnread = true }; var createdMessage = await _messageStorage.CreateAsync(newMessage); return(createdMessage); }