public async Task <ActionResult <Collection <Opening> > > GetAllRoomOpenings( [FromQuery] PagingOptions pagingOptions, [FromQuery] SortOptions <Opening, OpeningEntity> sortOptions, [FromQuery] SearchOptions <Opening, OpeningEntity> searchOptions) { pagingOptions.Offset = pagingOptions.Offset ?? _defaultPagingOptions.Offset; pagingOptions.Limit = pagingOptions.Limit ?? _defaultPagingOptions.Limit; var openings = await _openingService.GetOpeningsAsync( pagingOptions, sortOptions, searchOptions); var collection = PagedCollection <Opening> .Create <OpeningsResponse>( Link.ToCollection(nameof(GetAllRoomOpenings)), openings.Items.ToArray(), openings.TotalSize, pagingOptions); collection.OpeningsQuery = FormMetadata.FromResource <Opening>( Link.ToForm( nameof(GetAllRoomOpenings), null, Link.GetMethod, Form.QueryRelation)); return(collection); }
public async Task <IActionResult> GetAllRoomOpeningsAsync( [FromQuery] PagingOptions pagingOptions, [FromQuery] SortOptions <Opening, OpeningEntity> sortOptions, CancellationToken ct) { if (!ModelState.IsValid) { return(BadRequest(new ApiError(ModelState))); } pagingOptions.Offset = pagingOptions.Offset ?? _defaultPagingOptions.Offset; pagingOptions.Limit = pagingOptions.Limit ?? _defaultPagingOptions.Limit; var openings = await _openingService.GetOpeningsAsync( pagingOptions, sortOptions, ct); var collection = PagedCollection <Opening> .Create( Link.ToCollection(nameof(GetAllRoomOpeningsAsync)), openings.Items.ToArray(), openings.TotalSize, pagingOptions); return(Ok(collection)); }
public async Task <IActionResult> GetAllRoomOpeningsAsync( [FromQuery] PagingOptions pagingOptions, CancellationToken ct) { if (!ModelState.IsValid) { return(BadRequest(new ApiError(ModelState))); } pagingOptions.Offset = pagingOptions.Offset ?? _defaultPagingOptions.Offset; pagingOptions.Limit = pagingOptions.Limit ?? _defaultPagingOptions.Limit; var openings = await _openingService.GetOpeningsAsync(pagingOptions, ct); var collection = new PagedCollection <Opening>() { Self = Link.ToCollection(nameof(GetAllRoomOpeningsAsync)), Value = openings.Items.ToArray(), Size = openings.TotalSize, Offset = pagingOptions.Offset.Value, Limit = pagingOptions.Limit.Value }; return(Ok(collection)); }
public async Task <IActionResult> GetAllRoomOpeningsAsync( [FromQuery] PagingOptions pagingOptions, [FromQuery] SortOptions <OpeningResource, OpeningEntity> sortOptions, [FromQuery] SearchOptions <OpeningResource, OpeningEntity> searchOptions, CancellationToken ct) { if (!ModelState.IsValid) { return(BadRequest(new ApiError(ModelState))); } pagingOptions.Offset = pagingOptions.Offset ?? _defaultPagingOptions.Offset; pagingOptions.Limit = pagingOptions.Limit ?? _defaultPagingOptions.Limit; var openings = await _openingService.GetOpeningsAsync( pagingOptions, sortOptions, searchOptions, ct); var collection = PagedCollection <OpeningResource> .Create <OpeningsResponse>( Link.ToCollection(nameof(GetAllRoomOpeningsAsync)), openings.Items.ToArray(), openings.TotalSize, pagingOptions); collection.OpeningsQuery = FormMetadata.FromResource <OpeningResource>( Link.ToForm( nameof(GetAllRoomOpeningsAsync), null, Link.GetMethod, Form.QueryRelation)); return(Ok(collection)); }
public async Task <ActionResult <Collection <Opening> > > GetAllRoomOpenings([FromQuery] PagingOptions pagingOptions, [FromQuery] SortOptions <Opening, OpeningEntity> sortOptions )//[]FromQuery tells that the pageoptions is taken from query string { pagingOptions.Offset = pagingOptions.Offset ?? _defaultPagingOptions.Offset; pagingOptions.Limit = pagingOptions.Limit ?? _defaultPagingOptions.Limit; var openings = await _openingService.GetOpeningsAsync(pagingOptions, sortOptions); var collection = PagedCollection <Opening> .Create( Link.ToCollection(nameof(GetAllRoomOpenings)), openings.Items.ToArray(), openings.TotalSize, pagingOptions ); //{ // Self = Link.ToCollection(nameof(GetAllRoomOpenings)), // Value = openings.Items.ToArray(), // Size=openings.TotalSize, // Offset=pagingOptions.Offset.Value,//If any of the value of offset or Limit(nullable) is not available api will throw an null referenece // Limit=pagingOptions.Limit.Value //}; return(collection); }
public async Task <ActionResult <Collection <Opening> > > GetAllRoomOpenings([FromQuery] PagingOptions pagingOptions = null) { pagingOptions.Offset = pagingOptions.Offset ?? _defaultPagingOptions.Offset; pagingOptions.Limit = pagingOptions.Limit ?? _defaultPagingOptions.Limit; var openings = await _openingService.GetOpeningsAsync(pagingOptions); var collection = PagedCollection <Opening> .Create(Link.ToCollection(nameof(GetAllRoomOpenings)), openings.Items.ToArray(), openings.TotalSize, pagingOptions); return(collection); }
public async Task <IActionResult> GetAllRoomOpeningsAsync(CancellationToken ct) { var openings = await _openingService.GetOpeningsAsync(ct); var collection = new Collection <Opening>() { Self = Link.ToCollection(nameof(GetAllRoomOpeningsAsync)), Value = openings.ToArray() }; return(Ok(collection)); }
public async Task <ActionResult <Collection <Opening> > > GetAllRoomOpenings([FromQuery] PagingOptions pagingOptions = null) { var openings = await _openingService.GetOpeningsAsync(pagingOptions); var collection = new PagedCollection <Opening>() { Self = Link.ToCollection(nameof(GetAllRoomOpenings)), Value = openings.Items.ToArray(), Size = openings.TotalSize, Offset = pagingOptions.Offset.Value, Limit = pagingOptions.Limit.Value }; return(collection); }
public async Task<IActionResult> GetAllRoomOpeningsAsync( [FromQuery] PagingOptions pagingOptions, CancellationToken ct) { var openings = await _openingService.GetOpeningsAsync(pagingOptions, ct); var collection = new PagedCollection<Opening>() { Self = Link.ToCollection(nameof(GetAllRoomOpeningsAsync)), Value = openings.Items.ToArray(), Size = openings.TotalSize, Offset = pagingOptions.Offset.Value, Limit = pagingOptions.Limit.Value }; return Ok(collection); }