/// <summary> /// Get all lookup items (with paging) /// </summary> /// <returns></returns> public override DALResult <ProfileTypeDefinitionAnalyticModel> GetAllPaged(UserToken userToken, int?skip = null, int?take = null, bool returnCount = false, bool verbose = false) { //put the order by and where clause before skip.take so we skip/take on filtered/ordered query var query = _repo.GetAll(); var count = returnCount ? query.Count() : 0; IQueryable <ProfileTypeDefinitionAnalytic> data; if (skip.HasValue && take.HasValue) { data = query.Skip(skip.Value).Take(take.Value); } else if (skip.HasValue) { data = query.Skip(skip.Value); } else if (take.HasValue) { data = query.Take(take.Value); } else { data = query; } //if (skip.HasValue) query = query.Skip(skip.Value); //if (take.HasValue) query = query.Take(take.Value); DALResult <ProfileTypeDefinitionAnalyticModel> result = new DALResult <ProfileTypeDefinitionAnalyticModel>(); result.Count = count; result.Data = MapToModels(data.ToList(), verbose); result.SummaryData = null; return(result); }
/// <summary> /// This should be used when getting all and the calling code should pass in the where clause. /// </summary> /// <param name="predicate"></param> /// <returns></returns> public override DALResult <ProfileTypeDefinitionAnalyticModel> Where(Expression <Func <ProfileTypeDefinitionAnalytic, bool> > predicate, UserToken user, int?skip, int?take, bool returnCount = true, bool verbose = false) { var query = _repo.FindByCondition(predicate); var count = returnCount ? query.Count() : 0; IQueryable <ProfileTypeDefinitionAnalytic> data; if (skip.HasValue && take.HasValue) { data = query.Skip(skip.Value).Take(take.Value); } else if (skip.HasValue) { data = query.Skip(skip.Value); } else if (take.HasValue) { data = query.Take(take.Value); } else { data = query; } //if (skip.HasValue) query = query.Skip(skip.Value); //if (take.HasValue) query = query.Take(take.Value); DALResult <ProfileTypeDefinitionAnalyticModel> result = new DALResult <ProfileTypeDefinitionAnalyticModel>(); result.Count = count; result.Data = MapToModels(data.ToList(), verbose); result.SummaryData = null; return(result); }
/// <summary> /// Get all rules and related data /// </summary> /// <param name="orgId"></param> /// <returns></returns> public override DALResult <UserModel> GetAllPaged(UserToken userToken, int?skip, int?take, bool returnCount = true, bool verbose = false) { var query = _repo.GetAll() //.Where(u => u.IsActive) //TBD - ok to return inactive in the list of users? .OrderByDescending(u => u.IsActive).ThenBy(u => u.LastName).ThenBy(u => u.FirstName).ThenBy(u => u.UserName) .Include(u => u.UserPermissions); var count = returnCount ? query.Count() : 0; IQueryable <User> data; if (skip.HasValue && take.HasValue) { data = query.Skip(skip.Value).Take(take.Value); } else if (skip.HasValue) { data = query.Skip(skip.Value); } else if (take.HasValue) { data = query.Take(take.Value); } else { data = query; } DALResult <UserModel> result = new DALResult <UserModel>(); result.Count = count; result.Data = MapToModels(data.ToList(), verbose); result.SummaryData = null; return(result); }
/// <summary> /// Get all lookup items (no paging) /// </summary> /// <param name="orgId"></param> /// <returns></returns> public override List <LookupItemModel> GetAll(UserToken userToken, bool verbose = false) { //TBD - temp mock data if (_useMock) { var mock = _repoMock.GetAll().OrderBy(p => p.Name).ToList(); return(MapToModels(mock)); } DALResult <LookupItemModel> result = GetAllPaged(userToken, verbose: verbose); return(result.Data); }
public virtual DALResult <TModel> Where(List <Expression <Func <TEntity, bool> > > predicates, UserToken user, int?skip = null, int?take = null, bool returnCount = false, bool verbose = false, params OrderByExpression <TEntity>[] orderByExpressions) { if (predicates == null) { predicates = new List <Expression <Func <TEntity, bool> > >(); } //build up a query and append n predicates var query = _repo.GetAll().AsQueryable <TEntity>(); foreach (var p in predicates) { query = query.Where(p).AsQueryable <TEntity>(); } var count = returnCount ? query.Count() : 0; //append order by ApplyOrderByExpressions(ref query, orderByExpressions); //query returns IincludableQuery. Jump through the following to find right combo of skip and take //Goal is to have the query execute and not do in memory skip/take IQueryable <TEntity> data; if (skip.HasValue && take.HasValue) { data = query.Skip(skip.Value).Take(take.Value); } else if (skip.HasValue) { data = query.Skip(skip.Value); } else if (take.HasValue) { data = query.Take(take.Value); } else { data = query; } //put together the result DALResult <TModel> result = new DALResult <TModel>(); result.Count = count; result.Data = MapToModels(data.ToList(), verbose); result.SummaryData = null; return(result); }
public override DALResult <TModel> GetAllPaged(UserToken userToken, int?skip, int?take, bool returnCount = true, bool verbose = false) { var query = _repo.FindByCondition(u => u.OwnerId == null || u.OwnerId == userToken.UserId); var count = returnCount ? query.Count() : 0; if (skip.HasValue) { query = query.Skip(skip.Value); } if (take.HasValue) { query = query.Take(take.Value); } DALResult <TModel> result = new DALResult <TModel>(); result.Count = count; result.Data = MapToModels(query.ToList()); result.SummaryData = null; return(result); }
public virtual DALResult <TModel> GetAllPaged(UserToken userToken, int?skip, int?take, bool returnCount = true, bool verbose = false) { var query = _repo.GetAll(); var count = returnCount ? query.Count() : 0; if (skip.HasValue) { query = query.Skip(skip.Value); } if (take.HasValue) { query = query.Take(take.Value); } DALResult <TModel> result = new DALResult <TModel>(); result.Count = count; result.Data = MapToModels(query.ToList()); result.SummaryData = null; return(result); }
protected override DALResult <TModel> Where(Expression <Func <TEntity, bool> > predicate, UserToken user, int?skip = null, int?take = null, bool returnCount = false, bool verbose = false, Func <IQueryable <TEntity>, IQueryable <TEntity> > additionalQuery = null) { var query = _repo.FindByCondition(predicate).Where(e => e.OwnerId == null || e.OwnerId == user.UserId); if (additionalQuery != null) { query = additionalQuery(query); } var count = returnCount ? query.Count() : 0; //CODE REVIEW From another class: is this optimization really needed? //query returns IincludableQuery. Jump through the following to find right combo of skip and take //Goal is to have the query execute and not do in memory skip/take IQueryable <TEntity> data; if (skip.HasValue && take.HasValue) { data = query.Skip(skip.Value).Take(take.Value); } else if (skip.HasValue) { data = query.Skip(skip.Value); } else if (take.HasValue) { data = query.Take(take.Value); } else { data = query; } //if (skip.HasValue) query = query.Skip(skip.Value); //if (take.HasValue) query = query.Take(take.Value); DALResult <TModel> result = new DALResult <TModel>(); result.Count = count; result.Data = MapToModels(data.ToList(), verbose); result.SummaryData = null; return(result); }
/// <summary> /// Get all lookup items (no paging) /// </summary> /// <param name="orgId"></param> /// <returns></returns> public override List <LookupDataTypeRankedModel> GetAll(UserToken userToken, bool verbose = false) { DALResult <LookupDataTypeRankedModel> result = GetAllPaged(userToken, verbose: verbose); return(result.Data); }
/// <summary> /// Get all lookup items (no paging) /// </summary> /// <param name="orgId"></param> /// <returns></returns> public override List <ProfileTypeDefinitionAnalyticModel> GetAll(UserToken userToken, bool verbose = false) { DALResult <ProfileTypeDefinitionAnalyticModel> result = GetAllPaged(userToken, verbose: verbose); return(result.Data); }
/// <summary> /// Get all lookup items (no paging) /// </summary> /// <param name="orgId"></param> /// <returns></returns> public override List <EngineeringUnitRankedModel> GetAll(UserToken userToken, bool verbose = false) { DALResult <EngineeringUnitRankedModel> result = GetAllPaged(userToken, verbose: verbose); return(result.Data); }
/// <summary> /// </summary> /// <returns></returns> public override List <ImportLogModel> GetAll(UserToken userToken, bool verbose = false) { DALResult <ImportLogModel> result = GetAllPaged(userToken, verbose: verbose); return(result.Data); }