コード例 #1
0
        public async Task <IEnumerable <MovieTagsDomainModel> > GetByMovieId(Guid movieId)
        {
            var data = await _movieTagsRepository.GetByMovieId(movieId);

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

            List <MovieTagsDomainModel> result = new List <MovieTagsDomainModel>();
            MovieTagsDomainModel        domainModel;

            foreach (var item in data)
            {
                domainModel = new MovieTagsDomainModel
                {
                    MovieId    = item.MovieId,
                    TagId      = item.Tagid,
                    TagName    = item.Tag.Name,
                    MovieTitle = item.Movie.Title
                };
                result.Add(domainModel);
            }
            return(result);
        }
コード例 #2
0
        public void MovieTagsController_DeleteByMovieIdTagId_ServiceReturnsNull()
        {
            //Arrange
            MovieTagsDomainModel        movieTags    = null;
            Task <MovieTagsDomainModel> responseTask = Task.FromResult(movieTags);

            string expectedMessage    = Messages.MOVIETAG_DOES_NOT_EXIST;
            int    expectedStatusCode = 500;

            ErrorResponseModel errorResponseModel = new ErrorResponseModel();

            errorResponseModel.ErrorMessage = expectedMessage;
            errorResponseModel.StatusCode   = System.Net.HttpStatusCode.InternalServerError;

            MovieTagsController movieTagsController = new MovieTagsController(_mockMovieTagService.Object);

            _mockMovieTagService.Setup(x => x.DeleteByMovieIdTagId(It.IsAny <Guid>(), It.IsAny <int>())).Returns(responseTask);

            //Act
            var          result     = movieTagsController.DeleteByMovieIdTagId(_movieTagDomainModel.MovieId, _movieTagDomainModel.TagId).ConfigureAwait(false).GetAwaiter().GetResult();
            ObjectResult viewResult = (ObjectResult)result;

            //Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(viewResult.Value.ToString(), errorResponseModel.ToString());
            Assert.AreEqual(viewResult.StatusCode, expectedStatusCode);
        }
コード例 #3
0
        public async Task <IEnumerable <MovieTagsDomainModel> > DeleteByMovieId(Guid id)
        {
            var data = await _movieTagsRepository.DeleteByMovieId(id);

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

            _movieTagsRepository.Save();

            List <MovieTagsDomainModel> result = new List <MovieTagsDomainModel>();

            foreach (MovieTag movieTag in data)
            {
                MovieTagsDomainModel domainModel = new MovieTagsDomainModel
                {
                    MovieId = movieTag.MovieId,
                    TagId   = movieTag.Tagid
                };

                result.Add(domainModel);
            }

            return(result);
        }
コード例 #4
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);
        }
コード例 #5
0
        public void TestInitialize()
        {
            _movieTag = new MovieTag
            {
                MovieId = Guid.NewGuid(),
                Tagid   = 1,
                Movie   = new Movie(),
                Tag     = new Tag()
            };

            _movieTagDomainModel = new MovieTagsDomainModel
            {
                MovieId    = _movieTag.MovieId,
                TagId      = 1,
                MovieTitle = "NazivFilma",
                TagName    = "NazivTaga"
            };

            List <MovieTag> movieTagsList = new List <MovieTag>();

            movieTagsList.Add(_movieTag);
            IEnumerable <MovieTag>         movieTags    = movieTagsList;
            Task <IEnumerable <MovieTag> > responseTask = Task.FromResult(movieTags);

            _mockMovieTagsRepostitory = new Mock <IMovieTagsRepository>();
        }
コード例 #6
0
        public async Task <MovieTagsDomainModel> GetByMovieIdTagId(Guid movieId, int tagId)
        {
            var movieTagsObject = await _movieTagsRepository.GetById(movieId, tagId);

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

            MovieTagsDomainModel result = new MovieTagsDomainModel
            {
                MovieId = movieTagsObject.MovieId,
                TagId   = movieTagsObject.Tagid
            };

            return(result);
        }
コード例 #7
0
        public void TestInitialize()
        {
            _movieTagDomainModel = new MovieTagsDomainModel
            {
                MovieId    = Guid.NewGuid(),
                TagId      = 1,
                MovieTitle = "NazivFilma",
                TagName    = "NazivTaga"
            };

            List <MovieTagsDomainModel> movieTagsList = new List <MovieTagsDomainModel>();

            movieTagsList.Add(_movieTagDomainModel);
            IEnumerable <MovieTagsDomainModel>         movieTags    = movieTagsList;
            Task <IEnumerable <MovieTagsDomainModel> > responseTask = Task.FromResult(movieTags);

            _mockMovieTagService = new Mock <IMovieTagService>();
        }
コード例 #8
0
        public async Task <MovieTagsDomainModel> DeleteByMovieIdTagId(Guid movieId, int tagId)
        {
            var deletedMovieTag = await _movieTagsRepository.DeleteById(movieId, tagId);

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

            _movieTagsRepository.Save();

            MovieTagsDomainModel result = new MovieTagsDomainModel
            {
                MovieId = deletedMovieTag.MovieId,
                TagId   = deletedMovieTag.Tagid
            };

            return(result);
        }
コード例 #9
0
        public async Task <ActionResult> Post(Guid movieId, int tagId)
        {
            MovieTagsDomainModel domainModel = new MovieTagsDomainModel
            {
                MovieId = movieId,
                TagId   = tagId
            };

            MovieTagsDomainModel createdMovieTag;

            try
            {
                createdMovieTag = await _movieTagService.AddMovieTag(domainModel);
            }
            catch (DbUpdateException e)
            {
                ErrorResponseModel errorResponse = new ErrorResponseModel
                {
                    ErrorMessage = e.InnerException.Message ?? e.Message,
                    StatusCode   = System.Net.HttpStatusCode.BadRequest
                };

                return(BadRequest(errorResponse));
            }
            if (createdMovieTag == null)
            {
                ErrorResponseModel errorResponse = new ErrorResponseModel
                {
                    ErrorMessage = Messages.MOVIETAG_CREATION_ERROR,
                    StatusCode   = System.Net.HttpStatusCode.InternalServerError
                };

                return(StatusCode((int)System.Net.HttpStatusCode.InternalServerError, errorResponse));
            }

            return(Created("movietags//", createdMovieTag));
        }
コード例 #10
0
        public void TestInitialize()
        {
            _tag = new Tag()
            {
                Id   = 1,
                Name = "nazivTaga"
            };

            _tagDomainModel = new TagsDomainModel()
            {
                Id   = 1,
                Name = "nazivTaga"
            };

            _movieTagsDomainModel = new MovieTagsDomainModel()
            {
                MovieId = Guid.NewGuid(),
                TagId   = 1
            };


            List <Tag> tagModelsList = new List <Tag>();

            tagModelsList.Add(_tag);
            IEnumerable <Tag>         tags         = tagModelsList;
            Task <IEnumerable <Tag> > responseTask = Task.FromResult(tags);

            _mockTagsRepository = new Mock <ITagsRepository>();

            List <MovieTagsDomainModel> movieTagsList = new List <MovieTagsDomainModel>();

            movieTagsList.Add(_movieTagsDomainModel);
            IEnumerable <MovieTagsDomainModel>         movieTags             = movieTagsList;
            Task <IEnumerable <MovieTagsDomainModel> > movieTagsResponseTask = Task.FromResult(movieTags);

            _mockMovieTagService = new Mock <IMovieTagService>();
        }
コード例 #11
0
        public async Task <IEnumerable <MovieTagsDomainModel> > GetAllAsync()
        {
            var data = await _movieTagsRepository.GetAll();

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

            List <MovieTagsDomainModel> result = new List <MovieTagsDomainModel>();
            MovieTagsDomainModel        model;

            foreach (var item in data)
            {
                model = new MovieTagsDomainModel
                {
                    MovieId = item.MovieId,
                    TagId   = item.Tagid
                };
                result.Add(model);
            }

            return(result);
        }
コード例 #12
0
        public async Task <ActionResult> Post([FromBody] CreateMovieWithTagsModel movieModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            MovieDomainModel domainModel = new MovieDomainModel
            {
                Current   = movieModel.Current,
                Rating    = movieModel.Rating,
                Title     = movieModel.Title,
                Year      = movieModel.Year,
                BannerUrl = movieModel.BannerUrl
            };

            List <TagsDomainModel> tagList = new List <TagsDomainModel>();

            try
            {
                foreach (string tag in movieModel.Tags)
                {
                    TagsDomainModel tagsDomainModel = new TagsDomainModel
                    {
                        Name = tag
                    };

                    TagsDomainModel createdTag = await _tagService.AddTag(tagsDomainModel);

                    if (createdTag != null)
                    {
                        tagList.Add(createdTag);
                    }
                }
            }
            catch (DbUpdateException e)
            { Console.WriteLine(e.Message); }

            MovieDomainModel createMovie;

            try
            {
                createMovie = await _movieService.AddMovie(domainModel);
            }
            catch (DbUpdateException e)
            {
                ErrorResponseModel errorResponse = new ErrorResponseModel
                {
                    ErrorMessage = e.InnerException.Message ?? e.Message,
                    StatusCode   = System.Net.HttpStatusCode.BadRequest
                };

                return(BadRequest(errorResponse));
            }

            if (createMovie == null)
            {
                ErrorResponseModel errorResponse = new ErrorResponseModel
                {
                    ErrorMessage = Messages.MOVIE_CREATION_ERROR,
                    StatusCode   = System.Net.HttpStatusCode.InternalServerError
                };

                return(StatusCode((int)System.Net.HttpStatusCode.InternalServerError, errorResponse));
            }

            foreach (TagsDomainModel tag in tagList)
            {
                MovieTagsDomainModel movieTadDomainModel = new MovieTagsDomainModel
                {
                    MovieId = createMovie.Id,
                    TagId   = tag.Id
                };

                await _movieTagService.AddMovieTag(movieTadDomainModel);
            }
            return(Created("movies//" + createMovie.Id, createMovie));
        }