public IEnumerable<ShortOperator> GetAllShortOperators() >>> { >>> return _operatorRepository.GetAll().Select((x => (ShortOperator)(x))); >>> }>>
>>public IEnumerable<OperatorList> GetAllOperatorsList() >> { >> return _operatorRepository.GetAll(). >> Select((o=> new OperatorList{ OpCode = o.OpCode, >> FirstName = o.FirstName, LastName = o.LastName, >> Hidden = o.Hidden, OpCodeHash = o.OpCodeHash }) >> ); >> }>>
>> //public PagedResult<OperatorList> GetOperators(QueryRequest queryRequest) >> //{ >> // return _operatorRepository.GetPagedRequest(queryRequest).Select((x=> (OperatorList)(x))); >> //} >>>>as GetPagedRequest doesn't have Select method.
public override PagedResult<Operator> GetPagedRequest(QueryRequest queryRequest) { PagedResult<Operator> pagedResult; // Filter the operators by role number (if necessary). // We do this here because Dynamic LINQ (which is being // used to filter all search queries in QueryHelper method // GetFilteredQuery) cannot filter on the entity collections // of the entity that is being filtered. In other words, we // cannot filter on the SecMbrs collection of the Operator // entity with the Dynamic LINQ library being used in this // project. if (queryRequest.FilterInfo.RoleNoFilter != 0) { SysManagerContext db = (SysManagerContext)_context; var query = db.Operators.Where(o => o.SecMbrs.Any(sm => sm.RoleNo == queryRequest.FilterInfo.RoleNoFilter)); query = QueryHelper.GetFilteredQuery<Operator>(query, queryRequest); pagedResult = QueryHelper.GetPagedResult(query, queryRequest); } else { pagedResult = base.GetPagedRequest(queryRequest); } foreach (var op in pagedResult.List) { HashOpCode(op); } return pagedResult; }I think I have no choice as to create a clone of that method directly in the repository.
public abstract class RepositoryBase<T> : IRepository<T> where T : class { protected readonly ISysManagerContext _context; protected readonly IDbSet<T> _dbSet; private readonly IExceptionParser _exceptionParser; public RepositoryBase(ISysManagerContext context) { _context = context; _dbSet = _context.Set<T>(); _exceptionParser = new ExceptionParser(); } public virtual IEnumerable<T> GetAll() { return _dbSet; } public virtual IEnumerable<T> GetAll(params string[] includes) { var query = _dbSet.AsQueryable(); includes.ToList().ForEach(x => query = query.Include(x)); return query; } public virtual PagedResult<T> GetPagedRequest(QueryRequest queryRequest) { var query = QueryHelper.GetFilteredQuery<T>(_dbSet.AsQueryable(), queryRequest); var pagedResultMessage = QueryHelper.GetPagedResult(query, queryRequest); return pagedResultMessage; }