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));
        }
Example #2
0
        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);
        }
Example #3
0
        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>());
        }
Example #8
0
        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));
        }
Example #9
0
        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);
        }