private static ModelObject[] QueryObjects(String QueryName, String[] SQEntries, String[] SQValues) { ImanQuery query = null; List <String> ObjectidList = new List <String>(); // Get the service stub SavedQueryService queryService = SavedQueryService.getService(Teamcenter.ClientX.Session.getConnection()); DataManagementService dmService = DataManagementService.getService(Teamcenter.ClientX.Session.getConnection()); try { GetSavedQueriesResponse savedQueries = queryService.GetSavedQueries(); if (savedQueries.Queries.Length == 0) { Console.Out.WriteLine("There are no saved queries in the system."); return(null); } // Find one called 'Item Name' for (int i = 0; i < savedQueries.Queries.Length; i++) { if (savedQueries.Queries[i].Name.Equals(QueryName)) { query = savedQueries.Queries[i].Query; break; } } } catch (ServiceException e) { Console.Out.WriteLine("GetSavedQueries service request failed."); Console.Out.WriteLine(e.Message); return(null); } if (query == null) { Console.WriteLine("There is no saved Query with the name\"" + QueryName + "\" query."); return(null); } try { // Search for all Items, returning a maximum of 25 objects QueryInput[] savedQueryInput = new QueryInput[1]; savedQueryInput[0] = new QueryInput(); savedQueryInput[0].Query = query; savedQueryInput[0].MaxNumToReturn = 0; savedQueryInput[0].LimitList = new Teamcenter.Soa.Client.Model.ModelObject[0]; savedQueryInput[0].Entries = SQEntries; // new String[] { "ID" }; savedQueryInput[0].Values = SQValues; //new String[1]; //savedQueryInput[0].Values[0] = "*"; //***************************** //Execute the service operation //***************************** SavedQueriesResponse savedQueryResult = queryService.ExecuteSavedQueries(savedQueryInput); QueryResults found = savedQueryResult.ArrayOfResults[0]; System.Console.Out.WriteLine(""); System.Console.Out.WriteLine("Found Items:"); String[] uids = new String[found.ObjectUIDS.Length]; // Page through the results 10 at a time for (int i = 0; i < found.ObjectUIDS.Length; i++) { uids[i] = found.ObjectUIDS[i]; } ServiceData sd = dmService.LoadObjects(uids); ModelObject[] foundObjs = new ModelObject[sd.sizeOfPlainObjects()]; for (int k = 0; k < sd.sizeOfPlainObjects(); k++) { foundObjs[k] = sd.GetPlainObject(k); } //Teamcenter.ClientX.Session.printObjects(foundObjs); return(foundObjs); } catch (ServiceException e) { Console.Out.WriteLine("ExecuteSavedQuery service request failed."); Console.Out.WriteLine(e.Message); return(null); } return(null); }
public void queryItems() { ImanQuery query = null; // Get the service stub SavedQueryService queryService = SavedQueryService.getService(Session.getConnection()); DataManagementService dmService = DataManagementService.getService(Session.getConnection()); try { // ***************************** // Execute the service operation // ***************************** GetSavedQueriesResponse savedQueries = queryService.GetSavedQueries(); if (savedQueries.Queries.Length == 0) { Console.Out.WriteLine("There are no saved queries in the system."); return; } // Find one called 'Item Name' for (int i = 0; i < savedQueries.Queries.Length; i++) { if (savedQueries.Queries[i].Name.Equals("MY_WEB_ITEM_REVISION")) { query = savedQueries.Queries[i].Query; break; } } } catch (ServiceException e) { Console.Out.WriteLine("GetSavedQueries service request failed."); Console.Out.WriteLine(e.Message); return; } if (query == null) { Console.WriteLine("There is not an 'Item Name' query."); return; } try { // Search for all Items, returning a maximum of 25 objects QueryInput[] savedQueryInput = new QueryInput[1]; savedQueryInput[0] = new QueryInput(); savedQueryInput[0].Query = query; savedQueryInput[0].MaxNumToReturn = 25; savedQueryInput[0].LimitList = new Teamcenter.Soa.Client.Model.ModelObject[0]; //savedQueryInput[0].Entries = new String[] { "Name", "ItemID" }; //savedQueryInput[0].Values = new String[2]; //savedQueryInput[0].Values[0] = "Maxtt-Test"; //savedQueryInput[0].Values[1] = "000090"; savedQueryInput[0].Entries = new String[] { "iid", "vid" }; savedQueryInput[0].Values = new String[] { "*90", "001" }; //***************************** //Execute the service operation //***************************** SavedQueriesResponse savedQueryResult = queryService.ExecuteSavedQueries(savedQueryInput); QueryResults found = savedQueryResult.ArrayOfResults[0]; System.Console.Out.WriteLine(""); System.Console.Out.WriteLine("Found Items:"); // Page through the results 10 at a time for (int i = 0; i < found.ObjectUIDS.Length; i += 10) { int pageSize = (i + 10 < found.ObjectUIDS.Length) ? 10 : found.ObjectUIDS.Length - i; String[] uids = new String[pageSize]; for (int j = 0; j < pageSize; j++) { uids[j] = found.ObjectUIDS[i + j]; } ServiceData sd = dmService.LoadObjects(uids); ModelObject[] foundObjs = new ModelObject[sd.sizeOfPlainObjects()]; for (int k = 0; k < sd.sizeOfPlainObjects(); k++) { foundObjs[k] = sd.GetPlainObject(k); } Session.printObjects(foundObjs); } } catch (ServiceException e) { Console.Out.WriteLine("ExecuteSavedQuery service request failed."); Console.Out.WriteLine(e.Message); return; } }
public static CreateObjectOutput CreateObjectinTCAndReturnTCItemIdAndRev(CreateObjectParameters[] createObjectParList, String ItemTypeName, String ItemRevisionName) { String item_id = ""; String revision_id = ""; InitializeProces(); // The create input for the ChangeNotice Item Teamcenter.Services.Strong.Core._2008_06.DataManagement.CreateInput itemCreateIn = new Teamcenter.Services.Strong.Core._2008_06.DataManagement.CreateInput(); itemCreateIn.BoName = ItemTypeName; //itemCreateIn.BoName = "A9_AutoCN"; // The create input for the ChangeNoticeRevision Teamcenter.Services.Strong.Core._2008_06.DataManagement.CreateInput revisionCreateIn = new Teamcenter.Services.Strong.Core._2008_06.DataManagement.CreateInput(); revisionCreateIn.BoName = ItemRevisionName; //revisionCreateIn.BoName = "A9_AutoCNRevision"; foreach (CreateObjectParameters createObjectPar in createObjectParList) { String propType = createObjectPar.propType; String propOn = createObjectPar.propOn; switch (propType.ToLower()) { case "string": if (propOn == "Item") { itemCreateIn.StringProps.Add(createObjectPar.propName, createObjectPar.propValue); } else { revisionCreateIn.StringProps.Add(createObjectPar.propName, createObjectPar.propValue); } break; case "date": DateTime dateValue = Teamcenter.Soa.Client.Model.Property.ParseDate(createObjectPar.propValue); if (propOn == "Item") { itemCreateIn.DateProps.Add(createObjectPar.propName, dateValue); } else { revisionCreateIn.DateProps.Add(createObjectPar.propName, dateValue); } break; } } // Tie the Revision CreateInput to the Item CreateInput itemCreateIn.CompoundCreateInput.Add("revision", new Teamcenter.Services.Strong.Core._2008_06.DataManagement.CreateInput[] { revisionCreateIn }); // The data for the createObjects call Teamcenter.Services.Strong.Core._2008_06.DataManagement.CreateIn cnCreateIn = new Teamcenter.Services.Strong.Core._2008_06.DataManagement.CreateIn(); cnCreateIn.ClientId = "One"; cnCreateIn.Data = itemCreateIn; CreateResponse createResponse = dmService.CreateObjects(new Teamcenter.Services.Strong.Core._2008_06.DataManagement.CreateIn[] { cnCreateIn }); if (createResponse.ServiceData.sizeOfPartialErrors() > 0) { //createResponse.ServiceData.; } else { //Teamcenter.Services.Strong.Core._2008_06.DataManagement.CreateOut[] createOut = createResponse.Output; foreach (Teamcenter.Services.Strong.Core._2008_06.DataManagement.CreateOut createOut in createResponse.Output) { //createOut.ClientId Console.WriteLine("Response for client ID " + createOut.ClientId); foreach (ModelObject modelObject in createOut.Objects) { //modelObject. //Console.WriteLine(); String[] uids = new String[1]; uids[0] = modelObject.Uid; ServiceData sd = dmService.LoadObjects(uids); ModelObject[] foundObjs = new ModelObject[sd.sizeOfPlainObjects()]; for (int k = 0; k < sd.sizeOfPlainObjects(); k++) { foundObjs[k] = sd.GetPlainObject(k); if (foundObjs[k].SoaType.ClassName == ItemRevisionName) { dmService.GetProperties(foundObjs, new String[] { "item_id" }); item_id = foundObjs[k].GetPropertyDisplayableValue("item_id"); dmService.GetProperties(foundObjs, new String[] { "item_revision_id" }); revision_id = foundObjs[k].GetPropertyDisplayableValue("item_revision_id"); } } } } } CreateObjectOutput createObjectOutput = new CreateObjectOutput(item_id, revision_id); return(createObjectOutput); }