Exemplo n.º 1
0
        public async Task <IEnumerable <SearchStudentDto> > SearchAsync(SearchStudentModel searchStudentModel)
        {
            var query = this.Context.Students
                        .Include(s => s.Faculty)
                        .Include(s => s.University)
                        .Include(s => s.SpecialityByFaculty)
                        .ThenInclude(s => s.Speciality)
                        .Include(s => s.Specialization)
                        .Include(s => s)
                        .Where(s => s.UniversityId == searchStudentModel.UniversityId);

            if (searchStudentModel.FacultyId.HasValue)
            {
                query.Where(s => s.FacultyId == searchStudentModel.FacultyId);
            }

            if (searchStudentModel.SpecialityByFacultyId.HasValue)
            {
                query.Where(s => s.SpecialityByFacultyId == searchStudentModel.SpecialityByFacultyId);
            }

            if (searchStudentModel.SpecializationId.HasValue)
            {
                query.Where(s => s.SpecializationId == searchStudentModel.SpecializationId);
            }

            return(await query.Select(s => new SearchStudentDto
            {
                Name = s.User.Firstname,
                University = s.University.Name
            })
                   .ToListAsync());
        }
Exemplo n.º 2
0
        private Expression <Func <Student, bool> > InitilizeFilter(SearchStudentModel model)
        {
            var filter = PredicateBuilder.New <Student>().Start(s => true).And(f => f.StatusId == Constant.StatusId.Active);

            if (!string.IsNullOrEmpty(model.Name))
            {
                filter = filter.And(f => f.Name == model.Name);
            }

            if (!string.IsNullOrEmpty(model.Email))
            {
                filter = filter.And(f => f.Email == model.Email);
            }

            if (model.Age.HasValue)
            {
                filter = filter.And(f => f.Age == model.Age);
            }

            if (model.DateOfBirth.HasValue)
            {
                filter = filter.And(f => f.DateOfBirth == model.DateOfBirth);
            }

            return(filter);
        }
Exemplo n.º 3
0
        public List <StudentModel> Search(SearchStudentModel model)
        {
            using (var unit = _unitOfWork.Create())
            {
                var query = unit.Repository <Student>().Where(InitilizeFilter(model));

                var result = query.Select(s => new StudentModel()
                {
                    Id          = s.Id,
                    Name        = s.Name,
                    Email       = s.Email,
                    Age         = s.Age,
                    DateOfBirth = s.DateOfBirth
                }).OrderBy(o => o.Name).Skip(model.Skip).Take(model.Take).ToList();

                return(result);
            }
        }
        public ActionResult SearchStudent(string sort = "Username", string order = "desc", string classID = null)
        {
            List <BusinessObjects.Student> students;
            SearchStudentModel             model = new SearchStudentModel();

            students = service.GetClassStudents(classID, sort + " " + order);
            var c = Mapper.Map <Class, ClassModel> (service.GetClass(classID));

            c.Teacher   = Mapper.Map <BusinessObjects.Teacher, PersonModel>(service.GetTeacher(c.TeacherID));
            model.Class = c;

            var list = Mapper.Map <List <BusinessObjects.Student>, List <PersonModel> >(students);

            if (!string.IsNullOrEmpty(classID))
            {
                list.ForEach(c => c.ClassID = classID);
            }
            model.People = new SortedList <PersonModel>(list, sort, order);
            return(View(model));
        }
 public async Task <StudentModel> SearchAsync(SearchStudentModel searchStudentModel) =>
 new StudentModel(await _studentService.SearchAsync(searchStudentModel));
 public IEnumerable <Student> QueryByName(SearchStudentModel model)
 {
     return(_studentLogic.QueryByName(model.FirstName, model.LastName));
 }
        public async Task <StudentDTO> SearchAsync(SearchStudentModel searchStudentModel)
        {
            IEnumerable <User> user = await _userRepository.SearchAsync(searchStudentModel);

            return(new StudentDTO(user.First()));
        }