//[Authorize(Roles = RoleName.Admins)] public IActionResult GetUniversities() { DataTableProperties DTP = DataTableProperties.GetDataTableProperties(Request); // Getting all universities list List <University> universities = _context.Universities .Include(a => a.Country) .ToList(); // Sorting // To use OrderBy by passing strings you must install wilx.System.Linq.Dynamic.Core // and must use using System.Linq.Dynamic; if (!string.IsNullOrEmpty(DTP.SortColumn) && !string.IsNullOrEmpty(DTP.SortColumnDirection)) { universities = universities.OrderBy(DTP.SortColumn + " " + DTP.SortColumnDirection).ToList(); } // Searching if (!string.IsNullOrEmpty(DTP.SearchValue)) { universities = universities.Where(a => a.Id.ToString().ToLower().Contains(DTP.SearchValue.ToLower()) || (a.ArUniversityName != null ? a.ArUniversityName.ToLower().Contains(DTP.SearchValue.ToLower()) : false) || (a.EnUniversityName != null ? a.EnUniversityName.ToLower().Contains(DTP.SearchValue.ToLower()) : false) || (a.Website != null ? a.Website.ToLower().Contains(DTP.SearchValue.ToLower()) : false) || (a.Country != null ? a.Country.ArCountryName.ToLower().Contains(DTP.SearchValue.ToLower()) : false) || (a.Country != null ? a.Country.EnCountryName.ToLower().Contains(DTP.SearchValue.ToLower()) : false) || a.YearofEstablishment.ToString().ToLower().Contains(DTP.SearchValue.ToLower()) ).ToList(); } // Total number of rows count DTP.RecordsTotal = universities.Count(); // Paging universities = universities.Skip(DTP.Skip).Take(DTP.PageSize).ToList(); List <UniversityDTO> uniDTO = new List <UniversityDTO>(); foreach (var university in universities) { uniDTO.Add(new UniversityDTO { Id = university.Id, ArUniversityName = university.ArUniversityName, EnUniversityName = university.EnUniversityName, Website = university.Website, LogoHD = university.LogoHD, YearofEstablishment = university.YearofEstablishment, Country = university.Country.ArCountryName }); } // Returning Json Data return(Json(new { draw = DTP.Draw, recordsFiltered = DTP.RecordsTotal, recordsTotal = DTP.RecordsTotal, data = uniDTO })); }
public IActionResult GetFaculties() { DataTableProperties DTP = DataTableProperties.GetDataTableProperties(Request); // Getting all faculties list List <Faculty> faculties = _context.Faculties .Include(a => a.City) .Include(a => a.City.Country) .Include(a => a.Speciality) .Include(a => a.University) .ToList(); // Sorting // To use OrderBy by passing strings you must install wilx.System.Linq.Dynamic.Core // and must use using System.Linq.Dynamic; if (!string.IsNullOrEmpty(DTP.SortColumn) && !string.IsNullOrEmpty(DTP.SortColumnDirection)) { faculties = faculties.OrderBy(DTP.SortColumn + " " + DTP.SortColumnDirection).ToList(); } // Searching if (!string.IsNullOrEmpty(DTP.SearchValue)) { faculties = faculties.Where(a => a.Id.ToString().ToLower().Contains(DTP.SearchValue.ToLower()) || (a.ArFacultyName != null ? a.ArFacultyName.ToLower().Contains(DTP.SearchValue.ToLower()) : false) || (a.EnFacultyName != null ? a.EnFacultyName.ToLower().Contains(DTP.SearchValue.ToLower()) : false) || (a.Speciality != null ? a.Speciality.Name.ToLower().Contains(DTP.SearchValue.ToLower()) : false) || (a.Speciality != null ? a.Speciality.EnSpecialityName.ToLower().Contains(DTP.SearchValue.ToLower()) : false) || (a.City != null ? a.City.ArCityName.ToLower().Contains(DTP.SearchValue.ToLower()) : false) || (a.City != null ? a.City.EnCityName.ToLower().Contains(DTP.SearchValue.ToLower()) : false) || (a.City != null ? a.City.Country.ArCountryName.ToLower().Contains(DTP.SearchValue.ToLower()) : false) || (a.City != null ? a.City.Country.ArCountryName.ToLower().Contains(DTP.SearchValue.ToLower()) : false) || (a.University != null ? a.University.ArUniversityName.ToLower().Contains(DTP.SearchValue.ToLower()) : false) || (a.University != null ? a.University.EnUniversityName.ToLower().Contains(DTP.SearchValue.ToLower()) : false) ).ToList(); } // Total number of rows count DTP.RecordsTotal = faculties.Count(); // Paging faculties = faculties.Skip(DTP.Skip).Take(DTP.PageSize).ToList(); List <FacultyDTO> uniDTO = new List <FacultyDTO>(); foreach (var faculty in faculties) { uniDTO.Add(new FacultyDTO { Id = faculty.Id, ArFacultyName = faculty.ArFacultyName, EnFacultyName = faculty.EnFacultyName, HasPostGraduation = faculty.HasPostGraduation, City = faculty.City.ArCityName, Speciality = faculty.Speciality.Name, University = faculty.University.ArUniversityName }); } // Returning Json Data return(Json(new { draw = DTP.Draw, recordsFiltered = DTP.RecordsTotal, recordsTotal = DTP.RecordsTotal, data = uniDTO })); }