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;
}