public IHttpActionResult GetAllSelect2(Select2RequestData request) { var response = new Select2Response(); // Get places query var placesQuery = this.placesRepository.GetAll(); // Apply term if appropriate var term = request.Term?.AsSearchable() ?? string.Empty; if (!string.IsNullOrWhiteSpace(term)) { placesQuery = placesQuery.Where(place => place.SearchKeywords.Contains(term)); } // Calcualte how many items we need to skip int page; var didParse = int.TryParse(request.Page ?? string.Empty, out page); var toSkip = didParse ? (page - 1) * Select2ItemPerPage : 0; // Execute query and transform data to Select2 items response.Items = placesQuery .OrderBy(place => place.Name) .Skip(toSkip) .Take(Select2ItemPerPage) .ToList() .Select(place => new Select2Item { Id = place.Id.ToString(), Text = place.Name }) .ToList(); return(this.Ok(response)); }
public Select2Response <object> GetByName(string q, int page) { var query = GetQuery(); if (!string.IsNullOrEmpty(q)) { query = query.Where(s => s.Name.Contains(q)); } var total = query.Count(); var data = query.OrderBy(f => f.Name).Skip(page * 10).Take(10).Select(m => m.Name); return(Select2Response <object> .Create(data, total)); }
public Select2Response <object> GetUserRoles(string q, int page, string id) { var userRoles = GetUserRoles(id); if (userRoles.Contains(RoleName.Admin)) { throw new ExceptionResult(Message.CantChangeAccess); } var data = new List <UserRoleVM>() { //GetUserRole(RoleName.Admin,userRoles), //GetUserRole(RoleName.Patient,userRoles), //GetUserRole(RoleName.Doctor,userRoles), //GetUserRole(RoleName.Provider,userRoles), }; return(Select2Response <object> .Create(data, data.Count)); }