/// <summary> /// Save a new workout /// </summary> /// <param name="dto"></param> /// <returns></returns> public async Task <int> AddWorkoutAsync(NewWorkoutDto dto) { if (dto == null || dto.UserId < 1) { LogError("AddWorkoutAsync", "Dto was invalid. Aborted workout creation"); return(-1); } var user = await _userRepository.GetUser(dto.UserId); if (user == null) { LogNonExistingUserError("AddWorkoutAsync", dto.UserId); return(-1); } if (user.Workouts == null) { user.Workouts = new List <Workout>(); } var workout = new Workout { User = user, Name = dto.Name, CreationDate = DateTime.Now }; //user.Workouts.Add(workout); var workoutId = await _workoutRepository.CreateAsync(workout); LogInformation("AddWorkoutAsync", $"Workout was added for {dto.UserId}"); return(workoutId); }
public async Task <Workout> CreateAsync(Workout workout) { return(await _workoutRepository.CreateAsync(workout)); }