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)); }
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)); }