/// <summary> /// SQL like query to find and return a list of objects based on a FetchSpecification.</summary> /// <remarks> A query Fetch Specification is used for creating SQL like queries, in a more OO fashion.</remarks> /// <param name="fetchSpecification">FetchSpecification.</param> /// <returns> ObjectList<Inventory> </returns> public ObjectList<Inventory> Find(FetchSpecification fetchSpecification) { ObjectList<Inventory> c = new ObjectList<Inventory>(); foreach(Inventory eo in base.Find(fetchSpecification)) c.Add(eo); return c; }
/// <summary> /// SQL like query to find and return a list of objects based on a FetchSpecification.</summary> /// <remarks> A query Fetch Specification is used for creating SQL like queries, in a more OO fashion.</remarks> /// <param name="fetchSpecification">FetchSpecification.</param> /// <returns> ObjectList<Status> </returns> public ObjectList<Status> Find(FetchSpecification fetchSpecification) { ObjectList<Status> c = new ObjectList<Status>(); foreach(Status eo in base.Find(fetchSpecification)) c.Add(eo); return c; }
/// <summary> /// SQL like query to find and return a list of objects based on a FetchSpecification.</summary> /// <remarks> A query Fetch Specification is used for creating SQL like queries, in a more OO fashion.</remarks> /// <param name="fetchSpecification">FetchSpecification.</param> /// <returns> ObjectList<Customer> </returns> public ObjectList<Customer> Find(FetchSpecification fetchSpecification) { ObjectList<Customer> c = new ObjectList<Customer>(); foreach(Customer eo in base.Find(fetchSpecification)) c.Add(eo); return c; }
/// <summary> /// SQL like query to find and return a list of objects based on a FetchSpecification.</summary> /// <remarks> A query Fetch Specification is used for creating SQL like queries, in a more OO fashion.</remarks> /// <param name="fetchSpecification">FetchSpecification.</param> /// <returns> ObjectList<Product> </returns> public ObjectList<Product> Find(FetchSpecification fetchSpecification) { ObjectList<Product> c = new ObjectList<Product>(); foreach(Product eo in base.Find(fetchSpecification)) c.Add(eo); return c; }
public static IQueryable <TEntity> Query <TEntity>(this IQueryable <TEntity> source, OrderSpecification <TEntity> orderSpecification, Specification <TEntity> whereSpecification, FetchSpecification <TEntity> fetchSpecification, PaginatedSpecification paginatedSpecification) where TEntity : class, IEntity { if (whereSpecification.With(r => r.IsSatisfiedBy()) != null) { source = source.Where(whereSpecification.IsSatisfiedBy()); } if (orderSpecification != null) { var order = new AdHocOrderSpecification <TEntity>(); orderSpecification.SortedBy()(order); source = order.applies.Aggregate(source, (current, apply) => apply(current)); } if (paginatedSpecification != null) { source = source.Page(paginatedSpecification.CurrentPage, paginatedSpecification.PageSize); } if (fetchSpecification != null) { AdHocFetchSpecificationBase <TEntity> fetch = null; fetch = new AdHocFetchNhibernateSpecification <TEntity>(); //else //if (fullName.EqualsWithInvariant("System.Data.Entity.Internal.Linq.DbQueryProvider")) // fetch = new AdHocFetchEFSpecification<TEntity>(); //else if (fullName.Contains("Raven.Client.Linq.RavenQueryProvider")) // fetch = new AdHocFetchRavenDbSpecification<TEntity>(); //if (fetch != null) //{ fetchSpecification.FetchedBy()(fetch); source = fetch.applies.Aggregate(source, (current, apply) => apply(current)); //} } return(source); }
/// <summary> /// SQL like query to find and return a list of objects based on a FetchSpecification.</summary> /// <remarks> A query Fetch Specification is used for creating SQL like queries, in a more OO fashion.</remarks> /// <param name="fetchSpecification">FetchSpecification.</param> /// <returns> ObjectList<OrderItem> </returns> public ObjectList<OrderItem> Find(FetchSpecification fetchSpecification) { ObjectList<OrderItem> c = new ObjectList<OrderItem>(); foreach(OrderItem eo in base.Find(fetchSpecification)) c.Add(eo); return c; }
public static IncPaginatedResult <TEntity> Paginated <TEntity>(this IQueryable <TEntity> source, OrderSpecification <TEntity> orderSpecification, Specification <TEntity> whereSpecification, FetchSpecification <TEntity> fetchSpecification, PaginatedSpecification paginatedSpecification) where TEntity : class, IEntity { int totalCount = source.Query(null, whereSpecification, null, null).Count(); var paginatedItems = source.Query(orderSpecification, whereSpecification, fetchSpecification, paginatedSpecification).ToList(); return(new IncPaginatedResult <TEntity>(paginatedItems, totalCount)); }
public MockMessage <TMessage, TResult> StubNotEmptyQuery <TEntity>(OrderSpecification <TEntity> orderSpecification = null, Specification <TEntity> whereSpecification = null, FetchSpecification <TEntity> fetchSpecification = null, PaginatedSpecification paginatedSpecification = null, int countEntity = 1) where TEntity : class, IEntity, new() { var entities = Pleasure.ToList <TEntity>(); for (int i = 0; i < countEntity; i++) { entities.Add(Pleasure.Generator.Invent <TEntity>()); } return(StubQuery(orderSpecification, whereSpecification, fetchSpecification, paginatedSpecification, entities.ToArray())); }
public MockMessage <TMessage, TResult> StubPaginated <TEntity>(PaginatedSpecification paginatedSpecification, OrderSpecification <TEntity> orderSpecification = null, Specification <TEntity> whereSpecification = null, FetchSpecification <TEntity> fetchSpecification = null, IncPaginatedResult <TEntity> result = null) where TEntity : class, IEntity { return(Stub(message => message.repository.StubPaginated(paginatedSpecification, orderSpecification, whereSpecification, fetchSpecification, result))); }
public MockMessage <TMessage, TResult> StubQuery <TEntity>(OrderSpecification <TEntity> orderSpecification = null, Specification <TEntity> whereSpecification = null, FetchSpecification <TEntity> fetchSpecification = null, PaginatedSpecification paginatedSpecification = null, params TEntity[] entities) where TEntity : class, IEntity { return(Stub(message => message.repository.StubQuery(orderSpecification, whereSpecification, fetchSpecification, paginatedSpecification, entities))); }
public static FetchSpecification <T> And <T>(this FetchSpecification <T> first, FetchSpecification <T> second) { return(new AndFetchSpecification <T>(first, second)); }