コード例 #1
0
        /// <inheritdoc />
        public UpgradeComponent Convert(ItemDTO value, object state)
        {
            var entity = new UnknownUpgradeComponent();

            this.Merge(entity, value, state);
            return(entity);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
 // 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);