public async Task <IActionResult> RemoveTrainingDayFromTrainingPlan([FromBody] TrainingPlanDayForm data)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest());
                }

                var trainingPlan = await _context.TrainingPlans.SingleOrDefaultAsync(p => p.Id == data.TrainingPlanId);

                if (trainingPlan == null)
                {
                    return(NotFound(data.TrainingPlanId));
                }

                var trainingDay = await _context.TrainingDays.SingleOrDefaultAsync(t => t.Id == data.Day.Id);

                if (trainingDay == null)
                {
                    return(NotFound(data.Day));
                }
                trainingPlan.Days.Remove(trainingDay);
                await _context.SaveChangesAsync();

                return(Ok(trainingPlan));
            }
            catch (Exception e)
            {
                return(StatusCode(500));
            }
        }
        public async Task <IActionResult> AddTrainingDayToTrainingPlan([FromBody] TrainingPlanDayForm data)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest());
                }

                var trainingPlan = await _context.TrainingPlans.SingleOrDefaultAsync(p => p.Id == data.TrainingPlanId);

                if (trainingPlan == null)
                {
                    return(NotFound(data.TrainingPlanId));
                }

                var trainingDay = await _context.TrainingDays.SingleOrDefaultAsync(t => t.Id == data.Day.Id);

                if (trainingDay == null)
                {
                    if (data.Day.Id != 0)
                    {
                        return(NotFound(data.Day));
                    }
                    var workoutDays = new List <TrainingDayWorkout>();
                    foreach (var workout in _context.Workouts.Where(w => data.Day.Workouts.Any(x => x.Id == w.Id)))
                    {
                        workoutDays.Add(new TrainingDayWorkout {
                            TrainingDay = data.Day, TrainingDayId = data.Day.Id, Workout = workout, WorkoutId = workout.Id
                        });
                    }
                    data.Day.TrainingDayWorkouts = workoutDays;
                    var result = _context.TrainingDays.Add(data.Day);
                    trainingDay = result.Entity;
                }
                trainingPlan.Days.Add(trainingDay);
                await _context.SaveChangesAsync();

                return(Ok(trainingPlan));
            }
            catch (Exception e)
            {
                return(StatusCode(500));
            }
        }