/// <inheritdoc /> public Trinket Convert(ItemDTO value, object state) { var entity = new UnknownTrinket(); this.Merge(entity, value, state); return(entity); }
/// <inheritdoc /> public Trinket Convert(ItemDataContract value, object state) { if (value == null) { throw new ArgumentNullException("value", "Precondition: value != null"); } var trinketDataContract = value.Trinket; if (trinketDataContract == null) { return(new UnknownTrinket()); } Trinket trinket; IConverter <TrinketDataContract, Trinket> converter; if (this.typeConverters.TryGetValue(trinketDataContract.Type, out converter)) { trinket = converter.Convert(trinketDataContract, state); } else { trinket = new UnknownTrinket(); } var infusionSlotDataContracts = trinketDataContract.InfusionSlots; if (infusionSlotDataContracts != null) { trinket.InfusionSlots = this.converterForInfusionSlotCollection.Convert(infusionSlotDataContracts, state); } var infixUpgradeDataContract = trinketDataContract.InfixUpgrade; if (infixUpgradeDataContract != null) { trinket.InfixUpgrade = this.converterForInfixUpgrade.Convert(infixUpgradeDataContract, state); } int suffixItemId; if (int.TryParse(trinketDataContract.SuffixItemId, out suffixItemId)) { trinket.SuffixItemId = suffixItemId; } int secondarySuffixItemId; if (int.TryParse(trinketDataContract.SecondarySuffixItemId, out secondarySuffixItemId)) { trinket.SecondarySuffixItemId = secondarySuffixItemId; } return(trinket); }
// Implement this method in a buddy class to set properties that are specific to 'UnknownTrinket' (if any) partial void Merge(UnknownTrinket entity, ItemDTO dto, object state);