Exemple #1
0
        /// <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));
 }