예제 #1
0
        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));
        }
예제 #2
0
            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));
            }
예제 #3
0
            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));
            }