From 7b93b03050cec7474f7d6b4c5a22047b2317b3e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Leb=C3=A9e?= Date: Wed, 14 Mar 2018 19:36:26 -0500 Subject: [PATCH] common builder interface makes sense probably for future. --- .../Fluent/Group/GroupBuilder.cs | 2 +- .../Fluent/OrderBy/OrderByBuilder.cs | 2 +- .../Fluent/Select/SelectBuilder.cs | 2 +- .../Fluent/WhereBuilder/WhereBuilder.cs | 2 +- .../Interfaces/IQueryBuilder.cs | 14 ++++++++++++++ 5 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 PoweredSoft.DynamicLinq/Interfaces/IQueryBuilder.cs diff --git a/PoweredSoft.DynamicLinq/Fluent/Group/GroupBuilder.cs b/PoweredSoft.DynamicLinq/Fluent/Group/GroupBuilder.cs index 353e9eb..64a5bcf 100644 --- a/PoweredSoft.DynamicLinq/Fluent/Group/GroupBuilder.cs +++ b/PoweredSoft.DynamicLinq/Fluent/Group/GroupBuilder.cs @@ -6,7 +6,7 @@ using PoweredSoft.DynamicLinq.Helpers; namespace PoweredSoft.DynamicLinq.Fluent { - public class GroupBuilder + public class GroupBuilder : IQueryBuilder { public List<(string path, string propertyName)> Parts { get; set; } = new List<(string path, string propertyName)>(); public Type Type { get; set; } diff --git a/PoweredSoft.DynamicLinq/Fluent/OrderBy/OrderByBuilder.cs b/PoweredSoft.DynamicLinq/Fluent/OrderBy/OrderByBuilder.cs index d002bf7..5ce4e48 100644 --- a/PoweredSoft.DynamicLinq/Fluent/OrderBy/OrderByBuilder.cs +++ b/PoweredSoft.DynamicLinq/Fluent/OrderBy/OrderByBuilder.cs @@ -6,7 +6,7 @@ using System.Text; namespace PoweredSoft.DynamicLinq.Fluent { - public class OrderByBuilder + public class OrderByBuilder : IQueryBuilder { public IQueryable Query { get; } diff --git a/PoweredSoft.DynamicLinq/Fluent/Select/SelectBuilder.cs b/PoweredSoft.DynamicLinq/Fluent/Select/SelectBuilder.cs index 50fe5c3..9f6833c 100644 --- a/PoweredSoft.DynamicLinq/Fluent/Select/SelectBuilder.cs +++ b/PoweredSoft.DynamicLinq/Fluent/Select/SelectBuilder.cs @@ -13,7 +13,7 @@ namespace PoweredSoft.DynamicLinq.Fluent public SelectTypes SelectType { get; set; } } - public class SelectBuilder + public class SelectBuilder : IQueryBuilder { public List Parts = new List(); public Type DestinationType { get; set; } diff --git a/PoweredSoft.DynamicLinq/Fluent/WhereBuilder/WhereBuilder.cs b/PoweredSoft.DynamicLinq/Fluent/WhereBuilder/WhereBuilder.cs index abb4294..03738a3 100644 --- a/PoweredSoft.DynamicLinq/Fluent/WhereBuilder/WhereBuilder.cs +++ b/PoweredSoft.DynamicLinq/Fluent/WhereBuilder/WhereBuilder.cs @@ -8,7 +8,7 @@ using System.Threading.Tasks; namespace PoweredSoft.DynamicLinq.Fluent { - public partial class WhereBuilder + public partial class WhereBuilder : IQueryBuilder { public IQueryable Query { get; set; } public Type QueryableType { get; set; } diff --git a/PoweredSoft.DynamicLinq/Interfaces/IQueryBuilder.cs b/PoweredSoft.DynamicLinq/Interfaces/IQueryBuilder.cs new file mode 100644 index 0000000..d0f7b41 --- /dev/null +++ b/PoweredSoft.DynamicLinq/Interfaces/IQueryBuilder.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace PoweredSoft.DynamicLinq +{ + public interface IQueryBuilder + { + IQueryable Query { get; } + + IQueryable Build(); + } +}