Beispiel #1
0
        public async Task <ActionResult <AuthorDetailResource> > PutAuthor(int id, AuthorSaveResource resource)
        {
            Author         author   = _mapper.Map <Author>(resource);
            AuthorResponse response = await _authorService.UpdateAsync(id, author);

            if (!response.Success)
            {
                return(BadRequest(response.Message));
            }

            AuthorDetailResource updatedResource = _mapper.Map <AuthorDetailResource>(response.Author);

            return(Ok(updatedResource));
        }
Beispiel #2
0
        public async Task <ActionResult <AuthorDetailResource> > PostAuthor(AuthorSaveResource resource)
        {
            Author         author   = _mapper.Map <Author>(resource);
            AuthorResponse response = await _authorService.SaveAsync(author);

            if (!response.Success)
            {
                return(BadRequest(response.Message));
            }

            AuthorDetailResource savedResource = _mapper.Map <AuthorDetailResource>(response.Author);

            return(CreatedAtAction(nameof(GetAuthor), new { id = savedResource.Id }, savedResource));
        }
        public async Task <IActionResult> UpdateAuthor(int id, [FromBody] AuthorSaveResource authorResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var author = await repository.GetAuthor(id);

            mapper.Map <AuthorSaveResource, Author>(authorResource, author);

            await unitOfWork.CompleteAsync();

            author = await repository.GetAuthor(author.ID);

            var result = mapper.Map <Author, AuthorWithBooksResource>(author);

            return(Accepted(result));
        }
        public async Task <IActionResult> PostAsync([FromBody] AuthorSaveResource resource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }

            var author = _mapper.Map <AuthorSaveResource, Author>(resource);
            var result = await _authorService.SaveAsync(author);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }

            var authorResource = _mapper.Map <Author, AuthorResource>(result.Author);

            return(Ok(authorResource));
        }
        public async Task <IActionResult> CreateAuthor([FromBody] AuthorSaveResource authorResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var author = mapper.Map <AuthorSaveResource, Author>(authorResource);

            author.User = userManager.GetUserAsync(HttpContext.User).Result;
            repository.Add(author);

            await unitOfWork.CompleteAsync();

            author = await repository.GetAuthor(author.ID);

            var result = mapper.Map <Author, AuthorWithBooksResource>(author);

            return(Created(nameof(GetAuthor), result));
        }