/// <summary>
        /// Use strategy of multiple linker for connect entities by specified parameters.
        /// </summary>
        /// <param name="entityName">Name of entities.</param>
        /// <param name="recordsId">Identifier of records.</param>
        /// <param name="parameters">Strategy parameters.</param>
        /// <param name="filtersConfig">Filters configuration.</param>
        public virtual void MultiLinkEntity(string entityName, string[] recordsId, string parameters, string filtersConfig = null)
        {
            if (filtersConfig != null)
            {
                recordsId = GetRecordsIdFromFilters(entityName, filtersConfig);
            }
            IMultiOperationStrategy multiLinkStrategy = GetMultiLinkEntityStrategy(parameters);
            MultiOperationProvider  provider          = GetMultiOperationProvider(multiLinkStrategy, entityName, recordsId);

            provider.DoOperation();
        }
        protected virtual MultiOperationProvider GetMultiOperationProvider(IMultiOperationStrategy strategy, string entityName, string[] recordsId)
        {
            List <Guid> recordsGuid = recordsId.Select(Guid.Parse).ToList();
            var         multiOperationProviderArgs = new[] {
                new ConstructorArgument("strategy", strategy),
                new ConstructorArgument("entityName", entityName),
                new ConstructorArgument("recordsId", recordsGuid)
            };
            MultiOperationProvider provider = ClassFactory.Get <MultiOperationProvider>(multiOperationProviderArgs);

            return(provider);
        }