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)); }
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)); } }
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)); }
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)); } }