private async Task LookupTypeAndUnits(Aquarium aquarium) { // Lookup units aquarium.DimensionUnit = await _unitManager.LookUpByName(aquarium.DimensionUnit); aquarium.VolumeUnit = await _unitManager.LookUpByName(aquarium.VolumeUnit); //Look Up Type aquarium.Type = _aquariumTypeManager.LookupFromName(aquarium.Type); }
public async Task <IActionResult> Post(int aquariumId, [FromBody] MeasurementModel model) { try { var measurement = _mapper.Map <Measurement>(model); if (measurement == null) { return(UnprocessableEntity()); } // User URL values over model values measurement.UserId = UserId; measurement.AquariumId = aquariumId; // Measurement Type measurement.MeasurementType = _measurementManager.LookupFromName(measurement.MeasurementType); var results = _validationManager.Validate(measurement); if (results.Count != 0) { return(UnprocessableEntity(results)); } // Lookup unit measurement.Unit = await _unitManager.LookUpByName(measurement.Unit); await _repository.Add(measurement); AddETag(measurement.RowVersion); var url = Url.Link("MeasurementGet", new { UserId, aquariumId, ((Measurement)measurement).Id }); return(Created(url, _mapper.Map <MeasurementModel>(measurement))); } catch (Exception ex) { _logger.Error(ex, "An error occured whilst trying to create Measurement."); } return(BadRequest("Could not create Measurement")); }