示例#1
0
        public Resp_Query <RecordMGrade> Query(RMG_Query request)
        {
            var response = new Resp_Query <RecordMGrade>();

            var records = _recordMGradeRepository.GetAll();

            records.ToMaybe()
            .Do(t => request.Verify())
            .DoWhen(t => !string.IsNullOrEmpty(request.QueryStr), d => records = records.Where(s => s.Name.Contains(request.QueryStr)));
            response.totalCounts = records.Count();
            response.totalRows   = (int)Math.Ceiling((double)response.totalCounts / request.PgSize);

            if (!string.IsNullOrEmpty(request.Order))
            {
                records = records.DataSorting(request.Order, request.Esc);
            }
            else
            {
                records = records.OrderByDescending(t => t.ID);
            }
            var entities = records.Skip(request.PgSize * (request.PgIndex - 1)).Take(request.PgSize).ToList();

            response.entities = entities;

            return(response);
        }