//================================================== // // @@ // //================================================== using System; using Teamcenter.ClientX; using Teamcenter.Schemas.Soa._2006_03.Exceptions; //Include the Saved Query Service Interface using Teamcenter.Services.Strong.Query; // Input and output structures for the service operations // Note: the different namespace from the service interface using Teamcenter.Services.Strong.Query._2006_03.SavedQuery; using ImanQuery = Teamcenter.Soa.Client.Model.Strong.ImanQuery; namespace Teamcenter.Hello { public class Query { public static ZwSoft.ZwCAD.EditorInput.Editor ed1 = ZwSoft.ZwCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor; public static Soa.Client.Model.ModelObject queryItemRevByID(String itemId,String revId) { ImanQuery query = null; Soa.Client.Model.ModelObject obj = null; Soa.Client.Model.ModelObject[] objs = null; // Get the service stub SavedQueryService queryService = SavedQueryService.getService(Session.getConnection()); try { // ***************************** // Execute the service operation // ***************************** GetSavedQueriesResponse savedQueries = queryService.GetSavedQueries(); if (savedQueries.Queries.Length == 0) { ed1.WriteMessage("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("ConnorItemRevQuery")) { query = savedQueries.Queries[i].Query; break; } } } catch (ServiceException e) { ed1.WriteMessage("GetSavedQueries service request failed."); ed1.WriteMessage(e.Message); return null; } if (query == null) { ed1.WriteMessage("There is not an 'ConnorItemRevQuery' query."); return null; try { // Search for all Items, returning a maximum of 25 objects Teamcenter.Services.Strong.Query._2007_06.SavedQuery.SavedQueryInput[] savedQueryInput = new Teamcenter.Services.Strong.Query._2007_06.SavedQuery.SavedQueryInput[1]; savedQueryInput[0] = new Teamcenter.Services.Strong.Query._2007_06.SavedQuery.SavedQueryInput(); savedQueryInput[0].Query = query; savedQueryInput[0].MaxNumToReturn = 25; savedQueryInput[0].LimitListCount = 0; savedQueryInput[0].LimitList = new Teamcenter.Soa.Client.Model.ModelObject[0]; savedQueryInput[0].Entries = new String[] { "ConnorItemID", "ConnorItemRevID" }; savedQueryInput[0].Values = new String[2]; savedQueryInput[0].Values[0] = itemId; savedQueryInput[0].Values[1] = revId; savedQueryInput[0].MaxNumToInflate = 25; //***************************** //Execute the service operation //***************************** Teamcenter.Services.Strong.Query._2007_06.SavedQuery.ExecuteSavedQueriesResponse savedQueryResult = queryService.ExecuteSavedQueries(savedQueryInput); Teamcenter.Services.Strong.Query._2007_06.SavedQuery.SavedQueryResults found = savedQueryResult.ArrayOfResults[0]; objs = found.Objects; if (found.NumOfObjects > 0) obj = found.Objects[0]; ed1.WriteMessage("Found count "+found.NumOfObjects); ed1.WriteMessage("Found Items:"); // Teamcenter.ClientX.Session.printObjects(found.Objects); } catch (ServiceException e) { ed1.WriteMessage("ExecuteSavedQuery service request failed."); ed1.WriteMessage(e.Message); return null; } } return obj; } /// /// query Item by id /// /// /// public static Soa.Client.Model.ModelObject queryItemByID(String itemId) { ImanQuery query = null; Soa.Client.Model.ModelObject obj = null; Soa.Client.Model.ModelObject[] objs = null; // Get the service stub SavedQueryService queryService = SavedQueryService.getService(Session.getConnection()); try { // ***************************** // Execute the service operation // ***************************** GetSavedQueriesResponse savedQueries = queryService.GetSavedQueries(); if (savedQueries.Queries.Length == 0) { ed1.WriteMessage("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("ConnorItemQuery")) { query = savedQueries.Queries[i].Query; break; } } } catch (ServiceException e) { ed1.WriteMessage("GetSavedQueries service request failed."); ed1.WriteMessage(e.Message); return null; } if (query == null) { ed1.WriteMessage("There is not an 'ConnorItemQuery' query."); return null; try { // Search for all Items, returning a maximum of 25 objects Teamcenter.Services.Strong.Query._2007_06.SavedQuery.SavedQueryInput[] savedQueryInput = new Teamcenter.Services.Strong.Query._2007_06.SavedQuery.SavedQueryInput[1]; savedQueryInput[0] = new Teamcenter.Services.Strong.Query._2007_06.SavedQuery.SavedQueryInput(); savedQueryInput[0].Query = query; savedQueryInput[0].MaxNumToReturn = 25; savedQueryInput[0].LimitListCount = 0; savedQueryInput[0].LimitList = new Teamcenter.Soa.Client.Model.ModelObject[0]; savedQueryInput[0].Entries = new String[] { "ConnorItemID" }; savedQueryInput[0].Values = new String[1]; savedQueryInput[0].Values[0] = itemId; savedQueryInput[0].MaxNumToInflate = 25; //***************************** //Execute the service operation //***************************** Teamcenter.Services.Strong.Query._2007_06.SavedQuery.ExecuteSavedQueriesResponse savedQueryResult = queryService.ExecuteSavedQueries(savedQueryInput); Teamcenter.Services.Strong.Query._2007_06.SavedQuery.SavedQueryResults found = savedQueryResult.ArrayOfResults[0]; objs = found.Objects; if (found.NumOfObjects > 0) obj = found.Objects[0]; ed1.WriteMessage("Found count ="+found.NumOfObjects); ed1.WriteMessage("Found Items:"); // Teamcenter.ClientX.Session.printObjects(found.Objects); } catch (ServiceException e) { ed1.WriteMessage("ExecuteSavedQuery service request failed."); ed1.WriteMessage(e.Message); return null; } } return obj; } /** * Perform a simple query of the database * */ public void queryItems() { ImanQuery query = null; // Get the service stub SavedQueryService queryService = SavedQueryService.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("Item Name")) { 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) { ed1.WriteMessage("There is not an 'Item Name' query."); return; } try { // Search for all Items, returning a maximum of 25 objects Teamcenter.Services.Strong.Query._2007_06.SavedQuery.SavedQueryInput[] savedQueryInput = new Teamcenter.Services.Strong.Query._2007_06.SavedQuery.SavedQueryInput[1]; savedQueryInput[0] = new Teamcenter.Services.Strong.Query._2007_06.SavedQuery.SavedQueryInput(); savedQueryInput[0].Query = query; savedQueryInput[0].MaxNumToReturn = 25; savedQueryInput[0].LimitListCount = 0; savedQueryInput[0].LimitList = new Teamcenter.Soa.Client.Model.ModelObject[0]; savedQueryInput[0].Entries = new String[] { "Item Name" }; savedQueryInput[0].Values = new String[1]; savedQueryInput[0].Values[0] = "*"; savedQueryInput[0].MaxNumToInflate = 25; //***************************** //Execute the service operation //***************************** Teamcenter.Services.Strong.Query._2007_06.SavedQuery.ExecuteSavedQueriesResponse savedQueryResult = queryService.ExecuteSavedQueries(savedQueryInput); Teamcenter.Services.Strong.Query._2007_06.SavedQuery.SavedQueryResults found = savedQueryResult.ArrayOfResults[0]; System.Console.Out.WriteLine(""); System.Console.Out.WriteLine("Found Items:"); Teamcenter.ClientX.Session.printObjects( found.Objects ); } catch (ServiceException e) { Console.Out.WriteLine("ExecuteSavedQuery service request failed."); Console.Out.WriteLine(e.Message); return; } } } }