/// <inheritdoc /> public UpgradeComponent Convert(ItemDTO value, object state) { var entity = new UnknownUpgradeComponent(); this.Merge(entity, value, state); return(entity); }
/// <inheritdoc /> public UpgradeComponent Convert(ItemDataContract value, object state) { if (value == null) { throw new ArgumentNullException("value", "Precondition: value != null"); } var upgradeComponentDataContract = value.UpgradeComponent; if (upgradeComponentDataContract == null) { return(new UnknownUpgradeComponent()); } UpgradeComponent upgradeComponent; IConverter <UpgradeComponentDataContract, UpgradeComponent> converter; if (this.typeConverters.TryGetValue(upgradeComponentDataContract.Type, out converter)) { upgradeComponent = converter.Convert(upgradeComponentDataContract, state); } else { upgradeComponent = new UnknownUpgradeComponent(); } var flags = upgradeComponentDataContract.Flags; if (flags != null) { upgradeComponent.UpgradeComponentFlags = this.converterForUpgradeComponentFlagCollection.Convert(flags, state); } var infusionUpgradeFlags = upgradeComponentDataContract.InfusionUpgradeFlags; if (infusionUpgradeFlags != null) { upgradeComponent.InfusionUpgradeFlags = this.converterForInfusionSlotFlagCollection.Convert(infusionUpgradeFlags, state); } upgradeComponent.Suffix = upgradeComponentDataContract.Suffix; var infixUpgradeDataContract = upgradeComponentDataContract.InfixUpgrade; if (infixUpgradeDataContract != null) { upgradeComponent.InfixUpgrade = this.converterForInfixUpgrade.Convert(infixUpgradeDataContract, state); } upgradeComponent.Bonuses = upgradeComponentDataContract.Bonuses; return(upgradeComponent); }
/// <summary>Converts the given object of type <see cref="ItemDataContract"/> to an object of type <see cref="UpgradeComponent"/>.</summary> /// <param name="value">The value to convert.</param> /// <returns>The converted value.</returns> public UpgradeComponent Convert(ItemDataContract value) { Contract.Assume(value != null); var upgradeComponentDataContract = value.UpgradeComponent; if (upgradeComponentDataContract == null) { return(new UnknownUpgradeComponent()); } UpgradeComponent upgradeComponent; IConverter <UpgradeComponentDataContract, UpgradeComponent> converter; if (this.typeConverters.TryGetValue(upgradeComponentDataContract.Type, out converter)) { upgradeComponent = converter.Convert(upgradeComponentDataContract); } else { upgradeComponent = new UnknownUpgradeComponent(); } var flags = upgradeComponentDataContract.Flags; if (flags != null) { upgradeComponent.UpgradeComponentFlags = this.converterForUpgradeComponentFlagCollection.Convert(flags); } var infusionUpgradeFlags = upgradeComponentDataContract.InfusionUpgradeFlags; if (infusionUpgradeFlags != null) { upgradeComponent.InfusionUpgradeFlags = this.converterForInfusionSlotFlagCollection.Convert(infusionUpgradeFlags); } upgradeComponent.Suffix = upgradeComponentDataContract.Suffix; var infixUpgradeDataContract = upgradeComponentDataContract.InfixUpgrade; if (infixUpgradeDataContract != null) { upgradeComponent.InfixUpgrade = this.converterForInfixUpgrade.Convert(infixUpgradeDataContract); } upgradeComponent.Bonuses = upgradeComponentDataContract.Bonuses; return(upgradeComponent); }
// Implement this method in a buddy class to set properties that are specific to 'UnknownUpgradeComponent' (if any) partial void Merge(UnknownUpgradeComponent entity, ItemDTO dto, object state);