/// <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; }
internal ExecutionResult SetMessagingServiceOptionsInternal(int idMessageType, MessagingServiceOptions messagingServiceOptions) { if (messagingServiceOptions == null) { throw new ArgumentNullException(nameof(messagingServiceOptions)); } _messagingServiceOptions[idMessageType] = messagingServiceOptions; return(new ExecutionResult(true)); }
/// <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)); }