public IActionResult GetAll([FromQuery] int currentPage, [FromQuery] int itemsPerPage,
                                    [FromQuery] bool sortAscending, [FromQuery] string sortBy)
        {
            var filter = new ModelQueryFilter(currentPage, itemsPerPage, sortAscending, sortBy);

            return(new ObjectResult(_repository.Filter(filter)));
        }
Ejemplo n.º 2
0
        public ModelQuery <Contract.OrganizationUser> Filter(long organizationId, ModelQueryFilter filter)
        {
            IQueryable <Models.OrganizationUser> dbOrganizationUsersQuery = dbContext.OrganizationUsers.Where(x => x.OrganizationId == organizationId);

            Contract.OrganizationUser[] organizationUsers = dbOrganizationUsersQuery.Include(x => x.User).Select(x =>
                                                                                                                 new
            {
                Id     = x.Id,
                Name   = x.User.Email,
                Level  = x.Level,
                Status = x.Status
            }).Apply(filter).ToArray().Select(x => new Contract.OrganizationUser()
            {
                Id     = x.Id,
                Name   = x.Name,
                Level  = x.Level,
                Status = x.Status
            }).ToArray();

            return(new ModelQuery <Contract.OrganizationUser>()
            {
                List = organizationUsers,
                TotalItems = dbOrganizationUsersQuery.Count()
            });
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Filter organizations
        /// </summary>
        /// <param name="filter">filter obj</param>
        /// <returns>Model query for organization view model</returns>
        public ModelQuery <OrganizationViewModel> Filter(ModelQueryFilter filter)
        {
            // get all
            if (filter == null)
            {
                return(new ModelQuery <OrganizationViewModel>()
                {
                    List = dbContext.Organizations.Select(t => new OrganizationViewModel()
                    {
                        Id = t.Id,
                        Name = t.Name,
                        Website = t.Website,
                        ParentOrganizationId = t.ParentId
                    }),
                    TotalItems = dbContext.Organizations.Count()
                });
            }

            var query = dbContext.Organizations.Select(t => new OrganizationViewModel()
            {
                Id      = t.Id,
                Name    = t.Name,
                Website = t.Website,
                ParentOrganizationId = t.ParentId
            }).Skip(filter.CurrentPage * filter.ItemsPerPage)
                        .Take(filter.ItemsPerPage)
                        .Select(p => p);

            if (!string.IsNullOrEmpty(filter.SortBy))
            {
                if (filter.SortAscending)
                {
                    query = query.OrderBy(filter.SortBy);
                }
                else
                {
                    query = query.OrderByDescending(filter.SortBy);
                }
            }

            var count = query.Count();

            return(new ModelQuery <OrganizationViewModel>()
            {
                List = query.ToList(),
                TotalItems = count
            });
        }
Ejemplo n.º 4
0
        public ModelQuery <Sample> GetAll(ModelQueryFilter filter)
        {
            if (filter == null) // get all
            {
                return new ModelQuery <Sample>()
                       {
                           List       = _items.Values,
                           TotalItems = _items.Count
                       }
            }
            ;

            var query = _items.Skip(filter.CurrentPage * filter.ItemsPerPage)
                        .Take(filter.ItemsPerPage)
                        .Select(p => p.Value);

            if (!string.IsNullOrEmpty(filter.SortBy))
            {
                if (filter.SortAscending)
                {
                    query = query.OrderBy(filter.SortBy);
                }
                else
                {
                    query = query.OrderByDescending(filter.SortBy);
                }
            }

            var count = query.Count();

            return(new ModelQuery <Sample>()
            {
                List = query.ToList(),
                TotalItems = count
            });
        }
Ejemplo n.º 5
0
        public IActionResult Get([FromRoute] long organizationId, [FromQuery] int currentPage, [FromQuery] int itemsPerPage, [FromQuery] bool sortAscending, [FromQuery] string sortBy)
        {
            ModelQueryFilter filter = new ModelQueryFilter(currentPage, itemsPerPage, sortAscending, sortBy);

            return(new ObjectResult(organizationUserRepository.Filter(organizationId, filter)));
        }