Beispiel #1
0
        public async Task <MovieTagsDomainModel> AddMovieTag(MovieTagsDomainModel newMovieTag)
        {
            MovieTag movieTagToCreate = new MovieTag()
            {
                MovieId = newMovieTag.MovieId,
                Tagid   = newMovieTag.TagId
            };

            var data = _movieTagsRepository.Insert(movieTagToCreate);

            if (data == null)
            {
                return(null);
            }

            _movieTagsRepository.Save();

            MovieTagsDomainModel domainModel = new MovieTagsDomainModel()
            {
                MovieId = data.MovieId,
                TagId   = data.Tagid
            };

            return(domainModel);
        }
Beispiel #2
0
        public async Task <MovieDomainModel> AddMovie(MovieDomainModel newMovie, MovieCreateTagDomainModel movieCreateTagDomainModel)
        {
            Movie movieToCreate = new Movie()
            {
                Title   = newMovie.Title,
                Current = newMovie.Current,
                Year    = newMovie.Year,
                Rating  = newMovie.Rating
            };

            var data = _moviesRepository.Insert(movieToCreate);

            if (data == null)
            {
                return(null);
            }

            if (movieCreateTagDomainModel.Duration > 0)
            {
                var durationIntToString = movieCreateTagDomainModel.Duration.ToString();
                Tag durationTag         = new Tag
                {
                    Name = durationIntToString,
                    Type = "duration",
                };

                var newTagAdded = _tagRepository.Insert(durationTag);

                MovieTag movieTag = new MovieTag()
                {
                    MovieId = data.Id,
                    Tag     = newTagAdded
                };

                _movieTagsRepository.Insert(movieTag);
            }

            if (movieCreateTagDomainModel.tagsForMovieToAdd != null && movieCreateTagDomainModel.tagsForMovieToAdd.Count > 0)
            {
                foreach (var item in movieCreateTagDomainModel.tagsForMovieToAdd)
                {
                    var findTag = _tagRepository.GetByIdName(item);
                    if (findTag != null)
                    {
                        MovieTag moviTagToAdd = new MovieTag
                        {
                            MovieId = data.Id,
                            TagId   = findTag.Id
                        };
                        _movieTagsRepository.Insert(moviTagToAdd);
                    }
                }
            }

            _moviesRepository.Save();

            MovieDomainModel domainModel = new MovieDomainModel()
            {
                Id      = data.Id,
                Title   = data.Title,
                Current = data.Current,
                Year    = data.Year,
                Rating  = data.Rating ?? 0
            };

            return(domainModel);
        }