Пример #1
0
        public ActionResult SearchCourses(SearchCourseDto model)
        {
            var r = _db.Set <Course>()
                    .Include("Lesson.Field.Department.DepartmentType.EducationalCenter.Site")
                    .Include("Teacher.User.Person")
                    .Include("Lesson.Field.Department.DepartmentType.EducationalCenter.Sex")
                    .Where(c => (model.CourseCode == null || c.Code == model.CourseCode) &&
                           (model.CourseName == null || c.Name.Contains(model.CourseName)) &&
                           (model.EducationalCenterCode == null || c.Lesson.Field.Department.DepartmentType.EducationalCenterId == model.EducationalCenterCode) &&
                           (model.EducationalCenterName == null || c.Lesson.Field.Department.DepartmentType.EducationalCenter.Site.Name.Contains(model.EducationalCenterName)) &&
                           (c.Lesson.Field.Department.DepartmentType.EducationalCenter.SexId == model.SexId) &&
                           (c.Lesson.Field.Department.DepartmentType.EducationalCenter.AreaId == model.AreaId) &&
                           (c.Lesson.Field.Department.DepartmentType.EducationalCenter.Category == model.EducationalCenterCategory)

                           )
                    .ToList()
                    .Select(c => new
            {
                CourseNameAndCode            = c.Name + " " + c.Code,
                EducationalCenterNameAndCode = c.Lesson.Field.Department.DepartmentType.EducationalCenter.Site.Name + " " + c.Lesson.Field.Department.DepartmentType.EducationalCenter.Id,
                LessonName  = c.Lesson.Name,
                TeacherName = c.Teacher.User.Person.FirstName + " " + c.Teacher.User.Person.LastName,
                SexType     = c.Lesson.Field.Department.DepartmentType.EducationalCenter.Sex.Title,
                Select      = c.Id
            });

            return(Json(r, JsonRequestBehavior.AllowGet));
        }
Пример #2
0
        public ActionResult Search(SearchCourseViewModel viewModel)
        {
            SearchCourseDto searchParams      = Mapper.Map <SearchCourseDto>(viewModel);
            var             selectedOrgId     = Request.Form["OrganizationId"];
            var             selectedTrainerId = Request.Form["TrainerId"];

            if (selectedOrgId == "" && selectedTrainerId == "" &&
                string.IsNullOrEmpty(searchParams.Name) &&
                string.IsNullOrEmpty(searchParams.Code) &&
                searchParams.DurationFrom == null &&
                searchParams.DurationTo == null)
            {
                viewModel = GetInitialCourseSearchVm(selectedOrgId, selectedTrainerId);

                viewModel.Courses = _courseManager.SearchCoursesByParams(searchParams).ToList();
            }
            else if (selectedOrgId == "" || selectedTrainerId == "")
            {
                viewModel         = GetInitialCourseSearchVm(selectedOrgId, selectedTrainerId);
                viewModel.Courses = _courseManager.SearchCoursesByParams(searchParams).ToList();
            }
            else
            {
                viewModel.Organizations = _orgManager.GetAllSelectListOrganizations(selectedOrgId);
                viewModel.Trainers      = new SelectList(_trainerManager.GetSelectListTrainersByOrgId(selectedOrgId), "Value", "Text", selectedTrainerId).ToList();

                viewModel.Courses = _courseManager.SearchCoursesByParams(searchParams).ToList();
            }

            return(View(viewModel));
        }
        public ICollection <Course> SearchCoursesByParams(SearchCourseDto dto)
        {
            ICollection <Course> courses;

            if (!dto.OrganizationId.Equals(0))
            {
                courses = _unitOfWork.Courses.GetListOfCourseByOrganizationId(dto.OrganizationId);
            }
            else
            {
                courses = _unitOfWork.Courses.GetAllActiveCourses();
            }

            if (dto.Name != null)
            {
                ICollection <Course> coursesByName = _unitOfWork.Courses.GetCoursesLikeName(dto.Name);
                courses = courses.Where(o => coursesByName.Any(n => n.Id.Equals(o.Id))).ToList();
            }

            if (dto.Code != null)
            {
                ICollection <Course> coursesByCode = _unitOfWork.Courses.GetCoursesLikeCode(dto.Code);
                courses = courses.Where(o => coursesByCode.Any(n => n.Id.Equals(o.Id))).ToList();
            }

            if (dto.DurationFrom != null || dto.DurationTo != null)
            {
                ICollection <Course> courseByDuration = _unitOfWork.Courses.GetCourseByRangedDuration(dto.DurationFrom, dto.DurationTo);
                courses = courses.Where(o => courseByDuration.Any(n => n.Id.Equals(o.Id))).ToList();
            }

            return(courses);
        }
Пример #4
0
        public ActionResult SearchCourses()
        {
            var searchCourseDto = new SearchCourseDto
            {
                Provinces = _db.Set <Province>().ToList().Select(p => new SelectListItem
                {
                    Text  = p.Name,
                    Value = p.Id.ToString()
                }),
                Areas = new List <SelectListItem>
                {
                    new SelectListItem
                    {
                        Text  = "همه ناحیه ها",
                        Value = "1"
                    }
                },
                Sexes = _db.Set <Sex>().ToList().Select(p => new SelectListItem
                {
                    Text  = p.Title,
                    Value = p.Id.ToString()
                }),
                EducationalCenterCategories = new List <SelectListItem>
                {
                    new SelectListItem
                    {
                        Text  = "مرکز زبان خارجه",
                        Value = "مرکز زبان خارجه"
                    },
                    new SelectListItem
                    {
                        Text  = "مرکز علمی",
                        Value = "مرکز علمی"
                    }
                }
            };

            return(View(searchCourseDto));
        }