public async Task UpdateComicAsync(int id, ComicBookInputDto comic) { var com = await _repository.GetByIdAsync(id); if (com == null) { throw new NullReferenceException(); } _mapper.Map(comic, com); if (com.Series.Id != comic.SeriesId) { var series = await _seriesRepository.GetByIdAsync(comic.SeriesId); if (series == null) { throw new ValidationException("Invalid series id."); } com.Series = series; } com.Validate(); if (com.HasErrors) { throw new ValidationException(com.GetFirstError()); } await _repository.UpdateAsync(com); }
public async Task AddComicAsync(ComicBookInputDto comic) { var com = _mapper.Map <Data.ComicBook>(comic); com.Series = await _seriesRepository.GetByIdAsync(comic.SeriesId); if (com.Series == null) { throw new ValidationException("Invalid Series Id"); } if (!com.ComicBookArtists.Any()) { throw new ValidationException("Artist list cannot be empty"); } com.Validate(); if (com.HasErrors) { throw new ValidationException(com.GetFirstError()); } await _repository.AddAsync(com); }