Exemplo n.º 1
0
        public async Task <ActionResult <User[]> > GetUsersByRoleIdAsync(short roleId, int pageNumber = 1, int pageSize = Data.Constants.Paging.DefaultPageSize, string sortBy = "UserId Desc")
        {
            EntityCollection <User> dbUsers = null;

            try
            {
                dbUsers = await _repository.GetUsersByRoleIdAsync(roleId, pageNumber, pageSize, sortBy);
            }
            catch (ParseException ex)
            {
                return(BadRequest("Request format is invalid: " + ex.Message));
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, ex));
            }

            if (dbUsers == null)
            {
                return(NotFound());
            }

            Data.ModelObjectCollection <Data.Models.User> Users = new ModelObjectCollection <Data.Models.User>
            {
                TotalCount     = dbUsers.TotalCount,
                PageNumber     = dbUsers.PageNumber,
                PageSize       = dbUsers.PageSize,
                TotalPages     = dbUsers.TotalPages,
                SortBy         = dbUsers.SortBy,
                NextPageNumber = dbUsers.NextPageNumber,
                PrevPageNumber = dbUsers.PrevPageNumber,
                NextPageUrl    = "",
                PrevPageUrl    = "",
                Data           = _mapper.Map <Data.Models.User []>(dbUsers.Data)
            };

            Users.NextPageUrl = (Users.PageNumber == Users.TotalPages) ? "" : ("api/Users?pageNumber" + Users.NextPageNumber.ToString())
                                + "&pageSize=" + Users.PageSize.ToString()
                                + "&sortBy=" + Users.SortBy;
            Users.PrevPageUrl = (Users.PageNumber == 1) ? "" : ("api/Users?pageNumber" + Users.PrevPageNumber.ToString())
                                + "&pageSize=" + Users.PageSize.ToString()
                                + "&sortBy=" + Users.SortBy;

            return(Ok(Users));
        }
        public async Task <ActionResult <MuscleGroup[]> > GetAllMuscleGroups(int pageNumber = 1, int pageSize = Data.Constants.Paging.DefaultPageSize, string sortBy = "MuscleGroupId Desc")
        {
            EntityCollection <MuscleGroup> dbMuscleGroups = null;

            try
            {
                dbMuscleGroups = await _repository.GetAllMuscleGroupsAsync(pageNumber, pageSize, sortBy);
            }
            catch (ParseException ex)
            {
                return(BadRequest("Request format is invalid: " + ex.Message));
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, ex));
            }

            if (dbMuscleGroups == null)
            {
                return(NotFound());
            }

            Data.ModelObjectCollection <Data.Models.MuscleGroup> MuscleGroups = new ModelObjectCollection <Data.Models.MuscleGroup>
            {
                TotalCount     = dbMuscleGroups.TotalCount,
                PageNumber     = dbMuscleGroups.PageNumber,
                PageSize       = dbMuscleGroups.PageSize,
                TotalPages     = dbMuscleGroups.TotalPages,
                SortBy         = dbMuscleGroups.SortBy,
                NextPageNumber = dbMuscleGroups.NextPageNumber,
                PrevPageNumber = dbMuscleGroups.PrevPageNumber,
                NextPageUrl    = "",
                PrevPageUrl    = "",
                Data           = _mapper.Map <Data.Models.MuscleGroup []>(dbMuscleGroups.Data)
            };

            MuscleGroups.NextPageUrl = (MuscleGroups.PageNumber == MuscleGroups.TotalPages) ? "" : ("api/MuscleGroups?pageNumber" + MuscleGroups.NextPageNumber.ToString())
                                       + "&pageSize=" + MuscleGroups.PageSize.ToString()
                                       + "&sortBy=" + MuscleGroups.SortBy;
            MuscleGroups.PrevPageUrl = (MuscleGroups.PageNumber == 1) ? "" : ("api/MuscleGroups?pageNumber" + MuscleGroups.PrevPageNumber.ToString())
                                       + "&pageSize=" + MuscleGroups.PageSize.ToString()
                                       + "&sortBy=" + MuscleGroups.SortBy;

            return(Ok(MuscleGroups));
        }