public async Task <Title> CreateTitleFromCreateViewModelAsync(CreateTitleViewModel model) { var title = _mapper.Map <Title>(model); var titleGenres = new List <TitleGenre>(); foreach (var genre in model.Genres) { var genreFromContext = await _genreContext.FirstOrDefaultAsync(x => x.Name == genre); if (genreFromContext is null) { genreFromContext = new Genre { Name = genre } } ; titleGenres.Add(new TitleGenre { Title = title, Genre = genreFromContext, }); } title.Genres = titleGenres; if (await CreateTitleAsync(title)) { return(title); } _logger.LogError("Failed to create title " + title.Name); return(null); }
public void Create(CreateTitleViewModel title) { FilmHausDbContext.Titles.Add(new Title { DetailId = Guid.NewGuid(), Name = title.Name, CreatedOn = DateTime.Now }); FilmHausDbContext.SaveChanges(); }
public async Task <IActionResult> CreateTitle(CreateTitleViewModel model) { var title = await _titleService.CreateTitleFromCreateViewModelAsync(model); if (title != null) { return(Created($"{HttpContext.Request.Scheme}://{HttpContext.Request.Host}/Title/{title.Id}", _mapper.Map <TitleViewModel>(title))); } return(BadRequest()); }