Exemplo n.º 1
0
        // --------------------------------------------------

        /// <summary>
        /// Merges this instance with the specified data context.
        /// </summary>
        /// <param name="dataContext">The data context to consider.</param>
        public void Merge(IBdoDataContext dataContext)
        {
            if (dataContext != null)
            {
                foreach (KeyValuePair <string, object> entry in dataContext.SingletonItems)
                {
                    if (!SingletonItems.ContainsKey(entry.Key))
                    {
                        SingletonItems.Add(entry.Key, entry.Value);
                    }
                }

                foreach (KeyValuePair <string, object> entry in dataContext.ScopedItems)
                {
                    if (!ScopedItems.ContainsKey(entry.Key))
                    {
                        ScopedItems.Add(entry.Key, entry.Value);
                    }
                }

                foreach (KeyValuePair <string, object> entry in dataContext.TransientItems)
                {
                    if (!TransientItems.ContainsKey(entry.Key))
                    {
                        TransientItems.Add(entry.Key, entry.Value);
                    }
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Returns a specific scoped item.
        /// </summary>
        /// <param name="name">Name of the dynamic item to return.</param>
        /// <param name="contextSectionName">Name of the context section to consider.</param>
        /// <returns>The dynamic item with specified name and type.</returns>
        public object GetScopedItem(string name, string contextSectionName = null)
        {
            string itemName = BdoDataContext.GetItemUniqueName(name, contextSectionName);

            return(ScopedItems.ContainsKey(itemName) ? ScopedItems[itemName] : null);
        }