Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }