EntityDataSourceEntityTypeFilterConverter.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWebControlsDesign / System / Data / WebControls / Design / EntityDataSourceEntityTypeFilterConverter.cs / 1305376 / EntityDataSourceEntityTypeFilterConverter.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// 
// @owner       [....]
// @backupOwner [....] 
//----------------------------------------------------------------------------- 

using System.Collections.Generic; 
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Diagnostics;
using System.Web.UI.WebControls; 

namespace System.Web.UI.Design.WebControls 
{ 
    internal class EntityDataSourceEntityTypeFilterConverter : StringConverter
    { 
        public EntityDataSourceEntityTypeFilterConverter()
            : base()
        {
        } 

        public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) 
        { 
            // We can only get a list of possible EntityTypeFilter values if we have:
            //    (1) Connection string so we can load metadata 
            //    (2) DefaultContainerName to give scope to the lookup
            //    (3) EntitySetName that exists in DefaultContainerName so we can get its type and derived types
            // Even if these values are set, it may not be possible to actually find them in metadata, but at least we can try the lookup if requested
 
            EntityDataSource entityDataSource = context.Instance as EntityDataSource;
            if (entityDataSource != null && 
                !String.IsNullOrEmpty(entityDataSource.ConnectionString) && 
                !String.IsNullOrEmpty(entityDataSource.DefaultContainerName) &&
                !String.IsNullOrEmpty(entityDataSource.EntitySetName)) 
            {
                List entityTypeFilterItems =
                    new EntityDataSourceDesignerHelper(entityDataSource, false /*interactiveMode*/).GetEntityTypeFilters(
                        entityDataSource.DefaultContainerName, entityDataSource.EntitySetName); 

                string[] entityTypeFilters = new string[entityTypeFilterItems.Count]; 
                for (int i = 0; i < entityTypeFilterItems.Count; i++) 
                {
                    entityTypeFilters[i] = entityTypeFilterItems[i].EntityTypeName; 
                }
                return new StandardValuesCollection(entityTypeFilters);
            }
 
            return null;
        } 
 
        public override bool GetStandardValuesExclusive(ITypeDescriptorContext context)
        { 
            return false;
        }

        public override bool GetStandardValuesSupported(ITypeDescriptorContext context) 
        {
            return true; 
        } 
    }
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK