-사용자 지정 워크플로 만들기 예제Create a Custom Workflow - Example

Master Data ServicesMaster Data Services사용자 지정 워크플로 클래스 라이브러리를 만들 때, Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender 인터페이스를 구현 하는 클래스를 만듭니다.In Master Data ServicesMaster Data Services, when you create a custom workflow class library, you create a class that implements the Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender interface. 이 인터페이스에는 워크플로 시작 시 SQL Server MDS Workflow Integration Service가 호출하는 StartWorkflow라는 메서드가 하나 포함됩니다.This interface includes one method, StartWorkflow, that is called by SQL Server MDS Workflow Integration Service when a workflow starts. StartWorkflow 메서드에 두 개의 매개 변수가 포함 되어: workflowType 에 입력 한 텍스트가 포함 되어는 워크플로 유형 텍스트 상자에 마스터 데이터 관리자Master Data Manager, 및 dataElement 워크플로 비즈니스 규칙을 트리거한 항목에 대 한 메타 데이터 및 항목 데이터를 포함 합니다.The StartWorkflow method contains two parameters: workflowType contains the text you entered in the Workflow type text box in 마스터 데이터 관리자Master Data Manager, and dataElement contains metadata and item data for the item that triggered the workflow business rule.

사용자 지정 워크플로 예제Custom Workflow Example

다음 코드 예제에서는 워크플로 비즈니스 규칙을 트리거한 요소에 대한 XML 데이터에서 Name, Code 및 LastChgUserName 특성을 추출하기 위해 StartWorkflow 메서드를 구현하는 방법과 추출한 특성을 다른 데이터베이스에 삽입하기 위한 저장 프로시저를 호출하는 방법을 보여 줍니다.The following code example shows how you how to implement the StartWorkflow method to extract the Name, Code, and LastChgUserName attributes from the XML data for the element that triggered the workflow business rule, and how to call a stored procedure to insert them into another database. 항목 데이터 XML의 예 및 포함 되는 태그에 대 한 설명을 참조 사용자 지정 워크플로 XML 설명 ( Master Data services) .For an example of the item data XML and an explanation of the tags it contains, see Custom Workflow XML Description (Master Data Services).

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
using System.IO;  
using System.Data.SqlClient;  
using System.Xml;  

using Microsoft.MasterDataServices.Core.Workflow;  

namespace MDSWorkflowTestLib  
{  
    public class WorkflowTester : IWorkflowTypeExtender  
    {  
        #region IWorkflowTypeExtender Members  

        public void StartWorkflow(string workflowType, System.Xml.XmlElement dataElement)  
        {  
            // Extract the attributes we want out of the element data.  
            XmlNode NameNode = dataElement.SelectSingleNode("//ExternalAction/MemberData/Name");  
            XmlNode CodeNode = dataElement.SelectSingleNode("//ExternalAction/MemberData/Code");  
            XmlNode EnteringUserNode = dataElement.SelectSingleNode("//ExternalAction/MemberData/LastChgUserName");  

            // Open a connection on the workflow database.  
            SqlConnection workflowConn = new SqlConnection(@"Data Source=<Server instance>; Initial Catalog=WorkflowTest; Integrated Security=True");  

            // Create a command to call the stored procedure that adds a new user to the workflow database.  
            SqlCommand addCustomerCommand = new SqlCommand("AddNewCustomer", workflowConn);  
            addCustomerCommand.CommandType = System.Data.CommandType.StoredProcedure;  
            addCustomerCommand.Parameters.Add(new SqlParameter("@Name", NameNode.InnerText));  
            addCustomerCommand.Parameters.Add(new SqlParameter("@Code", CodeNode.InnerText));  
            addCustomerCommand.Parameters.Add(new SqlParameter("@EnteringUser", EnteringUserNode.InnerText));  

            // Execute the command.  
            workflowConn.Open();  
            addCustomerCommand.ExecuteNonQuery();  
            workflowConn.Close();  
        }  

        #endregion  
    }  
}  

관련 항목:See Also

사용자 지정 워크플로 ( 만들기 Master Data services)Create a Custom Workflow (Master Data Services)