Ejemplo n.º 1
0
        public async Task <IActionResult> Create(CreateExerciseInputModel model)
        {
            var result = await this.exercisesService
                         .CreateExercise(model);

            return(RedirectToAction(nameof(Index)));
        }
        public async Task <IActionResult> CreateExercise(CreateExerciseInputModel input)
        {
            var nameAlreadyExists = this.exercisesService.ExerciseNameAlreadyExists(input.Name);

            if (!this.ModelState.IsValid || nameAlreadyExists)
            {
                if (nameAlreadyExists)
                {
                    this.TempData["error"] = string.Format("Exercise with name \"{0}\" already exists! Please, choose a different name!", input.Name);
                }

                return(this.View(input));
            }

            var creatorName = this.User.Identity.Name;
            var isAdmin     = this.User.IsInRole(GlobalConstants.AdministratorRoleName);

            await this.exercisesService.CreateExerciseAsync(input.Name, input.VideoUrl, input.MuscleGroup, input.Description, creatorName, isAdmin);

            return(this.RedirectToAction(nameof(this.ExercisesListing), new { exerciseCategory = isAdmin ? "All" : "Custom" }));
        }