public async Task <ActionResult> Create([FromBody] GenreCreateModel model)
        {
            if (Request.Cookies.ContainsKey("role"))
            {
                var role = Request.Cookies["admin"];
                if (role != "admin")
                {
                    return(BadRequest("Error"));
                }
            }
            else
            {
                return(BadRequest("Error"));
            }

            try
            {
                using var service = _genreService;
                var result = await service.Create(model);

                return(Ok(result));
            }
            catch (Exception e)
            {
                return(BadRequest($"Error {e}"));
            }
        }
Exemplo n.º 2
0
        public void Create_GoodArgument_ReturnNull1_Exception()
        {
            var genreCreateModel = new GenreCreateModel
            {
                Name     = "Genre",
                Books    = new List <string>(),
                ImageUrl = "SomeImageUrl"
            };

            _mockGenreRepository.Setup(w => w.GetAll()).ReturnsAsync(() => null);
            using var genreService = new GenreService(_mockGenreRepository.Object, _mapper);
            Assert.ThrowsAsync <ServerException>(() => genreService.Create(genreCreateModel));
        }
Exemplo n.º 3
0
        public void Create_BadArgument_Exception()
        {
            var genreCreateModel = new GenreCreateModel
            {
                Name     = "SomeGenreName",
                Books    = new List <string>(),
                ImageUrl = "SomeImageUrl"
            };

            _mockGenreRepository.Setup(w => w.GetAll()).ReturnsAsync(_genres);
            _mockGenreRepository.Setup(w => w.Add(It.IsAny <Genre>())).ReturnsAsync(() => null);
            using var genreService = new GenreService(_mockGenreRepository.Object, _mapper);
            Assert.ThrowsAsync <CustomException>(() => genreService.Create(genreCreateModel));
        }
Exemplo n.º 4
0
        public void Create_GoodArgument_Success()
        {
            var genreCreateModel = new GenreCreateModel
            {
                Name     = "Genre",
                Books    = new List <string>(),
                ImageUrl = "SomeImageUrl"
            };

            _mockGenreRepository.Setup(w => w.GetAll()).ReturnsAsync(_genres);
            _mockGenreRepository.Setup(w => w.Add(It.IsAny <Genre>())).ReturnsAsync(_genre);
            using var genreService = new GenreService(_mockGenreRepository.Object, _mapper);
            var create = genreService.Create(genreCreateModel);

            _mockGenreRepository.Verify(w => w.Add(It.IsAny <Genre>()), Times.Once);
        }
Exemplo n.º 5
0
        public async Task <HttpResponseMessage> Add([FromBody] GenreCreateModel model)
        {
            HttpResponseMessage returnMessage = new HttpResponseMessage();

            var role   = mapper.Map <GenreDto>(model);
            var result = await service.CreateAsync(role);

            if (result.IsSuccess)
            {
                string message = ($"Student Created - {result.Entity.Id}");
                returnMessage = new HttpResponseMessage(HttpStatusCode.Created);
                returnMessage.RequestMessage = new HttpRequestMessage(HttpMethod.Post, message);
            }
            else
            {
                returnMessage = new HttpResponseMessage(HttpStatusCode.ExpectationFailed);
                returnMessage.RequestMessage = new HttpRequestMessage(HttpMethod.Post, result.GetErrorString());
            }

            return(returnMessage);
        }
Exemplo n.º 6
0
        public async Task <string> Create(GenreCreateModel genreCreateModel)
        {
            if (genreCreateModel == null || genreCreateModel.Name.IsNullOrEmpty())
            {
                throw new CustomException("Некоректные данные");
            }
            var genres = await _genreRepository.GetAll();

            if (genres == null)
            {
                throw new ServerException("Сервер вернул null");
            }
            if (genres.Any(w => string.Equals(w.Name, genreCreateModel.Name)))
            {
                throw new CustomException("Жанр с таким именем уже существует");
            }
            var result = await _genreRepository.Add(_mapper.Map <Genre>(genreCreateModel));

            if (result == null)
            {
                throw new ServerException("Ошибка сервера при добавлении");
            }
            return(result.Id);
        }