Beispiel #1
0
        /// <inheritdoc />
        public Trinket Convert(ItemDTO value, object state)
        {
            var entity = new UnknownTrinket();

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