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>()); }