ppmexport.cs

来自「工作流的基本资料(文档资料」· CS 代码 · 共 63 行

CS
63
字号
using System.Threading;
using Castle.Windsor.Configuration.Interpreters;
using NAnt.Core;
using NAnt.Core.Attributes;
using NetBpm.Ext.NAnt.EComp;
using NetBpm.Workflow.Organisation;

namespace NetBpm.Ext.NAnt
{
	/// <summary>
	/// This task export all processdata for PPM.
	/// </summary>
	[TaskName("ppmexport")]
	public class PPMExport : Task
	{
		private string configfile;
		private string user;
		private string exportPath;

		[TaskAttribute("configfile", Required=true)]
		public string ConfigFile
		{
			get { return configfile; }
			set { configfile = value; }
		}

		[TaskAttribute("user", Required=true)]
		public string User
		{
			get { return user; }
			set { user = value; }
		}

		[TaskAttribute("exportpath", Required=true)]
		public string ExportPath
		{
			get { return exportPath; }
			set { exportPath = value; }
		}

		protected override void ExecuteTask()
		{
			NetBpmContainer container=null;
			try
			{
				//configure the container
				container = new NetBpmContainer(new XmlInterpreter(ConfigFile));
				Thread.CurrentPrincipal = new PrincipalUserAdapter(user);
				IPPMSessionLocal ppmComponent=(IPPMSessionLocal)container["PPMSession"];
				ppmComponent.ExportPPMFile(ExportPath);
			} 
			finally
			{
				if (container!=null)
				{
					container.Dispose();
				}
			}
		}

	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?