Beispiel #1
0
        //api/IndividualNominationsCatalog/nominations/v-tefagb
        public async Task <IActionResult> GetNominationByAlias(string alias,
                                                               [FromQuery] int pageSize  = 6,
                                                               [FromQuery] int pageIndex = 0)
        {
            if (alias == null)

            {
                return(BadRequest());
            }

            var totalItems = await _individualNominationCatalogContext.Nominations
                             .Where(c => c.Alias.StartsWith(alias)).LongCountAsync();

            var itemsOnPage = await _individualNominationCatalogContext.Nominations
                              .Where(c => c.Alias.StartsWith(alias))
                              .OrderBy(c => c.Alias)
                              .Skip(pageSize * pageIndex)
                              .Take(pageSize)
                              .ToListAsync();

            var model = new PaginatedNominationsViewModel <Nomination>
                            (pageIndex, pageSize, totalItems, itemsOnPage);

            return(Ok(model));
        }
Beispiel #2
0
        // api/IndividualNominationsCatalog/Nominations
        public async Task <IActionResult> Nominations(
            [FromQuery] int pageSize  = 6,
            [FromQuery] int pageIndex = 0)

        {
            var totalItems = await _individualNominationCatalogContext.Nominations
                             .LongCountAsync();

            var itemsOnPage = await _individualNominationCatalogContext.Nominations
                              .OrderBy(c => c.Alias)
                              .Skip(pageSize * pageIndex)
                              .Take(pageSize)
                              .ToListAsync();

            var model = new PaginatedNominationsViewModel <Nomination>
                            (pageIndex, pageSize, totalItems, itemsOnPage);

            return(Ok(model));
        }
Beispiel #3
0
        public async Task <IActionResult> Nominations(string alias, int?awardcategoryId,

                                                      int?locationId, int?suborgId,

                                                      [FromQuery] int pageSize = 6,

                                                      [FromQuery] int pageIndex = 0)

        {
            var root = (IQueryable <Nomination>)_individualNominationCatalogContext.Nominations;

            //filter for alias

            if (alias != null)

            {
                root = root.Where(c => c.Alias == alias);
            }

            //then for award category
            if (awardcategoryId.HasValue)

            {
                root = root.Where(c => c.AwardCategoryId == awardcategoryId);
            }

            //then location
            if (locationId.HasValue)

            {
                root = root.Where(c => c.LocationId == locationId);
            }

            //then for sub org
            if (suborgId.HasValue)

            {
                root = root.Where(c => c.SubOrgId == suborgId);
            }

            //put in totalItems variable

            var totalItems = await root

                             .LongCountAsync();

            //sort and paginate
            var itemsOnPage = await root



                              .OrderBy(c => c.Alias)

                              .Skip(pageSize * pageIndex)

                              .Take(pageSize)

                              .ToListAsync();

            //pass in paginated view model

            //return model in json format

            var model = new PaginatedNominationsViewModel <Nomination>(pageIndex, pageSize, totalItems, itemsOnPage);

            return(Ok(model));
        }