public ActionResult <PagedUsersDTO> GetAllUsers(
     [FromQuery] UserFilterData filterData,
     [FromQuery] int pageNumber = 1,
     [FromQuery] int pageSize   = 5)
 {
     try
     {
         var result = _userService.GetAllUsers(pageNumber, pageSize, filterData);
         return(Ok(result));
     }
     catch (Exception exception)
     {
         return(BadRequest(exception.Message));
     }
 }
 public async Task <ActionResult <PagedTrainersDTO> > GetNotSignedUpUsers(
     [FromQuery] UserFilterData filterData,
     [FromQuery] int trainingId,
     [FromQuery] int pageNumber = 1,
     [FromQuery] int pageSize   = 5)
 {
     try
     {
         var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);
         return(Ok(await _userService.GetNotSignedUpUsers(pageNumber, pageSize, trainingId, userId, filterData)));
     }
     catch (Exception exception)
     {
         return(BadRequest(exception.Message));
     }
 }
Example #3
0
        public async Task <PagedReservationUsersDTO> GetNotSignedUpUsers(
            int pageNumber,
            int pageSize,
            int trainingId,
            string userId,
            UserFilterData filterData)
        {
            var users = await _userRepository.GetNotSignedUpUsers(trainingId, userId);

            var pagedUsers = GetUsers(pageNumber, pageSize, users, filterData);
            var training   = await _trainingService.GetTraining(trainingId);

            var pagedReservationUsers = new List <ReservationUserDTO>();

            foreach (var user in pagedUsers.Users)
            {
                var reservation = await _reservationRepository.GetReservation(trainingId, user.Id);

                var reservationInfo = new ReservationInfoDTO();
                if (reservation != null)
                {
                    reservationInfo.IsSignedUp    = true;
                    reservationInfo.IsReserveList = reservation.IsReserveList;
                }
                else
                {
                    reservationInfo.IsSignedUp    = false;
                    reservationInfo.IsReserveList = false;
                }
                pagedReservationUsers.Add(new ReservationUserDTO
                {
                    User            = user,
                    ReservationInfo = reservationInfo
                });
            }

            return(new PagedReservationUsersDTO
            {
                TotalCount = pagedUsers.TotalCount,
                TotalPages = pagedUsers.TotalPages,
                Users = pagedReservationUsers,
                Training = training
            });
        }
Example #4
0
 private ISpecification <ApplicationUser> ApplyFilters(UserFilterData filterData)
 {
     return(new UserMatchesKeywords(filterData.Keywords));
 }