public virtual string Resolve <T>(IContext context) { string key = string.Empty; string modelName = GetModelTypename <T>(); string applicationContext = context.ApplicationContextKey; string namespaceString; if (!String.IsNullOrWhiteSpace(applicationContext) && !String.IsNullOrWhiteSpace(modelName)) { string mapkey = String.Format("{0}:{1}", applicationContext, modelName); if (!maps.ContainsKey(mapkey)) { bool b = false; for (int i = 0; !b && i < group.Sections.Count; i++) { eXtensibleStrategySection section = group.Sections[i] as eXtensibleStrategySection; if (section.Context.Equals(applicationContext, System.StringComparison.OrdinalIgnoreCase)) { key = section.DefaultResolution; for (int j = 0; !b && j < section.Strategies.Count; j++) { eXtensibleStrategyElement element = section.Strategies[j] as eXtensibleStrategyElement; if (element.StrategyValue.Equals(modelName, StringComparison.OrdinalIgnoreCase)) { key = element.Resolution; b = true; } } if (!b && ParseNamespace(modelName, out namespaceString)) { for (int j = 0; !b && j < section.Strategies.Count; j++) { eXtensibleStrategyElement element = section.Strategies[j] as eXtensibleStrategyElement; if (element.StrategyValue.Equals(namespaceString, StringComparison.OrdinalIgnoreCase)) { key = element.Resolution; b = true; } } } b = true; } } maps.TryAdd(mapkey, key); } else { maps.TryGetValue(mapkey, out key); } } return(key); }
public List <eXtensibleStrategyElement> GetForStrategyType(StrategyTypeOption option) { List <eXtensibleStrategyElement> list = new List <eXtensibleStrategyElement>(); for (int i = 0; i < this.Count; i++) { eXtensibleStrategyElement strategy = this[i]; if (strategy.StrategyType.Equals(option)) { list.Add(strategy); } } return(list); }
public eXtensibleStrategyElementCollection() { eXtensibleStrategyElement element = (eXtensibleStrategyElement)CreateNewElement(); base.BaseAdd(element); }
public void Add(eXtensibleStrategyElement element) { base.BaseAdd(element); }