示例#1
0
        public async Task <bool> Add(TrainingForAddDto trainingForAddDto, int userId)
        {
            var user = await _repoUser.GetUser(userId);

            var trainingToCreate = Training.Create(trainingForAddDto.Name.Trim(), trainingForAddDto.Date, user);

            foreach (var trainingExerciseDto in trainingForAddDto.Exercises)
            {
                var exercise = await _repoExercise.GetByName(trainingExerciseDto.Exercise.Name, user.Id);

                if (exercise == null)
                {
                    _repoExercise.Add(Exercise.Create(trainingExerciseDto.Exercise.Name, user));
                    await _repoExercise.SaveAll();

                    exercise = await _repoExercise.GetByName(trainingExerciseDto.Exercise.Name, user.Id);
                }
                var exerciseToCreate = TrainingExercise.Create(exercise, user);

                foreach (var set in trainingExerciseDto.Sets)
                {
                    var unit = await _repoUnit.GetByCode(set.Unit);

                    var setToCreate = TrainingExerciseSet.Create(set.Reps, set.Weight, unit, user);
                    exerciseToCreate.Sets.Add(setToCreate);
                }

                trainingToCreate.Exercises.Add(exerciseToCreate);
            }
            _repoTraining.Add(trainingToCreate);
            return(await _repoTraining.SaveAll());
        }
示例#2
0
        private async Task <Training> CreateTraining(DataContext context, User user)
        {
            var training = Training.Create(
                "Training 1",
                new DateTime(2020, 7, 20),
                user
                );

            var exercise = await GetExercise(context);

            var trainingExercise = TrainingExercise.Create(exercise, user);

            var unit = await GetUnit(context);

            var trainingExerciseSet1 = TrainingExerciseSet.Create(
                10,
                80,
                unit,
                user
                );

            var trainingExerciseSet2 = TrainingExerciseSet.Create(
                10,
                85,
                unit,
                user
                );

            trainingExercise.Sets.Add(trainingExerciseSet1);
            trainingExercise.Sets.Add(trainingExerciseSet2);
            training.Exercises.Add(trainingExercise);
            return(training);
        }