public PagedList <Student> GetStudents(StudentFilterModel model) { var lst = GetAll(); if (!string.IsNullOrWhiteSpace(model.Name)) { lst = lst.Where(m => m.Name.Contains(model.Name)); } return(lst.ToPagedList(model.PageNumber, model.PageSize)); }
public ServiceResponse <List <Student> > GetStudents(StudentFilterModel filter) { var response = new ServiceResponse <List <Student> >(); response.IsSucceeded = true; response.RecordsTotal = studentRepository.ListQueryable.Count(); response.RecordsFiltered = studentRepository.ListQueryable.AddSearchFilters(filter).Count(); response.Result = studentRepository.ListQueryable.AddSearchFilters(filter).AddOrderAndPageFilters(filter).ToList(); return(response); }
public HttpResponseMessage GetAllStudentList([FromBody] StudentFilterModel paramData) { Thread.Sleep(3000); var result = _studentService.FetchStudentdetails(paramData); //var result = _studentService.FetchStudentdetailsV2(paramData); -- use this method to get the same result if (result == null || result.Count <= 0) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } return(Request.CreateResponse(HttpStatusCode.OK, result)); }
public IActionResult GetAll(StudentFilterModel model) { try { model.PageNumber = model.PageNumber > 0 ? model.PageNumber : _pageNumber; model.PageSize = model.PageSize > 0 ? model.PageSize : _pageSize; var lst = studentService.GetStudents(model); return(Ok(lst)); } catch (Exception ex) { return(StatusCode((int)HttpStatusCode.InternalServerError, ex)); } }
public IActionResult GetStudents(StudentFilterModel model) { try { var result = _studentService.GetStudents(model); if (result.IsSucceeded) { return(Ok(result.Result)); } return(BadRequest(result.ErrorMessage)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public List <StudentDetailsModel> FetchStudentdetailsV2(StudentFilterModel filter) { _context = new StudentdataContext(); StudentFilterModel primaryFilter = new StudentFilterModel(); var studentDetails = _context.sp_FetchStudentDetails(primaryFilter.StudentId, primaryFilter.EnrollmentId, primaryFilter.ServiceId).AsEnumerable(); var advancedfilter = new AdvancedFilter(); var spec1 = new StudentSpecification(filter.StudentId); var spec2 = new EnrollmentSpecification(filter.EnrollmentId); var spec3 = new ServiceSpecification(filter.ServiceId); //var result= advancedfilter.Filter(studentDetails, spec1); //result = advancedfilter.Filter(result, spec2); //result = advancedfilter.Filter(result, spec3); var result = advancedfilter.AdvancedFilterMethod(studentDetails, new List <ISpecification <sp_FetchStudentDetails_Result> > { spec1, spec2, spec3 }); if (result != null) { var output = result.Distinct().Select(student => new StudentDetailsModel { Id = student.Id , DateOfBirth = student.DateOfBirth , EndDate = student.Enddate , Startdate = student.StartDate , EnrollmentYear = student.Enrollment , FullName = student.FirstName + " " + student.LastName , ServiceName = student.ServiceName }).ToList(); return(output); } return(new List <StudentDetailsModel>()); }
public List <StudentDetailsModel> FetchStudentdetails(StudentFilterModel filter) { _context = new StudentdataContext(); var studentDetails = _context.sp_FetchStudentDetails(filter.StudentId, filter.EnrollmentId, filter.ServiceId); if (studentDetails != null) { var result = studentDetails.Select(student => new StudentDetailsModel { Id = student.Id , DateOfBirth = student.DateOfBirth , EndDate = student.Enddate , Startdate = student.StartDate , EnrollmentYear = student.Enrollment , FullName = student.FirstName + " " + student.LastName , ServiceName = student.ServiceName }).ToList(); return(result); } return(new List <StudentDetailsModel>()); }
public async Task <Result <StudentListModel> > GetList(StudentFilterModel studentFilterModel) { Expression <Func <Student, bool> > predicateData = student => student.FirstName.Contains(studentFilterModel.Firstname) || student.LastName.Contains(studentFilterModel.Lastname) || student.BirthDate > studentFilterModel.Birthdate || student.Gender == studentFilterModel.Gender; var students = await _asyncStudentRepository.GetWhere(predicateData); var studentsBl = _mapper.Map(students, new List <StudentBlDto>()); var studentListModel = new StudentListModel { Students = new List <StudentBlDto>() }; if (studentsBl.Count <= 0) { return(Results.WithFail(studentListModel).AddMessage(Resource.Unsuccessfull)); } studentListModel.Students = studentsBl; return(Results.WithOk(studentListModel).AddMessage(Resource.Successful)); }
public static IQueryable <Student> AddSearchFilters(this IQueryable <Student> input, StudentFilterModel filter) { if (filter != null) { if (filter.Term?.Length > 0) { input = input.Where(x => x.Name.Contains(filter.Term)); } if (filter.ClassId > 0) { input = input.Where(x => x.ClassId == filter.ClassId); } if (filter.NameTerm?.Length > 0) { input = input.Where(x => x.Name.ToLower().Contains(filter.NameTerm.ToLower())); } if (filter.SurNameTerm?.Length > 0) { input = input.Where(x => !x.Surname.ToLower().Contains(filter.SurNameTerm.ToLower())); } } return(input); }