/// <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);
        }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
        /// <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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        /// <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);
        }
Exemplo n.º 11
0
        /// <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);
        }
Exemplo n.º 12
0
        /// <summary>
        /// </summary>
        /// <returns></returns>
        public override List <ImportLogModel> GetAll(UserToken userToken, bool verbose = false)
        {
            DALResult <ImportLogModel> result = GetAllPaged(userToken, verbose: verbose);

            return(result.Data);
        }