You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
289 lines
11 KiB
289 lines
11 KiB
//==================================================
|
|
//
|
|
// @<COPYRIGHT>@
|
|
//
|
|
//==================================================
|
|
|
|
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;
|
|
}
|
|
/// <summary>
|
|
/// query Item by id
|
|
/// </summary>
|
|
/// <param name="itemId"></param>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|