public IBusinessConfig <IUnityContainer, TBusinessProcess> ConfigureOperationParameter <TService, TImplementation>(ConstructorParameterCollection constructorArguments, bool updateIfExist = false) where TImplementation : TService
        {
            Guard.Against <ArgumentNullException>(Container == null, "Ошибка определения конфигурации Operation: не определен Unity контейнер");
            Guard.Against <ArgumentNullException>(constructorArguments.IsNullOrEmpty(), "Ошибка определения конфигурации Operation: не определены аргументы конструктора");

            string operationName = typeof(TService).FullName;
            var    config        = new UnityBusinessOperationConfig();

            config.Register(c => c.RegisterType <TService, TImplementation>(new SmartConstructor(constructorArguments)));
            if (updateIfExist)
            {
                BusinessOperationConfigs.Update(operationName, config);
            }
            else
            {
                BusinessOperationConfigs.New(operationName, config);
            }

            return(this);
        }
        public IBusinessConfig <IUnityContainer, TBusinessProcess> ConfigureProcess <TBusinessProcessService, TBusinessProcessImplementation>(ConstructorParameterCollection constructorArguments)
            where TBusinessProcessImplementation : TBusinessProcessService
        {
            Guard.Against <ArgumentNullException>(constructorArguments.IsNullOrEmpty(), "Ошибка определения конфигурации Operation: не определены аргументы конструктора");

            var config = new UnityBusinessProcessConfig <TBusinessProcess>();

            config.Register(c => c.RegisterType <TBusinessProcessService, TBusinessProcessImplementation>(new SmartConstructor(constructorArguments)));
            ProcessConfig = config;

            return(this);
        }
        public IBusinessConfig <IUnityContainer, TBusinessProcess> ConfigureSingletonParameter <TService, TImplementation>(string operationName, ConstructorParameterCollection constructorArguments, bool updateIfExist = false) where TImplementation : TService
        {
            Guard.Against <ArgumentNullException>(Container == null, "Ошибка определения конфигурации Operation: не определен Unity контейнер");
            //Guard.Against<ArgumentNullException>(implementation==null, "Ошибка определения конфигурации Operation: не определен объект implementation");

            var config = new UnityBusinessOperationConfig();

            config.Register(c => c.RegisterType <TService, TImplementation>(operationName, new ContainerControlledLifetimeManager(), new SmartConstructor(constructorArguments)));
            if (updateIfExist)
            {
                BusinessOperationConfigs.Update(operationName, config);
            }
            else
            {
                BusinessOperationConfigs.New(operationName, config);
            }

            return(this);
        }