System.Sql.SqlBuilder.BuildFilterForIntervalIntersection C# (CSharp) Method

BuildFilterForIntervalIntersection() public static method

public static BuildFilterForIntervalIntersection ( string startAlias, string endAlias, string startParameter, string endParameter ) : string
startAlias string
endAlias string
startParameter string
endParameter string
return string
        public static string BuildFilterForIntervalIntersection(string startAlias, string endAlias, string startParameter, string endParameter)
        {
            var filter = @"
                (
                    (
                        (NOT {0} IS NULL) AND
                        (NOT {1} IS NULL) AND
                        (NOT {2} IS NULL) AND
                        (NOT {3} IS NULL) AND
                        ({0} <= {3}) AND
                        ({2} <= {1})
                    ) OR
                    (
                        (
                            ({0} IS NULL) AND
                            ({1} IS NULL)
                        ) OR
                        (
                            ({2} IS NULL) AND
                            ({3} IS NULL)
                        ) OR
                        (
                            ({1} IS NULL) AND
                            ({3} IS NULL)
                        ) OR
                        (
                            ({0} IS NULL) AND
                            ({2} IS NULL)
                        ) OR
                        (
                            ({1} IS NULL) AND
                            (NOT {3} IS NULL) AND
                            ({0} <= {3})
                        ) OR
                        (
                            ({0} IS NULL) AND
                            (NOT {2} IS NULL) AND
                            ({1} >= {2})
                        ) OR
                        (
                            ({3} IS NULL) AND
                            (NOT {2} IS NULL) AND
                            ({2} <= {1})
                        ) OR
                        (
                            ({2} IS NULL) AND
                            (NOT {3} IS NULL) AND
                            ({3} >= {0})
                        )
                    )
                )
            ";

            var mergedFilter = string.Format(filter.TrimInternalSpacesAndLineFeeds(), startAlias, endAlias, startParameter, endParameter);
            return mergedFilter;
        }