/// <summary>
        /// Gets the filter function
        /// </summary>
        public IDbFilterFunction GetFilterFunction(string name)
        {
            if (s_filterFunctions == null)
            {
                s_filterFunctions = ApplicationServiceContext.Current.GetService <IServiceManager>()
                                    .CreateInjectedOfAll <IDbFilterFunction>()
                                    .Where(o => o.Provider == "pgsql")
                                    .ToDictionary(o => o.Name, o => o);
            }
            IDbFilterFunction retVal = null;

            s_filterFunctions.TryGetValue(name, out retVal);
            return(retVal);
        }
Example #2
0
        /// <summary>
        /// Gets the filter function
        /// </summary>
        public IDbFilterFunction GetFilterFunction(string name)
        {
            if (s_filterFunctions == null)
            {
                s_filterFunctions = AppDomain.CurrentDomain.GetAssemblies()
                                    .Where(a => !a.IsDynamic)
                                    .SelectMany(a =>
                {
                    try
                    {
                        return(a.ExportedTypes);
                    }
                    catch { return(Type.EmptyTypes); }
                })
                                    .Where(t => typeof(IDbFilterFunction).IsAssignableFrom(t) && !t.IsAbstract)
                                    .Select(t => Activator.CreateInstance(t) as IDbFilterFunction)
                                    .ToDictionary(o => o.Name, o => o);
            }
            IDbFilterFunction retVal = null;

            s_filterFunctions.TryGetValue(name, out retVal);
            return(retVal);
        }