protected override void LoadDatabaseAttributes() { using (SqlConnection conn = new SqlConnection(ConnectionStringBuilder.ConnectionString)) { conn.Open(); DataTable dbtables = conn.GetSchema(SqlClientMetaDataCollectionNames.Databases); foreach (DataRow dbrow in dbtables.Rows) { if (dbrow[0].Equals(this.Name)) { NodeAttribute idatt = new NodeAttribute { name = dbrow[1].ToString(), description = "Database Id", type = new AttributeType { name = EnumParser.GetValueName(DbClasses.Identifier) } }; NodeAttribute createdatt = new NodeAttribute { name = dbrow[2].ToString(), description = "Created Date", type = new AttributeType { name = EnumParser.GetValueName(DbColumnAttributes.DbDateTime) } }; Metadata.Add(idatt); Metadata.Add(createdatt); break; } } } }
protected override void LoadDatabaseAttributes() { if (Metadata == null) { Metadata = new List <NodeAttribute>(); } Metadata.Clear(); NodeAttribute typenode = new NodeAttribute { name = ConnectionStringBuilder.DataSource, description = "SQL Server Instance", type = new AttributeType { name = EnumParser.GetValueName(ItActorTypes.Service) } }; Metadata.Add(typenode); }
protected void StoreDependencies(List <DataConnection> dlist) { TypeService tsvc = new TypeService(); EdgeService esvc = new EdgeService(); foreach (DataConnection econn in dlist) { if (econn.EdgeId == 0) { if (econn.StartNode != null && econn.EndNode != null) { DataSourceNodeBase u = econn.StartNode; DataSourceNodeBase v = econn.EndNode; if (u.NodeIdentity != 0 && v.NodeIdentity != 0) { string typename = EnumParser.GetValueName(econn.ConnectionType); EdgeType etype = tsvc.GetEdgeType(typename, true); //Create an edge to added Edge addEdge = new Edge { name = econn.Name, fromNodeId = u.NodeIdentity, toNodeId = v.NodeIdentity, description = econn.Description, type = etype }; try { int edgeid = esvc.AddEdge(addEdge); econn.EdgeId = edgeid; } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } } } } } }
public override string ToString() { return(String.Format("{0}{1}", ConnectionType != null ? EnumParser.GetValueName(ConnectionType) + " " : "", Name)); }
protected void StoreNodes(List <DataSourceNodeBase> nlist, SqlServerDatabaseNode databaseNode) { NodeService nsvc = new NodeService(); TypeService tsvc = new TypeService(); AttributeService attsvc = new AttributeService(); MembershipService msvc = new MembershipService(); foreach (DataSourceNodeBase dbnode in nlist) { string memtypename = null; //if there is a non-zero id value, it's already been stored/pulled. if (dbnode.NodeIdentity == 0) { Node existnode = nsvc.GetByName(dbnode.Name); if (existnode == null) { //hasn't been added yet--create one Type nclasstype = dbnode.GetType(); string ntypename = null; switch (nclasstype.FullName) { case "SystemMap.Models.Transform.db.sqlserver.SqlServerInstanceNode": ntypename = "SQL Server"; memtypename = null; break; case "SystemMap.Models.Transform.db.sqlserver.SqlServerDatabaseNode": ntypename = EnumParser.GetValueName(DbClasses.Database); memtypename = null; break; case "SystemMap.Models.Transform.db.sqlserver.SqlServerTableNode": ntypename = EnumParser.GetValueName(DbClasses.Table); memtypename = ntypename; break; case "SystemMap.Models.Transform.db.sqlserver.SqlServerViewNode": ntypename = EnumParser.GetValueName(DbClasses.View); memtypename = ntypename; break; case "SystemMap.Models.Transform.db.sqlserver.SqlServerProcedureNode": ntypename = EnumParser.GetValueName(DbProcesses.StoredProcedue); memtypename = ntypename; break; case "SystemMap.Models.Transform.db.sqlserver.SqlServerFunctionNode": ntypename = EnumParser.GetValueName(DbProcesses.Function); memtypename = ntypename; break; case "SystemMap.Models.Transform.db.GenericDataSourceNode": ntypename = "External Reference"; memtypename = null; break; default: ntypename = "General"; memtypename = null; break; } NodeType ntype = tsvc.GetNodeType(ntypename, true); existnode = new Node { name = dbnode.Name, description = ntypename, type = ntype }; try { int nid = nsvc.AddNode(existnode); dbnode.NodeIdentity = nid; if (dbnode.Metadata != null) { foreach (NodeAttribute natt in dbnode.Metadata) { try { AttributeType atype = tsvc.GetAttributeType(natt.type.name, true); natt.nodeId = dbnode.NodeIdentity; natt.type = atype; attsvc.AddNodeAttribute(natt); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } } } } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } } else { dbnode.NodeIdentity = existnode.id; } } if (memtypename != null) { MembershipType mtype = tsvc.GetMembershipType(memtypename, true); if (mtype != null && databaseNode.NodeIdentity != 0 && dbnode.NodeIdentity != 0) { try { msvc.AddNodeMembership(databaseNode.NodeIdentity, dbnode.NodeIdentity, mtype.typeId); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } } } } }