Ejemplo n.º 1
0
            public override IEnumerable GetData(ParameterInfo parameter)
            {
                if (Include != null)
                {
                    var list = Include.Intersect(
                        IncludeLinqService ?
                        UserProviders.Concat(UserProviders.Select(p => p + ".LinqService")) :
                        UserProviders).
                               ToArray();

                    return(list);
                }

                var providers = new List <string>();

                foreach (var info in Providers)
                {
                    if (info.Skip && Include == null)
                    {
                        continue;
                    }

                    if (Except != null && Except.Contains(info.Name))
                    {
                        continue;
                    }

                    if (!UserProviders.Contains(info.Name))
                    {
                        continue;
                    }

                    providers.Add(info.Name);

                    if (IncludeLinqService && !ExcludeLinqService)
                    {
                        providers.Add(info.Name + ".LinqService");
                    }
                }

                return(providers.ToArray());
            }