/// <summary> /// Get a list of <see cref="User"/>. /// </summary> /// <param name="lang">The language.</param> /// <param name="paging">The paging parameters.</param> /// <param name="sorting">The sorting parameters.</param> /// <param name="filtering">The filtering parameters.</param> /// <param name="fielding">The fielding parameters. (not used)</param> /// <returns>The pagined list of <see cref="User"/>.</returns> public PagedCollection <User> GetUsers(string lang, PagingParameters paging, SortingParameters sorting, FilteringParameters filtering, FieldingParameters fielding) { if (Session == null) { throw new Exception("Session is null"); } var result = Session.Read("users", paging.ToMDBPagingParameters(), sorting.ToSortDefinition(), filtering.ToFilterDefinition()); return(new PagedCollection <User> { Items = result.Items.ToUserList(), TotalNumberOfItems = result.TotalNumberOfItems, PageIndex = paging.Index, PageSize = paging.Size, TotalNumberOfPages = (long)Math.Ceiling(result.TotalNumberOfItems / (double)paging.Size) }); }
public IHttpActionResult GetUsersList(string lang = null, PagingParameters paging = null, SortingParameters sorting = null, FilteringParameters filtering = null, FieldingParameters fielding = null) { try { if (paging == null) { paging = new PagingParameters(); } if (paging != null && !paging.IsValid) { throw new ArgumentException(nameof(paging)); } if (sorting != null && !sorting.IsValid) { throw new ArgumentException(nameof(sorting)); } if (filtering != null && !filtering.IsValid) { throw new ArgumentException(nameof(filtering)); } if (fielding != null && !fielding.IsValid) { throw new ArgumentException(nameof(fielding)); } return(Ok(Repository.GetUsers(lang, paging, sorting, filtering, fielding))); } catch (ArgumentException aex) { return(BadRequest(aex.Message)); } catch (SecurityException) { throw new HttpResponseException(HttpStatusCode.Forbidden); } catch (Exception ex) { return(InternalServerError(ex)); } }