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