예제 #1
0
        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);
        }