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