/Atlassian.Jira/Linq/JiraQueryable.cs
https://bitbucket.org/miketrebilcock/atlassian.net-sdk · C# · 61 lines · 53 code · 8 blank · 0 comment · 0 complexity · 2389cfa656473473c84db8a21f562e99 MD5 · raw file
- using System;
- using System.Collections.Generic;
- using System.Collections;
- using System.Linq;
- using System.Text;
- using System.Linq.Expressions;
-
- namespace Atlassian.Jira.Linq
- {
- public class JiraQueryable<T>: IOrderedQueryable<T>, IQueryable<T>
- {
- private readonly JiraQueryProvider _provider;
- private readonly Expression _expression;
-
- public JiraQueryable(JiraQueryProvider provider)
- {
- this._provider = provider;
- this._expression = Expression.Constant(this);
- }
-
- public JiraQueryable(JiraQueryProvider provider, Expression expression)
- {
- _provider = provider;
- _expression = expression;
- }
-
- public IEnumerator<T> GetEnumerator()
- {
- return ((IEnumerable<T>)_provider.Execute(this.Expression)).GetEnumerator();
- }
-
- IEnumerator IEnumerable.GetEnumerator()
- {
- return ((IEnumerable)_provider.Execute(this.Expression)).GetEnumerator();
- }
-
- public Type ElementType
- {
- get
- {
- return typeof(T);
- }
- }
-
- public Expression Expression
- {
- get
- {
- return _expression;
- }
- }
-
- public IQueryProvider Provider
- {
- get
- {
- return _provider;
- }
- }
- }
- }