Example #1
0
        void IResolvable <Strategy_t, T> .Resolve(Strategy_t strategy, ISimpleDictionary <T> sourceCollection)
        {
            if (strategy.Edits.Contains(Id))
            {
                _referencedEdit = strategy.Edits.Clone <T>(Id);

                _log.Debug(m => m("EditRef Id {0} linked to new Edit_t resolved from Strategy '{1}'", Id, strategy.Name));
            }
            else
            {
                Strategies_t strategies = strategy.Parent;

                if (strategies != null && strategies.Edits.Contains(Id))
                {
                    _referencedEdit = strategies.Edits.Clone <T>(Id);

                    _log.Debug(m => m("EditRef Id {0} linked to new Edit_t resolved resolved from Strategies level", Id));
                }
                else
                {
                    throw ThrowHelper.New <ReferencedObjectNotFoundException>(this, ErrorMessages.EditRefResolutionFailure, Id);
                }
            }

            (_referencedEdit as IResolvable <Strategy_t, T>).Resolve(strategy, sourceCollection);
        }
Example #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="owner"></param>
        /// <param name="parent">; null if this StrategyPanel_t does not have a parent (for example, because it is the
        /// immediate descendent of a StrategyLayout_t.</param>
        /// <remarks></remarks>
        public StrategyPanel_t(Strategy_t owningStrategy, IStrategyPanel parent)
        {
            _owningStrategy      = owningStrategy;
            _owningStrategyPanel = parent as StrategyPanel_t;

            // Set defaults
            Collapsed   = true;
            Collapsible = false;

            _strategyPanels = new StrategyPanelCollection();
        }
Example #3
0
 // Single parameter constructor needed for root StrategyPanel_t.
 public StrategyPanel_t(Strategy_t owner) : this(owner, null)
 {
 }