예제 #1
0
파일: Session.cs 프로젝트: valiant-tms/PDM
        public DataTable getObjects(String itemId, String revisionId, DataTable attributes)
        {
            DataTable bomList = new DataTable();

            Revision[] revisions = new Revision[0];

            try {
                String targetItemId = itemId;
                String targetRevId  = revisionId;

                if (targetItemId != "" && targetItemId.Length > 6)
                {
                    GetItemAndRelatedObjectsResponse response = getItem(targetItemId, targetRevId);
                    TCBomTree bomTree = new TCBomTree(getConnection(), attributes);
                    bomTree.ItemUID1    = response.Output[0].Item.Uid;
                    bomTree.ItemRevUID1 = response.Output[0].ItemRevOutput[0].ItemRevision.Uid;
                    bomTree.loadItem();

                    bomList = bomTree.getBOMStructure();
                }

                setObjectPolicy(attributes);
                foreach (DataRow row in bomList.Rows)
                {
                    Revision rev = getItem(row["BL_ITEM_ITEM_ID"].ToString(), row["BL_REV_ITEM_REVISION_ID"].ToString()).Output[0].ItemRevOutput[0].ItemRevision;
                    foreach (DataRow attribute in attributes.Rows)
                    {
                        Console.WriteLine(attribute["ATTRI"].ToString().ToUpper());
                        try {
                            row[attribute["ATTRI"].ToString().ToUpper()] = rev.GetPropertyDisplayableValue(attribute["ATTRI"].ToString());
                        } catch {
                            if (attribute["ATYPE"].ToString().ToUpper().Equals("ITEMREV"))
                            {
                                row[attribute["ATTRI"].ToString().ToUpper()] = "";
                            }
                        }
                    }
                }
            } catch (NotLoadedException e) {
            }

            return(bomList);
        }
예제 #2
0
파일: Session.cs 프로젝트: valiant-tms/PDM
        private GetItemAndRelatedObjectsResponse getItem(String itemId, String revisionId)
        {
            GetItemAndRelatedObjectsInfo[] itemArray    = new GetItemAndRelatedObjectsInfo[1];
            GetItemAndRelatedObjectsInfo   itemRevInput = new GetItemAndRelatedObjectsInfo();

            AttrInfo[] attrInfoArray = new AttrInfo[1];
            AttrInfo   attrInfo      = new AttrInfo();

            attrInfo.Name    = "item_id";
            attrInfo.Value   = itemId;
            attrInfoArray[0] = attrInfo;

            ItemInfo itemInfo = new ItemInfo();

            itemInfo.Ids        = attrInfoArray;
            itemInfo.ClientId   = "iteminfo1";
            itemInfo.UseIdFirst = true;

            RevInfo revInfo = new RevInfo();

            revInfo.Id         = revisionId;
            revInfo.NRevs      = 1;
            revInfo.ClientId   = "revInfo1";
            revInfo.UseIdFirst = true;
            revInfo.Processing = "Ids";

            DatasetInfo dsInfo = new DatasetInfo();

            dsInfo.ClientId = "dsInfo1";

            dsInfo.Filter            = new DatasetFilter();
            dsInfo.Filter.Processing = "None";

            itemRevInput.ItemInfo = itemInfo;
            itemRevInput.RevInfo  = revInfo;
            itemArray[0]          = itemRevInput;
            GetItemAndRelatedObjectsInfo[] itemAndRelObjInfo = new GetItemAndRelatedObjectsInfo[1];
            itemAndRelObjInfo[0]             = new GetItemAndRelatedObjectsInfo();
            itemAndRelObjInfo[0].ItemInfo    = itemInfo;
            itemAndRelObjInfo[0].RevInfo     = revInfo;
            itemAndRelObjInfo[0].DatasetInfo = dsInfo;
            itemAndRelObjInfo[0].ClientId    = "itemAndRelObj1";
            GetItemAndRelatedObjectsResponse response = getDMService().GetItemAndRelatedObjects(itemAndRelObjInfo);

            if (response.Output[0] == null)
            {
                return(null);
            }

            if (itemId.Equals("VMT-0000006840"))
            {
                //               try {
//                  UploadDownloadFsc3 upDown = new UploadDownloadFsc3(user);
//                   upDown.CreateItemItemRevDataset(itemId, revisionId);
//                    upDown.AddNamedReference();
//                   upDown.DownloadAttachedFile();

/*                    Teamcenter.Soa.Client.FileManagementUtility fmu = new Teamcenter.Soa.Client.FileManagementUtility(getConnection());
 *                  ModelObject mo = (ModelObject)itemAndRelObjInfo[0];
 *                  GetFileResponse res = fmu.GetFileToLocation(mo, "C://WORK/TCDOWNLOAD.FILE.PDF", null, null);
 *
 *                  System.IO.FileInfo[] files = res.GetFiles();
 *
 *                  Console.WriteLine("fileLen: " + files.Length);
 *                  Console.WriteLine("fileName: " + files[0].FullName);
 *
 *                  for (int j = 0; j < files.Length; j++) {
 *                      String path = files[j].FullName;
 *                      Console.WriteLine("filePath: " + path);
 *                  }
 *              } catch( Exception e) {
 *                  Console.WriteLine(e.Message);
 *              } */
            }

            return(response);
        }