Exemplo n.º 1
0
        public async Task <IActionResult> AddWorkout(AddWorkoutRequest addWorkoutRequest)
        {
            addWorkoutRequest.AppUserId = User.GetUserId();
            var workout = await _workoutService.AddWorkoutAsync(addWorkoutRequest);

            return(CreatedAtRoute(nameof(GetWorkout), new { id = workout.Id }, workout));
        }
        /// <summary>
        ///     Add a workout on workout page.
        /// </summary>
        /// <returns>
        ///     Edit page of new workout if success.
        /// </returns>
        public async Task <IActionResult> AddWorkout()
        {
            var user = await GetCurrentUserAsync();

            var exercises = await _exerciseService.GetAllExercisesAsync();

            var workouts = await _workoutService.GetAllWorkoutsAsync(user.Id);

            if (workouts == null || exercises == null)
            {
                return(View("/Error"));
            }


            var workoutSize   = workouts.Count;
            var addWorkoutDto = new NewWorkoutDto {
                UserId = user.Id, Name = string.Format("Workout {0}", workoutSize)
            };
            var workoutId = await _workoutService.AddWorkoutAsync(addWorkoutDto);

            if (workoutId < 1)
            {
                return(View("/Error")); // Error
            }
            var workoutDto = await _workoutService.GetWorkoutAsync(workoutId);

            var model = _mapper.Map <WorkoutDto, WorkoutViewModel>(workoutDto);

            model.WorkoutEntries = new List <WorkoutEntryViewModel>();
            model.Exercises      = exercises.ToList();

            return(RedirectToAction(nameof(EditWorkout), model));
        }
Exemplo n.º 3
0
        public async Task AddWorkout_Returns_NewWorkoutDto(AddWorkoutRequest workoutDto)
        {
            var newWorkoutResponse = await _workoutService.AddWorkoutAsync(workoutDto);

            _mockUnitOfWork.Verify(x => x.SaveAllAsync());

            newWorkoutResponse.Should().NotBeNull();
        }
Exemplo n.º 4
0
        public async Task <IActionResult> AddWorkout(WorkoutAddDto workoutAddDto)
        {
            var workoutId = await _workoutService.AddWorkoutAsync(workoutAddDto, User.GetUserId());

            return(CreatedAtRoute(nameof(GetWorkout), new { id = workoutId }, new { id = workoutId }));
        }