Example #1
0
        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));
        }
Example #4
0
        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);
        }