Beispiel #1
0
        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);
        }
Beispiel #2
0
 public void Create(CreateTitleViewModel title)
 {
     FilmHausDbContext.Titles.Add(new Title
     {
         DetailId  = Guid.NewGuid(),
         Name      = title.Name,
         CreatedOn = DateTime.Now
     });
     FilmHausDbContext.SaveChanges();
 }
Beispiel #3
0
        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());
        }