public async Task <ActionResult <HeroDto> > AddHero(AddHeroDto addHeroDto) { var hero = await unitOfWork.HeroRepository.AddHero(addHeroDto, User.GetUserId()); return(await unitOfWork.ApplyChanges() ? Ok(hero) : throw new HttpRequestException(" an unknown error has accorded while adding a new hero ")); }
/// <summary> /// Add a new hero to the SQL /// </summary> public async Task <HeroDto> AddHero(AddHeroDto addHeroDto, string trainerId) { if (addHeroDto is null) { throw new ArgumentNullException(nameof(addHeroDto)); } if (string.IsNullOrEmpty(trainerId)) { throw new ArgumentException($"'{nameof(trainerId)}' cannot be null or empty.", nameof(trainerId)); } var hero = mapper.Map <Hero>(addHeroDto); hero.TrainerId = trainerId; await context.UserHeros.AddAsync(hero); return(mapper.Map <HeroDto>(hero)); }