Based on the armor wiki page, I think the TakeDamage function is a better place for that calculation (but implement the core calculation in a separate function, called by TakeDamage)
Ref.: http://minecraft.gamepedia.com/Armor#Enchantments
Ref.: http://minecraft.gamepedia.com/Armor#Enchantments