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);
        }
Ejemplo n.º 3
0
        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);
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 4
0
 public override string ToString()
 {
     return(String.Format("{0}{1}", ConnectionType != null ? EnumParser.GetValueName(ConnectionType) + " " : "", Name));
 }
Ejemplo n.º 5
0
        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);
                        }
                    }
                }
            }
        }