public static IDocument CreateDocumentFromFile(string filename) { IDocument document; if (!FDocuments.TryGetValue(filename, out document)) { var location = new Uri(filename); var fileExtension = Path.GetExtension(filename); switch (fileExtension) { case ".cs": document = new CSDocument(filename, location); break; case ".fx": case ".fxh": case ".xx": document = new FXDocument(filename, location); break; default: document = new TextDocument(filename, location); break; } FDocuments[filename] = document; document.Disposed += document_Disposed; } return(document); }
public CSDocument Create(DataSet dataset, string dbContextName, string defaultNamespaceName, string projectName) { DbClass cls = new DbClass(dataset, dbContextName); CSDocument document = new CSDocument(dbContextName, projectName); CSNamespace ns = CreateNamespace(defaultNamespaceName, GetUsingList(defaultNamespaceName), cls); document.Namespaces.Add(ns); return(document); }
private CSDocument Create(DataTable dataTable, string namespaceName, string projectName) { CSNamespace ns = new CSNamespace(namespaceName); CSDocument document = new CSDocument(dataTable.TableName, projectName); ns.Classes.Add(new ModelClass(dataTable)); document.Namespaces.Add(ns); return(document); }
private CSDocument Create(DataTable dataTable, string namespaceName, string projectName) { RepositoryPackClass cls = new RepositoryPackClass(dataTable); CSDocument document = new CSDocument(dataTable.TableName, projectName); CSNamespace ns = CreateNamespace(CreateNamespaceName(namespaceName, dataTable.TableName), GetUsingList(namespaceName, dataTable.TableName), cls); document.Namespaces.Add(ns); return(document); }
private CSDocument Create(DataTable dataTable, string defaultNamespaceName, string projectName) { DeleteClass cls = new DeleteClass(dataTable); CSDocument document = new CSDocument(dataTable.TableName, projectName); CSNamespace ns = CreateNamespace(CreateNamespaceName(defaultNamespaceName, dataTable.TableName), GetUsingList(), cls); document.Namespaces.Add(ns); return(document); }
private CSDocument Create(DataTable dataTable, string namespaceName, string projectName) { namespaceName = CreateNamespaceName(namespaceName, dataTable.TableName); SelectClass cls = new SelectClass(dataTable); CSDocument document = new CSDocument(dataTable.TableName, projectName); CSNamespace ns = CreateNamespace(namespaceName, GetUsingList(), cls); document.Namespaces.Add(ns); return(document); }
void CSDocument_ParseCompleted(CSDocument document) { try { if (document.ParseInfo != null && document.ParseInfo.MostRecentCompilationUnit != null) { Document.FoldingManager.UpdateFoldings(document.Location.LocalPath, document.ParseInfo); } } catch (Exception) { // Ignore } }
private static bool ContainsNodeInfo(CSDocument document, INodeInfo nodeInfo) { var parseInfo = document.ParseInfo; var compilationUnit = parseInfo.MostRecentCompilationUnit; if (compilationUnit == null) { return(false); } foreach (var clss in compilationUnit.Classes) { foreach (var attribute in clss.Attributes) { var attributeType = attribute.AttributeType; var pluginInfoName = typeof(PluginInfoAttribute).Name; var pluginInfoShortName = pluginInfoName.Replace("Attribute", ""); if (attributeType.Name == pluginInfoName || attributeType.Name == pluginInfoShortName) { // Check name string name = null; if (attribute.NamedArguments.ContainsKey("Name")) { name = (string)attribute.NamedArguments["Name"]; } else if (attribute.PositionalArguments.Count >= 0) { name = (string)attribute.PositionalArguments[0]; } if (name != nodeInfo.Name) { continue; } // Check category string category = null; if (attribute.NamedArguments.ContainsKey("Category")) { category = (string)attribute.NamedArguments["Category"]; } else if (attribute.PositionalArguments.Count >= 1) { category = (string)attribute.PositionalArguments[1]; } if (category != nodeInfo.Category) { continue; } // Possible match bool match = true; // Check version if (!string.IsNullOrEmpty(nodeInfo.Version)) { string version = null; if (attribute.NamedArguments.ContainsKey("Version")) { version = (string)attribute.NamedArguments["Version"]; } else if (attribute.PositionalArguments.Count >= 2) { version = (string)attribute.PositionalArguments[2]; } match = version == nodeInfo.Version; } if (match) { return(true); } } } } return(false); }