Example #1
0
        private string CreateNewDataSource(System.Type dataSourceType)
        {
            string text = this._idTextBox.Text;
            string str2 = string.Empty;

            if (dataSourceType != null)
            {
                object obj2 = Activator.CreateInstance(dataSourceType);
                if (obj2 == null)
                {
                    return(str2);
                }
                System.Web.UI.Control newControl = obj2 as System.Web.UI.Control;
                if (newControl == null)
                {
                    return(str2);
                }
                newControl.ID = text;
                ISite serviceProvider = this.GetSite();
                if (serviceProvider == null)
                {
                    return(str2);
                }
                INameCreationService service = (INameCreationService)serviceProvider.GetService(typeof(INameCreationService));
                if (service != null)
                {
                    try
                    {
                        service.ValidateName(text);
                    }
                    catch (Exception exception)
                    {
                        UIServiceHelper.ShowError(serviceProvider, System.Design.SR.GetString("CreateDataSource_NameNotValid", new object[] { exception.Message }));
                        this._idTextBox.Focus();
                        return(str2);
                    }
                    IContainer container = serviceProvider.Container;
                    if (container != null)
                    {
                        ComponentCollection components = container.Components;
                        if ((components != null) && (components[text] != null))
                        {
                            UIServiceHelper.ShowError(serviceProvider, System.Design.SR.GetString("CreateDataSource_NameNotUnique"));
                            this._idTextBox.Focus();
                            return(str2);
                        }
                    }
                }
                IDesignerHost host = (IDesignerHost)serviceProvider.GetService(typeof(IDesignerHost));
                if (host == null)
                {
                    return(str2);
                }
                IComponent rootComponent = host.RootComponent;
                if (rootComponent == null)
                {
                    return(str2);
                }
                WebFormsRootDesigner designer = host.GetDesigner(rootComponent) as WebFormsRootDesigner;
                if (designer == null)
                {
                    return(str2);
                }
                System.Web.UI.Control component = this.GetComponent() as System.Web.UI.Control;
                str2 = designer.AddControlToDocument(newControl, component, ControlLocation.After);
                IDesigner           designer2 = host.GetDesigner(newControl);
                IDataSourceDesigner designer3 = designer2 as IDataSourceDesigner;
                if (designer3 != null)
                {
                    if (designer3.CanConfigure && this._configure)
                    {
                        designer3.Configure();
                    }
                    return(str2);
                }
                IHierarchicalDataSourceDesigner designer4 = designer2 as IHierarchicalDataSourceDesigner;
                if (((designer4 != null) && designer4.CanConfigure) && this._configure)
                {
                    designer4.Configure();
                }
            }
            return(str2);
        }