Ejemplo n.º 1
0
        public static IWorkspace OpenWorkspace(IPropertySet ipropertySet_0)
        {
            IWorkspace        workspace = null;
            IWorkspaceFactory factory;
            Exception         exception;

            if (ipropertySet_0.Count == 1)
            {
                object obj2;
                object obj3;
                string str2 = "";
                ipropertySet_0.GetAllProperties(out obj2, out obj3);
                if (((string[])obj2)[0] == "DATABASE")
                {
                    str2 = System.IO.Path.GetExtension(((object[])obj3)[0].ToString()).ToLower();
                }
                if (str2 == ".mdb")
                {
                    factory = new AccessWorkspaceFactory();
                    try
                    {
                        workspace = factory.Open(ipropertySet_0, 0);
                    }
                    catch (Exception exception1)
                    {
                        exception = exception1;
                        MessageBox.Show(exception.Message);
                    }
                    return(workspace);
                }
                if (str2 == ".gdb")
                {
                    factory = new FileGDBWorkspaceFactory();
                    try
                    {
                        workspace = factory.Open(ipropertySet_0, 0);
                    }
                    catch (Exception exception2)
                    {
                        exception = exception2;
                        MessageBox.Show(exception.Message);
                    }
                }
                return(workspace);
            }
            factory = new SdeWorkspaceFactory();
            try
            {
                workspace = factory.Open(ipropertySet_0, 0);
            }
            catch (Exception exception3)
            {
                exception = exception3;
                MessageBox.Show(exception.Message);
            }
            return(workspace);
        }
Ejemplo n.º 2
0
        public static IWorkspace OpenWorkspace(IPropertySet ipropertySet_0)
        {
            object            obj;
            object            obj1;
            IWorkspaceFactory sdeWorkspaceFactoryClass;
            IWorkspace        workspace = null;

            if (ipropertySet_0.Count != 1)
            {
                sdeWorkspaceFactoryClass = new SdeWorkspaceFactory();
                try
                {
                    workspace = sdeWorkspaceFactoryClass.Open(ipropertySet_0, 0);
                }
                catch (Exception exception)
                {
                    MessageBox.Show(exception.Message);
                }
            }
            else
            {
                string str   = "";
                string lower = "";
                ipropertySet_0.GetAllProperties(out obj, out obj1);
                if (((string[])obj)[0] == "DATABASE")
                {
                    str   = ((object[])obj1)[0].ToString();
                    lower = System.IO.Path.GetExtension(str).ToLower();
                }
                if (lower == ".mdb")
                {
                    sdeWorkspaceFactoryClass = new AccessWorkspaceFactory();
                    try
                    {
                        workspace = sdeWorkspaceFactoryClass.Open(ipropertySet_0, 0);
                    }
                    catch (Exception exception1)
                    {
                        MessageBox.Show(exception1.Message);
                    }
                }
                else if (lower == ".gdb")
                {
                    sdeWorkspaceFactoryClass = new FileGDBWorkspaceFactory();
                    try
                    {
                        workspace = sdeWorkspaceFactoryClass.Open(ipropertySet_0, 0);
                    }
                    catch (Exception exception2)
                    {
                        MessageBox.Show(exception2.Message);
                    }
                }
            }
            return(workspace);
        }