public Tuple <IEnumerable <ExamDTO>, int> GetExams(QueryGradeExamViewModel model) { if (model == null) { return(null); } var result = _context.GradeExams.AsQueryable(); if (model.CreateBy.Valid()) { result = result.Where(r => r.CreateById == model.CreateBy.Value); } if (model.HandleBy.Valid()) { result = result.Where(r => r.HandleById == model.HandleBy.Value); } if (model.HoldBy.Valid()) { result = result.Where(r => r.HoldBy.Code == model.HoldBy.Value); } if (model.Name.Valid()) { var nameLen = model.Name.Value.Length; result = result.Where(r => r.Name.Length >= nameLen).Where(r => r.Name.StartsWith(model.Name.Value)); } if (!model.Create.Valid()) { model.Create = new QueryByDate() { Start = DateTime.Now.AddYears(-1), End = DateTime.Now } } ; if (model.ExecuteTime.Valid()) { result = result.Where(r => r.ExecuteTime >= model.ExecuteTime.Start).Where(r => r.ExecuteTime <= model.ExecuteTime.End); } result = result.Where(r => r.Create >= model.Create.Start).Where(r => r.Create <= model.Create.End); var list = result.SplitPage(model.Pages.ValidSplitPage()); return(new Tuple <IEnumerable <ExamDTO>, int>(list.Item1.ToList().Select(f => f.ToDTO()), list.Item2)); }
public IActionResult GetExam([FromBody] QueryGradeExamViewModel model) { var result = gradeServices.GetExams(model); return(new JsonResult(new EntitiesListViewModel <ExamDTO>(result?.Item1, result?.Item2 ?? -1))); }