private string GetCurrentPath()
        {
            if (this.EntityToken is WebsiteFileElementProviderRootEntityToken)
            {
                string rootPath = (string)ElementFacade.GetData(new ElementProviderHandle(this.EntityToken.Source), "RootPath");

                return(rootPath);
            }
            else if (this.EntityToken is WebsiteFileElementProviderEntityToken)
            {
                return((this.EntityToken as WebsiteFileElementProviderEntityToken).Path);
            }
            else
            {
                throw new NotImplementedException();
            }
        }
        public IEnumerable <EntityToken> GetParents(EntityToken entityToken)
        {
            if ((entityToken is SqlFunctionProviderRootEntityToken))
            {
                return(new EntityToken[] { });
            }
            else if ((entityToken is SqlFunctionProviderFolderEntityToken))
            {
                SqlFunctionProviderFolderEntityToken token = entityToken as SqlFunctionProviderFolderEntityToken;

                NamespaceTreeBuilder builder = (NamespaceTreeBuilder)ElementFacade.GetData(new ElementProviderHandle(token.Source), token.ConnectionId);

                NamespaceTreeBuilderFolder folder = builder.FindFolder(f => StringExtensionMethods.CreateNamespace(f.Namespace, f.Name, '.') == token.Id);

                if (folder == null)
                {
                    return(null);
                }
                else
                {
                    int idx = token.Id.LastIndexOf('.');
                    if (idx != -1)
                    {
                        return(new EntityToken[] { new SqlFunctionProviderFolderEntityToken(token.Id.Remove(idx), token.Source, token.ConnectionId) });
                    }
                    else
                    {
                        Guid           id            = new Guid(token.ConnectionId);
                        ISqlConnection sqlConnection = DataFacade.GetData <ISqlConnection>(f => f.Id == id).SingleOrDefault();

                        if (sqlConnection == null)
                        {
                            return(new EntityToken[] { });
                        }

                        return(new EntityToken[] { sqlConnection.GetDataEntityToken() });
                    }
                }
            }
            else
            {
                throw new NotImplementedException();
            }
        }
Beispiel #3
0
        public IEnumerable <EntityToken> GetParents(EntityToken entityToken)
        {
            VirtualElementProviderEntityToken virtualEntityToken = (VirtualElementProviderEntityToken)entityToken;

            List <EntityToken> parentEntityTokens = new List <EntityToken>();

            VirtualElementProviderEntityToken parentToken = (VirtualElementProviderEntityToken)ElementFacade.GetData(new ElementProviderHandle(virtualEntityToken.Source), virtualEntityToken.Id);

            if (parentToken != null)
            {
                parentEntityTokens.Add(parentToken);
            }

            return(parentEntityTokens);
        }