/// <inheritdoc /> public WeaponSkin Convert(SkinDTO value, object state) { var entity = new UnknownWeaponSkin(); this.Merge(entity, value, state); return(entity); }
/// <summary>Converts the given object of type <see cref="WeaponSkinDataContract"/> to an object of type <see cref="WeaponSkin"/>.</summary> /// <param name="value">The value to convert.</param> /// <param name="state"></param> /// <returns>The converted value.</returns> public WeaponSkin Convert(SkinDataContract value, object state) { if (value == null) { throw new ArgumentNullException("value", "Precondition: value != null"); } WeaponSkin weaponSkin; var weaponSkinDataContract = value.Weapon; IConverter <WeaponSkinDataContract, WeaponSkin> converter; if (weaponSkinDataContract != null && this.typeConverters.TryGetValue(weaponSkinDataContract.Type, out converter)) { weaponSkin = converter.Convert(weaponSkinDataContract, state); } else { weaponSkin = new UnknownWeaponSkin(); } if (weaponSkinDataContract == null) { return(weaponSkin); } var damageType = weaponSkinDataContract.DamageType; if (damageType != null) { weaponSkin.DamageType = this.converterForDamageType.Convert(damageType, state); } return(weaponSkin); }
// Implement this method in a buddy class to set properties that are specific to 'UnknownWeaponSkin' (if any) partial void Merge(UnknownWeaponSkin entity, SkinDTO dto, object state);