public async Task <IActionResult> Post(int aquariumId, [FromBody] WaterChangeModel model) { try { var waterChange = _mapper.Map <WaterChange>(model); // User URL values over model values waterChange.UserId = UserId; waterChange.AquariumId = aquariumId; if (waterChange == null) { return(UnprocessableEntity()); } await _repository.Add(waterChange); AddETag(waterChange.RowVersion); var url = Url.Link("WaterChangeGet", new { UserId, aquariumId, waterChangeId = waterChange.Id }); return(Created(url, _mapper.Map <WaterChangeModel>(waterChange))); } catch (Exception ex) { _logger.Error(ex, "An error occured whilst trying to create waterChange."); } return(BadRequest("Could not create waterChange")); }
public async Task <IActionResult> Put(int aquariumId, int waterChangeId, [FromBody] WaterChangeModel model) { try { var waterChange = await _repository.Get(waterChangeId); if (waterChange == null) { return(NotFound()); } if (waterChange.AquariumId != aquariumId) { return(BadRequest("Aquarium and WaterChange don't match")); } _mapper.Map(model, waterChange); await _repository.Update(waterChange); AddETag(waterChange.RowVersion); return(Ok(_mapper.Map <WaterChangeModel>(waterChange))); } catch (Exception ex) { _logger.Error(ex, "An error occured whilst trying to update WaterChange."); } return(BadRequest("Could not update WaterChange")); }
public WaterChangeModelTests() { item = new WaterChangeModel(); }