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)); } }
/// <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); }