internal JsWorkerServiceMethodBuilder(JsWorkerBuilder builder, IServiceCollection serviceCollection)
        {
            Builder = builder;

            var serviceType = typeof(TService);

            if (!serviceCollection.Any(x => x.ServiceType == serviceType) && !ExceptionalTypes.Contains(serviceType))
            {
                throw new InvalidOperationException(string.Format(ExceptionTexts.TypeOfServiceNotRegisteredInServiceCollectionFormat, serviceType.FullName));
            }
        }
Beispiel #2
0
        /// <summary>
        /// Добавить нового рабочего
        /// </summary>
        /// <param name="jsWorkerBuilderFunc"></param>
        /// <returns></returns>
        public JsExecutorBuilder AddJsWorker(Func <JsWorkerBuilder, JsWorkerDocumentation> jsWorkerBuilderFunc)
        {
            var jsWorkerBuilder = new JsWorkerBuilder(this);

            var jsWorker = jsWorkerBuilderFunc(jsWorkerBuilder);

            jsWorker.Validate();
            if (_jsWorkers.ContainsKey(jsWorker.WorkerName))
            {
                throw new InvalidOperationException(string.Format(ExceptionTexts.JsWorkerWithNameAlreadyRegisteredFormat, jsWorker.WorkerName));
            }

            _jsWorkers.Add(jsWorker.WorkerName, jsWorker);
            return(this);
        }