Exemple #1
0
/// <summary>
/// Read assay information
/// </summary>
/// <param name="projectNodeName"></param>
/// <param name="pNodes"></param>

        public void BuildAfsLibraryNodes(
            string projectNodeName,
            Dictionary <string, MetaTreeNode> pNodes)
        {
            MetaTreeNode  projNode, libFolderNode, libNode;
            StringBuilder sb = new StringBuilder(64);

            List <AfsLibrary> libs = AfsLibrary.Select(projectNodeName);

            string fileName = MetaTableFactory.MetaTableXmlFolder + @"\LibraryStats.txt";

            foreach (AfsLibrary l in libs)
            {
                if (!pNodes.ContainsKey(l.MbsProjectName))
                {
                    continue;
                }

                projNode = pNodes[l.MbsProjectName];

                List <MetaTreeNode> projNodes = projNode.Nodes;

                if (projNodes.Count == 0 || projNodes[projNodes.Count - 1].Label != "Libraries")
                {                 // add libraries folder if doesn't exist
                    libFolderNode       = new MetaTreeNode(MetaTreeNodeType.SystemFolder);
                    libFolderNode.Name  = projNode.Name + "_LIBRARIES";
                    libFolderNode.Label = "Libraries";
                    libFolderNode.Owner = "AFS";
                    projNodes.Add(libFolderNode);
                }
                else
                {
                    libFolderNode = projNodes[projNodes.Count - 1];
                }

                libNode      = new MetaTreeNode(MetaTreeNodeType.Library);            // add node for library
                libNode.Name = libNode.Target = "LIBRARY_" + l.LibId;

                libNode.Label = l.LibLabel;
                libNode.Owner = "AFS";
                libFolderNode.Nodes.Add(libNode);
            }

            return;
        }
Exemple #2
0
        /// <summary>
        /// GetProjectMetaDataWithCriteria
        /// </summary>
        /// <param name="criteria"></param>
        /// <returns></returns>

        public static AfsProject SelectMetaDataWithCriteria(string criteria)
        {
            string sql = @"
				select *
				from <mbs_owner>.afs_project 
				where afs_current = 1 and <criteria>"                ;

            sql = Lex.Replace(sql, "<mbs_owner>", AfsTableSchema);
            sql = Lex.Replace(sql, "<criteria>", criteria);

            DbCommandMx dao = new DbCommandMx();

            dao.Prepare(sql);
            dao.ExecuteReader();
            if (!dao.Read())
            {
                dao.CloseReader();
                return(null);
            }

            AfsProject p = new AfsProject();

            p.ProjId            = dao.GetIntByName("PROJ_ID");
            p.ProjectLabel      = dao.GetStringByName("PROJ_NAME");
            p.PlatformName      = dao.GetStringByName("PLATFORM_NAME");
            p.Description       = dao.GetStringByName("DESCRIPTION");
            p.ProjectFlowScheme = dao.GetClobByName("PROJ_FLOW_SCHEME");
            p.MbsDhtFolderName  = dao.GetStringByName("MBS_DHT_FOLDER_CODE");
            p.MbsProjectName    = dao.GetStringByName("MBS_PROJECT_CODE");

            dao.CloseReader();

            p.ProjMeta  = AfsProjMeta.Select(p.ProjId);
            p.Targets   = AfsTarget.Select(p.ProjId);
            p.Assays    = AfsAssay.Select(p.ProjId);
            p.Libraries = AfsLibrary.Select(p.ProjId);

            return(p);
        }