![]() | RemWorkflowCreateWorkflow Method (a_Workflow, String) |
Namespace: Paperwork.Connect
public a_GenericResult CreateWorkflow( a_Workflow wi, string cSource )
public void CreateWorkflow() { //İlk olarak akışı başlatacağımız taslağın bilgisine erişiyoruz. rProcessInfo[] processes = p.rWorkflow.GetProcesses(2).Items; rProcessInfo prc = processes.FirstOrDefault(p => p.ProcessName == "TEST_1"); if (prc == null) throw new Exception("Akış bulunamadı"); //Taslağın bilgileri ile yeni bir iş akışı tanımlıyoruz. a_Workflow flwData = new a_Workflow(); flwData.WorkflowName = "Workflow_Emre"; flwData.WorkflowDesc = "Workflow_Emre_Desc"; flwData.ProcessId = new ObjectID(prc.ProcessId); flwData.AclId = new ObjectID(prc.AclId); flwData.WorkflowId = new ObjectID(string.Empty); flwData.FormName = new ObjectName(prc.FormName); //SELECT * FROM PW_FORMS(NOLOCK) WHERE FORM_NAME = 'FINANS_MD' FormName'inin FormVersion bilgisini bulabiliriz. ! Version = 1 ! flwData.FormVersion = "1"; flwData.TypeName = new ObjectName(prc.ObjectType); flwData.Version = string.Empty; flwData.Owner = Definitions.SUPERUSER; flwData.State = WORKFLOWState.Init; flwData.CreateDate = DateTime.Now; flwData.AttachmentId = new ObjectID(string.Empty); ITypes fObject = p.rDocument.getDocument(new ObjectID(string.Empty), prc.ObjectType); PW_SYSOBJECT sObject = fObject as PW_SYSOBJECT; sObject.FORM_NAME = flwData.FormName.Value; sObject.FORM_VERSION = flwData.FormVersion; sObject.OBJECT_NAME = flwData.WorkflowName; sObject.ACL_ID = flwData.AclId.Value; sObject.OWNER = Definitions.SUPERUSER; sObject.FOLDER_ID = DefaultObjects.WorkflowDir; sObject.OBJECT_TYPE = flwData.TypeName.Value; sObject.CONTENT_TYPE = Definitions.CONTENT_TYPE_FLOW; sObject.VIRTUAL_DOC_ID = string.Empty; sObject.IS_FTS = true; sObject.IS_VIRTUAL_DOC = false; sObject.IS_LAST_VERSION = true; //Akış başlarken custom değerler vermek istersek sObject diyerek değer verebiliriz. //Tanımladığımız akışı başlatıyoruz. flwData.FormData = fObject; flwData.ContentType = WorkItemContentTYPE.NoContent; a_GenericResult gr = p.rWorkflow.CreateWorkflow(flwData, "F"); if (gr.ErrorCode != 0) Console.WriteLine("hata : " + gr.Message); //Akış başlatıldı var newWfId = gr.Result; }