public async Task <IActionResult> CreateWeaponUpgrades([FromBody] WeaponUpgradeResource resource) { if (resource == null) { throw new ArgumentNullException("resource", "Supplied WeaponUpgradeResource is null."); } if (!ModelState.IsValid) { throw new InvalidModelException(ModelState.ValidationState.ToString()); } WeaponUpgradeResource result; result = await _service.CreateWeaponUpgrades(resource); return(CreatedAtRoute("GetAllWeaponUpgrades", new { id = result.PreviousWeaponID }, result)); }