Ejemplo n.º 1
0
        public SearchResult <ReportProblemModel> SearchReportProblem(ReportProblemCriteria criteria)
        {
            var result = new SearchResult <ReportProblemModel>();

            var query = reportProblemRepository.GetAll().Include(t => t.Pump).Include(t => t.Pump)
                        .Where(FilterReportProblem(criteria));

            result.ItemCount = query.Count();

            query = query.Sort(criteria.Sorting, new Sorting("ReportNo", SortDirection.Descending));
            query = query.Page(criteria.Paging);

            result.ResultData = query.Select(reportProblemToModel).ToList();

            return(result);
        }
Ejemplo n.º 2
0
        private Expression <Func <ReportProblem, bool> > FilterReportProblem(ReportProblemCriteria criteria)
        {
            Expression <Func <ReportProblem, bool> > result = t => true;

            if (!string.IsNullOrWhiteSpace(criteria.ReportNo))
            {
                result = result.And(t => EF.Functions.Like(t.ReportNo, $"%{criteria.ReportNo}%"));
            }
            if (!string.IsNullOrWhiteSpace(criteria.Keyword))
            {
                result = result.And(t => EF.Functions.Like(t.Title, $"%{criteria.Keyword}%") || EF.Functions.Like(t.Detail, $"%{criteria.Keyword}%"));
            }
            if (criteria.Status.HasValue)
            {
                result = result.And(t => t.StatusValue == (byte)criteria.Status);
            }
            return(result);
        }
        public IActionResult SearchReportProblem([FromQuery] ReportProblemCriteria criteria)
        {
            var result = reportProblemService.SearchReportProblem(criteria);

            return(Ok(new SuccessResult(result)));
        }