public async Task <ActionResult <SupplierNoteModel> > Post(int supplierId, SupplierNoteModel model) { try { //Make sure SupplierNoteId is not already taken var existing = await _repository.GetSupplierNoteAsync(supplierId, model.Id); if (existing != null) { return(BadRequest("SupplierNote Id in Use")); } //map var SupplierNote = _mapper.Map <SupplierNote>(model); //save and return if (!await _repository.StoreNewSupplierNoteAsync(supplierId, SupplierNote)) { return(BadRequest("Bad request, could not create record!")); } else { var location = _linkGenerator.GetPathByAction("Get", "SupplierNote", new { supplierId = SupplierNote.SupplierId, SupplierNote.Id }); return(Created(location, _mapper.Map <SupplierNoteModel>(SupplierNote))); } } catch (Exception e) { _logger.LogError(e, e.Message); return(this.StatusCode(StatusCodes.Status500InternalServerError, "Database Failure")); } }
public async Task <ActionResult <SupplierNoteModel> > Put(int supplierId, int Id, SupplierNoteModel updatedModel) { try { var currentSupplierNote = await _repository.GetSupplierNoteAsync(supplierId, Id); if (currentSupplierNote == null) { return(NotFound($"Could not find SupplierNote with Id of {Id}")); } _mapper.Map(updatedModel, currentSupplierNote); if (await _repository.UpdateSupplierNoteAsync(supplierId, currentSupplierNote)) { return(_mapper.Map <SupplierNoteModel>(currentSupplierNote)); } } catch (Exception e) { _logger.LogError(e, e.Message); return(this.StatusCode(StatusCodes.Status500InternalServerError, "Database Failure")); } return(BadRequest()); }