public async Task <IActionResult> UpdateWeaponUpgrades(int id, [FromBody] WeaponUpgradeResource resource) { if (id < 1) { throw new BadArguementException($"Supplied ID is below starting value (Supplied: {id}, Required: id >= 1)."); } if (resource == null) { throw new ArgumentNullException("resource", "Supplied WeaponUpgradeResource is null."); } if (!ModelState.IsValid) { throw new InvalidModelException(ModelState.ValidationState.ToString()); } if (id != resource.ID) { throw new ArgumentNullException("resource.ID", "Supplied WeaponUpgradeResource.ID is null."); } await _service.UpdateWeaponUpgrades(id, resource); return(NoContent()); }