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(); } }
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); }