Пример #1
0
        public void workflow_publish(String wfTemplate, ModelObject obj)
        {
            WorkflowService wfService = WorkflowService.getService(Session2.getConnection());



            if (wfService == null)
            {
                throw new Exception("The workflow service not found in Teamcenter.");
            }

            String[] arrObjectUID = new String[] { obj.Uid };
            int[]    arrTypes     = new int[arrObjectUID.Length];
            arrTypes[0] = 1;

            ContextData contextData = new ContextData();

            contextData.AttachmentCount = arrObjectUID.Length; //
            contextData.Attachments     = arrObjectUID;        //List of UID of objects to submit to workflow
            contextData.AttachmentTypes = arrTypes;            //Types of attachment  EPM_target_attachment (target attachment) and EPM_reference_attachment (reference attachment).
            contextData.ProcessTemplate = wfTemplate;          //"ReleaseObjectsWorkflow";

            InstanceInfo instanceResponse = wfService.CreateInstance(true, null, "maxtt-syn-process", null, "", contextData);

            if (instanceResponse.ServiceData.sizeOfPartialErrors() == 0)
            {
                //System.out.println("Process created Successfully");
            }
            else
            {
                throw new Exception("Submit To Workflow: 001" + "Submit To Workflow - " + instanceResponse.ServiceData.GetPartialError(0).Messages[0]);
            }
        }
Пример #2
0
        public void UpdateFavorite(Session2 session, bool isFavorite)
        {
            var fs = (from s in this.FavoriteSessions
                      where s.Code == session.Code
                      select s).ToList();

            if (fs.Count > 0)
            {
                // remove, as it might be old data persisted anyway (from previous conf.xml file)
                this.FavoriteSessions.Remove(fs[0]);
            }
            if (isFavorite)
            {   // add it again
                this.FavoriteSessions.Add(new Session2(session.Clone()));
            }

            var temp = _FavoriteSessions.OrderBy(s => s.Start.Ticks);

            _FavoriteSessions = new List <Session2>();
            foreach (var t in temp)
            {
                _FavoriteSessions.Add(t);
            }

            SaveFavouritesFile();

            // This updates the 'whats on next' with favourites (if required)
            this.LoadWhatsOn(this.CurrentConferenceCode);
        }
Пример #3
0
    private static void OnNewConnection(Socket listeningSocket, Task <Socket> f)
    {
        Socket conn = f.Result;

        Console.WriteLine("Connection opened");
        Session2 newSession = new Session2(conn);

        newSession.Start();
        Task <Socket> future = Accept(listeningSocket);

        future.ContinueWith((Task <Socket> f2) => OnNewConnection(listeningSocket, f2));
    }
Пример #4
0
        public string demo()
        {
            string res = string.Empty;
            DataManagementService dmService = DataManagementService.getService(Session2.getConnection());

            try
            {
                ModelObject itemReversion = findModel(cfg.get("query_builder_lastestRevisionById_name")
                                                      , new string[] { cfg.get("query_builder_lastestRevisionById_queryKey") }, new string[] { "JLD100158" });
                var data = dmService.GetProperties(new ModelObject[] { itemReversion }, new string[] { "WL_REV_013" });
                res = itemReversion.GetProperty("").ModelObjectValue.Uid;
            }
            catch (Exception e)
            {
                res = "";
            }
            return(res);
        }
Пример #5
0
 public void updateItem(String codeNumber, String name, String longDetail)
 {
     try
     {
         DataManagementService dmService = DataManagementService.getService(Session2.getConnection());
         ModelObject           itemObj   = findModel(cfg.get("query_builder_ItemById_name")
                                                     , new string[] { cfg.get("query_builder_ItemById_queryKey") }, new string[] { codeNumber });
         var item = new ItemElementProperties();
         item.ItemElement = itemObj;
         item.Name        = name;
         //Hashtable kv = new Hashtable();
         //kv.Add("object_desc", longDetail);
         //item.ItemElemAttributes = kv;
         CreateOrUpdateItemElementsResponse rsp = dmService.CreateOrUpdateItemElements(new ItemElementProperties[] { item });
     }
     catch (Exception)
     {
     }
 }
Пример #6
0
        public void wf(String wfTemplate, ModelObject obj)
        {
            //connection -> TC connection objects
            //WorkflowService is from package com.teamcenter.services.strong.workflow
            WorkflowService wfService = WorkflowService.getService(Session2.getConnection());

            if (wfService == null)
            {
                throw new Exception("The workflow service not found in Teamcenter.");
            }

            String[] arrObjectUID = new String[] { obj.Uid };
            int[]    arrTypes     = new int[arrObjectUID.Length];
            arrTypes[0] = 1;
            //Arrays.fill(arrTypes, 1);//Target attachment type to be initialized for all UIDs


            ContextData contextData = new ContextData();

            contextData.AttachmentCount = arrObjectUID.Length; //
            contextData.Attachments     = arrObjectUID;        //List of UID of objects to submit to workflow
            contextData.AttachmentTypes = arrTypes;            //Types of attachment  EPM_target_attachment (target attachment) and EPM_reference_attachment (reference attachment).
            contextData.ProcessTemplate = wfTemplate;          //"ReleaseObjectsWorkflow";

            //processname -> Name by which initiated workflow appear in the user mail box .
            //processDescription -> Description for the initiated workflow
            InstanceInfo instanceResponse = wfService.CreateInstance(true, null, "processName-maxtt-demo", null, "processDescription-maxtt-demo", contextData);

            if (instanceResponse.ServiceData.sizeOfPartialErrors() == 0)
            {
                //System.out.println("Process created Successfully");
            }
            else
            {
                //System.out.println("Error :" + instanceResponse.serviceData.getPartialError(0).getMessages());
                //System.out.println("Error :" + instanceResponse.serviceData.getPartialError(0).getErrorValues());
                //throw new Exception("Submit To Workflow: 001", "Submit To Workflow - " + instanceResponse.ServiceData.GetPartialError(0).GetMessages()[0]);
                throw new Exception("Submit To Workflow: 001" + "Submit To Workflow - ");
            }
        }
Пример #7
0
        public static void Main(string[] arg)
        {
            String serverHost = "http://192.168.110.128:7001/tc";


            try
            {
                Session session = new Session(serverHost);
                //HomeFolder home = new HomeFolder();
                //Query query = new Query();
                DataManagement dm = new DataManagement();

                // Establish a session with the Teamcenter Server
                User user = session.login();

                Session2 session2 = new Session2(serverHost);
                User     user2    = session2.login();
                //// Using the User object returned from the login service request
                //// display the contents of the Home Folder
                //home.listHomeFolder(user);

                //// Perform a simple query of the database
                //query.queryItems();

                // Perform some basic data management functions
                //dm.createReviseAndDelete();
                dm.createMyItem("Item");


                //dm.queryItems();
                // Terminate the session with the Teamcenter server
                session.logout();
            }
            catch (SystemException e)
            {
                Console.WriteLine(e.Message);
            }
        }
Пример #8
0
        public void reviseItem(ModelObject obj, String Name, String longDetail, String productionType, String item_revision_id) //throws ServiceException
        {
            String newVersionNumber = (int.Parse(item_revision_id) + 1).ToString().PadLeft(2, '0');

            DataManagementService dmService = DataManagementService.getService(Session2.getConnection());



            ReviseInfo rev = new ReviseInfo();

            rev.BaseItemRevision = new ItemRevision(null, obj.Uid);
            rev.ClientId         = Name + "/" + newVersionNumber;
            rev.Description      = "";
            rev.Name             = Name;
            rev.NewRevId         = newVersionNumber;

            //额外的表单属性
            PropertyNameValueInfo info = new PropertyNameValueInfo();

            info.PropertyName   = cfg.get("exAttr_productionType");
            info.PropertyValues = new string[] { productionType };

            PropertyNameValueInfo info2 = new PropertyNameValueInfo();

            info2.PropertyName   = cfg.get("exAttr_detail");
            info2.PropertyValues = new string[] { longDetail };


            rev.NewItemRevisionMasterProperties.PropertyValueInfo = new PropertyNameValueInfo[] { info, info2 };

            // *****************************
            ReviseResponse2 revised = dmService.Revise2(new ReviseInfo[] { rev });

            if (revised.ServiceData.sizeOfPartialErrors() > 0)
            {
                throw new ServiceException("DataManagementService.revise returned a partial error." + revised.ServiceData.GetPartialError(0).Messages[0]);
            }
        }
Пример #9
0
        public String deleteItem(String codeNumber)
        {
            String Msg = "执行成功";
            DataManagementService dmService = DataManagementService.getService(Session2.getConnection());

            ////删除前,取消发布
            //ModelObject itemReversion = findModel("", new string[] { "iid" }, new string[] { codeNumber });
            ////取消发布流程
            //workflow_publish("", itemReversion);

            //调用查询构建器,查询ITEM
            ModelObject itemObj = findModel(cfg.get("query_builder_ItemById_name")
                                            , new string[] { cfg.get("query_builder_ItemById_queryKey") }, new string[] { codeNumber });
            ServiceData serviceData = dmService.DeleteObjects(new ModelObject[] { itemObj });

            //if (serviceData.sizeOfPartialErrors() > 0)
            //{
            //    Msg = "删除ITEM失败,已发布的ITEM不能删除或无权限删除:" + serviceData.GetPartialError(0).Messages[0];
            //    throw new Exception("删除ITEM失败,已发布的ITEM不能删除或无权限删除:" + serviceData.GetPartialError(0).Messages[0]);
            //}


            return(Msg);
        }
Пример #10
0
 protected O2(Session2 t) : base(t)
 {
     this.t = t;
 }