/// <inheritdoc /> public Armor Convert(ItemDTO value, object state) { var entity = new UnknownArmor(); this.Merge(entity, value, state); return(entity); }
// Implement this method in a buddy class to set properties that are specific to 'UnknownArmor' (if any) partial void Merge(UnknownArmor entity, ItemDTO dto, object state);
/// <inheritdoc /> public Armor Convert(ItemDataContract value, object state) { if (value == null) { throw new ArgumentNullException("value", "Precondition: value != null"); } Armor armor; var armorDataContract = value.Armor; IConverter <ArmorDataContract, Armor> converter; if (armorDataContract != null && this.typeConverters.TryGetValue(armorDataContract.Type, out converter)) { armor = converter.Convert(armorDataContract, state); } else { armor = new UnknownArmor(); } int defaultSkinId; if (int.TryParse(value.DefaultSkin, out defaultSkinId)) { armor.DefaultSkinId = defaultSkinId; } if (armorDataContract == null) { return(armor); } armor.WeightClass = this.converterForWeightClass.Convert(armorDataContract.WeightClass, state); int defense; if (int.TryParse(armorDataContract.Defense, out defense)) { armor.Defense = defense; } var infusionSlotDataContracts = armorDataContract.InfusionSlots; if (infusionSlotDataContracts != null) { armor.InfusionSlots = this.converterForInfusionSlotCollection.Convert(infusionSlotDataContracts, state); } var infixUpgradeDataContract = armorDataContract.InfixUpgrade; if (infixUpgradeDataContract != null) { armor.InfixUpgrade = this.converterForInfixUpgrade.Convert(infixUpgradeDataContract, state); } int suffixItemId; if (int.TryParse(armorDataContract.SuffixItemId, out suffixItemId)) { armor.SecondarySuffixItemId = suffixItemId; } int secondarySuffixItemId; if (int.TryParse(armorDataContract.SecondarySuffixItemId, out secondarySuffixItemId)) { armor.SecondarySuffixItemId = secondarySuffixItemId; } return(armor); }