Ejemplo n.º 1
0
 /// <summary>
 /// Устанавливает свойства по-умолчанию для всех сервисов обработки сообщений, если для сервисов не заданы собственные значения свойств.
 /// </summary>
 /// <param name="messagingServiceOptions">Параметры сервисов обработки сообщений по-умолчанию.</param>
 /// <exception cref="ArgumentNullException">Возникает, если <paramref name="messagingServiceOptions"/> равен null.</exception>
 public void SetMessagingServiceOptionsDefault(MessagingServiceOptions messagingServiceOptions)
 {
     if (messagingServiceOptions == null)
     {
         throw new ArgumentNullException(nameof(messagingServiceOptions));
     }
     _messagingServiceOptionsDefault = messagingServiceOptions;
 }
Ejemplo n.º 2
0
 internal ExecutionResult SetMessagingServiceOptionsInternal(int idMessageType, MessagingServiceOptions messagingServiceOptions)
 {
     if (messagingServiceOptions == null)
     {
         throw new ArgumentNullException(nameof(messagingServiceOptions));
     }
     _messagingServiceOptions[idMessageType] = messagingServiceOptions;
     return(new ExecutionResult(true));
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Устанавливает свойства сервиса обработки сообщений.
        /// </summary>
        /// <typeparam name="TMessagingServiceType">Тип сервиса обработки сообщений.</typeparam>
        /// <param name="messagingServiceOptions">Параметры сервиса обработки сообщений.</param>
        /// <exception cref="ArgumentNullException">Возникает, если <paramref name="messagingServiceOptions"/> равен null.</exception>
        /// <returns>Возвращает объект <see cref="ExecutionResult"/> со свойством <see cref="ExecutionResult.IsSuccess"/> в зависимости от успешности выполнения операции. В случае ошибки свойство <see cref="ExecutionResult.Message"/> содержит сообщение об ошибке.</returns>
        public ExecutionResult SetMessagingServiceOptions <TMessagingServiceType>(MessagingServiceOptions messagingServiceOptions)
            where TMessagingServiceType : IMessagingService
        {
            if (!_services.Any(x => x.GetType() == typeof(TMessagingServiceType)))
            {
                return(new ExecutionResult(false, "Указанный сервис обработки сообщений не найден."));
            }

            var type        = TypeHelpers.ExtractGenericType(typeof(TMessagingServiceType), typeof(MessagingServiceBase <>));
            var messageType = Core.Items.ItemTypeFactory.GetItemType(type.GenericTypeArguments[0]);

            return(SetMessagingServiceOptionsInternal(messageType.IdItemType, messagingServiceOptions));
        }