public async Task loadGridData()
        {
            WorkoutAdviceQueryParams queryParams = new WorkoutAdviceQueryParams
            {
                ClientId  = int.Parse(cbClient.SelectedValue.ToString()),
                TrainerId = int.Parse(cbTrainer.SelectedValue.ToString())
            };

            _workoutAdvices = await _workoutAdviceApiService.GetAll <List <WorkoutAdvice> >(queryParams);

            dgvAdvices.DataSource = _workoutAdvices;
        }
        public async Task LoadAdvices()
        {
            WorkoutAdvices.Clear();

            WorkoutAdviceQueryParams queryParams = new WorkoutAdviceQueryParams();

            if (Trainer != null)
            {
                queryParams.TrainerId = Trainer.Id;
            }

            List <WorkoutAdvice> workoutAdvices = await adviceApiService.GetAll <List <WorkoutAdvice> >(queryParams);

            foreach (var advice in workoutAdvices)
            {
                WorkoutAdvices.Add(advice);
            }
        }
        public List <Models.Workout.WorkoutAdvice> GetAll(WorkoutAdviceQueryParams queryParams, UserInfo userInfo)
        {
            var query = _context.WorkoutAdvices
                        .Include(x => x.Client)
                        .ThenInclude(x => x.AppUser)
                        .Include(x => x.Trainer)
                        .ThenInclude(x => x.AppUser)
                        .AsQueryable();

            if (userInfo.Role == "EMPLOYEE")
            {
                if (queryParams.ClientId != null)
                {
                    query = query.Where(x => x.ClientId == queryParams.ClientId);
                }

                if (queryParams.TrainerId != null)
                {
                    query = query.Where(x => x.TrainerId == queryParams.TrainerId);
                }
            }

            else if (userInfo.Role == "TRAINER")
            {
                query = query.Where(x => x.TrainerId == userInfo.Id);
            }

            else
            {
                query = query.Where(x => x.ClientId == userInfo.Id);

                if (queryParams.TrainerId != null)
                {
                    query = query.Where(x => x.TrainerId == queryParams.TrainerId);
                }
            }

            return(query.Select(x => WorkoutAdviceMapper.fromDb(x))
                   .ToList());
        }
Esempio n. 4
0
        public List <Models.Workout.WorkoutAdvice> GetAll([FromQuery] WorkoutAdviceQueryParams queryParams)
        {
            UserInfo userInfo = _authenticationService.IsAuthorized(Request, new[] { "EMPLOYEE", "CLIENT", "TRAINER" });

            return(_workoutAdviceService.GetAll(queryParams, userInfo));
        }