예제 #1
0
        public SuplexRlsSummaryRecord GetSuplexRls(int id, string source, string uieUniqueName)
        {
            string sp   = string.Empty;
            string parm = string.Empty;

            switch (source.ToLower())
            {
            case "packagegroup":
            {
                sp   = "TPTR.api_package_group_sel_rls";
                parm = "@PACKAGE_GROUP_ID";
                break;
            }

            case "request":
            {
                sp   = "TPTR.api_release_sel_rls";
                parm = "@RELEASE_ID";
                break;
            }
            }

            DataSet ds = _da.GetDataSet(sp, new System.Collections.sSortedList(parm, id, "@uie_unique_name", uieUniqueName));

            _da.NameTablesFromCompositeSelect(ref ds);

            SuplexRlsSummaryRecord rlsSummary = new SuplexRlsSummaryRecord();

            GroupFactory groupFactory = new GroupFactory();

            foreach (DataRow r in ds.Tables["GroupMembers"].Rows)
            {
                rlsSummary.Members.Add(groupFactory.CreateObject(r).FromSuplexNative());
            }
            foreach (DataRow r in ds.Tables["GroupNonMembers"].Rows)
            {
                rlsSummary.NonMembers.Add(groupFactory.CreateObject(r).FromSuplexNative());
            }

            AceFactory aceFactory = new AceFactory();

            foreach (DataRow r in ds.Tables["Aces"].Rows)
            {
                rlsSummary.Dacl.Add(aceFactory.CreateObject(r).FromSuplexNative(r));
            }

            rlsSummary.RlsOwner     = Guid.Empty.ToString();
            rlsSummary.RlsOwnerName = "Unknown";
            DataTable owner = ds.Tables["Owner"];

            if (owner.Rows.Count > 0)
            {
                rlsSummary.RlsOwner     = owner.Rows[0]["RLS_OWNER"].ToString();
                rlsSummary.RlsOwnerName = owner.Rows[0]["RLS_OWNER_NAME"].ToString();
            }

            return(rlsSummary);
        }