コード例 #1
0
        public IActionResult Create([FromBody] WorkoutRequest request)
        {
            CleanSets(request);

            var exercises = CreateExercises(request.Sets).ToList();
            var workout   = Mapper.Map <WorkoutDetails>(request);

            workout.UserId = CurrentUserId;
            var userWeight = measurementRepository.GetUserWeight(CurrentUserId);
            var maxs       = Calculate1RMs(workout, exercises, userWeight);

            Update1RMs(maxs);
            CalculateLoads(workout.Sets, exercises, userWeight);
            trainingRepository.CreateWorkout(workout);
            var burnedCalories    = request.EnergyExpenditure ?? CalculateEnergyExpenditure(workout.Duration, userWeight);
            var energyExpenditure = new EnergyExpenditure
            {
                UserId     = CurrentUserId,
                Time       = workout.Time,
                WorkoutId  = workout.Id,
                EnergyKcal = burnedCalories
            };

            activityRepository.CreateEnergyExpenditure(energyExpenditure);
            var response = Mapper.Map <WorkoutDetailsResponse>(workout);

            return(Ok(response));
        }
コード例 #2
0
        public IActionResult CreateEnergyExpenditure([FromBody] EnergyExpenditureRequest request)
        {
            var expenditure = Mapper.Map <EnergyExpenditure>(request);

            expenditure.UserId = CurrentUserId;
            CalculateEnergy(expenditure);
            activityRepository.CreateEnergyExpenditure(expenditure);

            var response = Mapper.Map <EnergyExpenditureResponse>(expenditure);

            return(Ok(response));
        }