Exemple #1
0
        public async Task <Data.Entities.Publisher> PostPublisher(Data.Entities.Publisher publisher)
        {
            _context.Publishers.Add(publisher);
            await _context.SaveChangesAsync();

            return(publisher);
        }
        public async Task <ActionResult <Data.Models.Publisher> > CreateNewPublisher(Data.Models.PublisherForCreate newPublisher)
        {
            Data.Entities.Publisher dbNewPublisher = null;
            try
            {
                dbNewPublisher = _mapper.Map <Data.Entities.Publisher>(newPublisher);
            }
            catch (Exception ex)
            {
                return(BadRequest("Input is in invalid format: " + ex.Message));
            }

            if (dbNewPublisher == null)
            {
                return(BadRequest("Input is in invalid format"));
            }

            await _repository.AddAsync <Data.Entities.Publisher>(dbNewPublisher);

            await _repository.SaveChangesAsync();

            Data.Models.Publisher addedPublisher = _mapper.Map <Data.Models.Publisher>(dbNewPublisher);

            var url = _linkgenerator.GetPathByAction(HttpContext, "GetPublisherByPubId", "Publishers", addedPublisher);

            return(this.Created(url, addedPublisher));
        }
Exemple #3
0
        public async Task <Data.Entities.Publisher> PutPublisher(int id, Data.Entities.Publisher publisher)
        {
            _context.Entry(publisher).State = EntityState.Modified;
            await _context.SaveChangesAsync();

            return(publisher);
        }
        public async Task <ActionResult <Data.Models.Publisher> > PatchPublisher(int pubId, JsonPatchDocument <Data.Models.PublisherForUpdate> patchDocument)
        {
            try
            {
                Data.Entities.Publisher dbPublisher = await _repository.GetPublisherAsync(pubId);

                if (dbPublisher == null)
                {
                    return(NotFound());
                }

                var updatedPublisher = _mapper.Map <Data.Models.PublisherForUpdate>(dbPublisher);
                patchDocument.ApplyTo(updatedPublisher, ModelState);

                _mapper.Map(updatedPublisher, dbPublisher);

                if (await _repository.SaveChangesAsync())
                {
                    Data.Models.Publisher savedPublisher = _mapper.Map <Data.Models.Publisher>(await _repository.GetPublisherAsync(pubId));
                    return(Ok(savedPublisher));
                }
                else
                {
                    return(StatusCode(StatusCodes.Status500InternalServerError, "Unable to save to database"));
                }
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, "Unable to patch publisher " + ex.Message));
            }
        }
        public async Task <ActionResult <Data.Models.Publisher> > UpdatePublisher(int pubId, Data.Models.PublisherForUpdate updatedPublisher)
        {
            try
            {
                Data.Entities.Publisher dbPublisher = await _repository.GetPublisherAsync(pubId);

                if (dbPublisher == null)
                {
                    return(NotFound());
                }

                _mapper.Map(updatedPublisher, dbPublisher);
                if (await _repository.SaveChangesAsync())
                {
                    Data.Models.Publisher savedPublisher = _mapper.Map <Data.Models.Publisher>(dbPublisher);
                    return(Ok(savedPublisher));
                }
                else
                {
                    return(BadRequest("Failed to update."));
                }
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, "Database exception: " + ex.Message));
            }
        }
Exemple #6
0
        public async Task <Models.Publisher> PutPublisher(int id, Models.Publisher Publisher)
        {
            Data.Entities.Publisher publisherEnt    = _mapper.Map <Data.Entities.Publisher>(Publisher);
            Data.Entities.Publisher publisherReturn = await _publishersRepository.PutPublisher(id, publisherEnt);

            return(_mapper.Map <Models.Publisher>(publisherReturn));
        }
Exemple #7
0
        public async Task <Models.Publisher> PostPublisher(Models.Publisher Publisher)
        {
            Data.Entities.Publisher publisherEnt = _mapper.Map <Data.Entities.Publisher>(Publisher);
            var result = await _publishersRepository.PostPublisher(publisherEnt);

            Models.Publisher PublisherModel = _mapper.Map <Models.Publisher>(result);
            return(PublisherModel);
        }
        public async Task <IActionResult> DeletePublisher(int pubId)
        {
            try
            {
                Data.Entities.Publisher dbPublisher = await _repository.GetPublisherAsync(pubId);

                if (dbPublisher == null)
                {
                    return(NotFound());
                }

                _repository.Delete <Data.Entities.Publisher>(dbPublisher);
                await _repository.SaveChangesAsync();

                return(NoContent());
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, "Database exception: " + ex.Message));
            }
        }