public async Task <IActionResult> HealCharacter(string id, HealCharacterRequest healCharacterRequest)
 {
     return(await GeneralHitpointService(
                id,
                (character) => validateHealCharacterRequest(character, healCharacterRequest),
                (character) => character.ApplyHealing(healCharacterRequest.Value)
                ));
 }
 public async Task <IActionResult> GrantTempHpToCharacter(string id, HealCharacterRequest healCharacterRequest)
 {
     return(await GeneralHitpointService(
                id,
                (character) => validateHealCharacterRequest(character, healCharacterRequest),
                (character) => character.GrantTemporaryHitpoints(healCharacterRequest.Value)
                ));
 }
        private ErrorInformation validateHealCharacterRequest(Character character, HealCharacterRequest request)
        {
            if (character == null)
            {
                return(ErrorInformation.InvalidCharacterError());
            }

            if (request == null || request.Value < 0)
            {
                return(ErrorInformation.InvalidParameterError());
            }
            return(null);
        }