public void SaveAndLoadTenantProcessTest() { IWfProcessDescriptor processDesp = CreateTestProcessDescriptor(); string tenantCode = UuidHelper.NewUuidString(); PrepareTenantContext(tenantCode); WfProcessDescriptorManager.SaveDescriptor(processDesp); //加载同一个租户的流程定义,如果不存在,会抛出异常 IWfProcessDescriptor loadedSameTenant = WfProcessDescriptorManager.LoadDescriptor(processDesp.Key); Assert.AreEqual(processDesp.Key, loadedSameTenant.Key); PrepareTenantContext(UuidHelper.NewUuidString()); try { loadedSameTenant = WfProcessDescriptorManager.LoadDescriptor(processDesp.Key); throw new ApplicationException("不应该加载到别的租户的流程"); } catch (SystemSupportException) { } }
private static WfProcessStartupParams PrepareStartWorkflowParams(IWfProcessDescriptor processDesp, WfSimulationContext simulationContext) { WfProcessStartupParams startupParams = new WfProcessStartupParams(); startupParams.ProcessDescriptor = processDesp; startupParams.DefaultTaskTitle = startupParams.ProcessDescriptor.DefaultTaskTitle; if (OguUser.IsNotNullOrEmpty(simulationContext.SimulationParameters.Creator)) { startupParams.Creator = simulationContext.SimulationParameters.Creator; } else { if (DeluxePrincipal.IsAuthenticated) { startupParams.Creator = DeluxeIdentity.CurrentUser; } } startupParams.Assignees.Add(startupParams.Creator); startupParams.ResourceID = UuidHelper.NewUuidString(); MergeVariablesToApplicationRuntimeParameters(startupParams.ApplicationRuntimeParameters, simulationContext.SimulationParameters.Variables); return(startupParams); }
private SysTaskProcess PrepareSysTaskProcessData(Func <DO.SysTask> getTask, string name = "测试任务流程名称") { SysTaskProcess process = new SysTaskProcess(); process.ID = UuidHelper.NewUuidString(); process.Name = name; process.Status = SysTaskProcessStatus.Running; process.StartTime = DateTime.Now; SysTaskActivity activity1 = new SysTaskActivity(getTask()); activity1.ID = UuidHelper.NewUuidString(); activity1.Name = "活动1"; process.Activities.Add(activity1); SysTaskActivity activity2 = new SysTaskActivity(getTask()); activity2.ID = UuidHelper.NewUuidString(); activity2.Name = "活动2"; process.Activities.Add(activity2); return(process); }
/// <summary> /// 根据已经完成系统任务创建新任务 /// </summary> /// <param name="taskID">被移动的任务的ID</param> /// <param name="status">重置任务的状态</param> public void MoveToNoRunningTask(string taskID) { var completedTask = this.Load(taskID); (completedTask != null).FalseThrow <ArgumentException>("ID为 {0} 的任务不存在", taskID); PerformanceMonitorHelper.GetDefaultMonitor().WriteExecutionDuration(string.Format("MoveNoRunning({0})", this.GetType().FullName), () => { Dictionary <string, object> context = new Dictionary <string, object>(); ORMappingItemCollection mappingsTask = ORMapping.GetMappingInfo <SysTask>(); var task = completedTask.CreateNewSystask(UuidHelper.NewUuidString());; StringBuilder sql = new StringBuilder(); sql.Append(ORMapping.GetInsertSql(task, mappingsTask, TSqlBuilder.Instance)); sql.Append(TSqlBuilder.Instance.DBStatementSeperator); using (TransactionScope scope = TransactionScopeFactory.Create()) { DbHelper.RunSql(sql.ToString(), this.GetConnectionName()); scope.Complete(); } }); }
private void PrepareToBeAddedScopes(string[] items, PendingActionCollection pendingActions) { foreach (string scope in items) { foreach (AdminUnit au in allCurrentAUs) { var existed = Adapters.AUSnapshotAdapter.Instance.LoadAUScope(au.ID, scope, false, false, DateTime.MinValue); if (existed.Count == 0) { pendingActions.Add(new AddMemberAction(au, new AUAdminScope() { ID = UuidHelper.NewUuidString(), ScopeSchemaType = scope })); } else { // 尽量恢复已经删除的Scope,而不是重新创建一个 if (existed.GetUniqueNormalObject <AUAdminScope>() == null) { AUAdminScope onlyScope = (AUAdminScope)existed.First(); onlyScope.Status = SchemaObjectStatus.Normal; pendingActions.Add(new EnableMemberAction(au, onlyScope)); } // 否则,这个Scope已经是正常状态了? } } } }
public MaterialModel FillMaterial(MaterialModel material) { material.NullCheck("material"); material.ResourceID = this.ResourceID; material.MaterialClass = this.MaterialClass; material.RelativeFilePath = GetRelativeFilePath(material.ID, this.OriginalName); material.SortID = this.SortID; if (this.Title.IsNullOrEmpty()) { material.Title = this.OriginalName; } else { material.Title = this.Title; } material.OriginalName = this.OriginalName; material.LastUploadTag = UuidHelper.NewUuidString(); material.Status = MaterualModelStatus.Inserted; if (DeluxePrincipal.IsAuthenticated) { material.Creator = DeluxeIdentity.CurrentUser; if (DeluxeIdentity.CurrentUser.Parent != null) { material.Department = DeluxeIdentity.CurrentUser.Parent; } } return(material); }
private void PrepareScopesForAdd() { var scopeNames = this.schema.Scopes.Split(AUCommon.Spliter, StringSplitOptions.RemoveEmptyEntries); foreach (string name in scopeNames) { AUAdminScope existingScope = AUCommon.FindMatchScope(this.existingUnitScopes, name); AUAdminScope inputScope = this.InputAdminScopes != null?AUCommon.FindMatchScope(this.InputAdminScopes, name) : null; if (inputScope != null && existingScope != null && inputScope.ID != existingScope.ID) { throw new AUObjectException(string.Format("导入的管理范围{0}与现有管理范围{1}的ID不一致,导致无法继续执行导入。", inputScope.ID, existingScope.ID)); } if (existingScope == null) { if (inputScope == null) { inputScope = new AUAdminScope() { ID = UuidHelper.NewUuidString(), ScopeSchemaType = name } } ; pendingActions.Add(new AddMemberAction((AdminUnit)this.Data, inputScope)); } else if (existingScope.Status != SchemaObjectStatus.Normal) { pendingActions.Add(new EnableMemberAction((AdminUnit)this.Data, existingScope)); } } }
private static void EnsureID(ClientSchemaObjectBase clientObject) { if (clientObject.ID.IsNullOrEmpty()) { clientObject.ID = UuidHelper.NewUuidString(); } }
private static void ProcessLoginCookie() { string userName = string.Empty; HttpCookie lepusCookie = HttpContext.Current.Request.Cookies.Get("login_uid"); if (lepusCookie != null) { userName = lepusCookie.Value; } if (HttpContext.Current.User == null || HttpContext.Current.User.Identity.Name.IsNullOrEmpty()) { HttpCookie amsCookie = HttpContext.Current.Request.Cookies.Get("ams_login_uid"); if (amsCookie != null) { userName = amsCookie.Value; } } if (userName.IsNullOrEmpty()) { userName = UuidHelper.NewUuidString(); } CreatePrincipal(userName); HttpCookie amsResCookie = new HttpCookie("ams_login_uid", userName); amsResCookie.Expires = DateTime.MinValue; HttpContext.Current.Response.Cookies.Add(amsResCookie); }
public void ProcessSerializeTest() { IWfProcessDescriptor processDesc = WfProcessTestCommon.CreateSimpleProcessDescriptor(); WfProcessStartupParams startupParams = new WfProcessStartupParams(); startupParams.ProcessDescriptor = processDesc; IWfProcess process = WfRuntime.StartWorkflow(startupParams); ((WfProcess)process).ResourceID = UuidHelper.NewUuidString(); WfProcessContext context = process.Context; context.Add("UCC", "the same"); XElementFormatter formatter = new XElementFormatter(); //formatter.OutputShortType = false; XElement root = formatter.Serialize(process); Console.WriteLine(root.ToString()); IWfProcess clonedProcess = (IWfProcess)formatter.Deserialize(root); Assert.IsNotNull(clonedProcess.Context["UCC"]); Assert.AreEqual(process.Context.Count, clonedProcess.Context.Count); Assert.AreEqual(process.Context["UCC"], clonedProcess.Context["UCC"]); }
private static GenericOpinion PrepareOpinion(IWfActivity activity, WfClientOpinion opinion, IUser user) { GenericOpinion serverOpinion = null; if (opinion != null) { serverOpinion = opinion.ToGenericOpinion(); } else { serverOpinion = new GenericOpinion() { ID = UuidHelper.NewUuidString() } }; serverOpinion.ProcessID = activity.Process.ID; serverOpinion.ActivityID = activity.ID; serverOpinion.ResourceID = activity.Process.ResourceID; serverOpinion.IssuePerson = user; serverOpinion.AppendPerson = user; return(serverOpinion); }
public void AddSecretaryToUserExecutorTest() { SCUser secretary = SCObjectGenerator.PrepareUserObject("罗", "剑", "罗剑" + UuidHelper.NewUuidString()); SCObjectOperations.Instance.AddUser(secretary, SCOrganization.GetRoot()); SCUser user1 = SCObjectGenerator.PrepareUserObject(); SCObjectOperations.Instance.AddUser(user1, SCOrganization.GetRoot()); SCSecretaryRelation sr = SCObjectOperations.Instance.AddSecretaryToUser(secretary, user1); Assert.AreEqual(secretary.SchemaType, sr.ContainerSchemaType); Assert.AreEqual(user1.SchemaType, sr.MemberSchemaType); SCUser user2 = SCObjectGenerator.PrepareUserObject(); SCObjectOperations.Instance.AddUser(user2, SCOrganization.GetRoot()); SCObjectOperations.Instance.AddSecretaryToUser(secretary, user2); Assert.IsTrue(user1.CurrentSecretaries.ContainsKey(secretary.ID)); Assert.IsTrue(user2.CurrentSecretaries.ContainsKey(secretary.ID)); Assert.IsTrue(secretary.CurrentSecretariesOf.ContainsKey(user1.ID)); Assert.IsTrue(secretary.CurrentSecretariesOf.ContainsKey(user2.ID)); }
private void CreateNewObjectBySchemaType(string schemaType) { this.Data = SchemaExtensions.CreateObject(schemaType); this.currentSchemaType.Value = schemaType; this.Data.ID = UuidHelper.NewUuidString(); }
private void Upload(MaterialContent data) { data.ContentID = UuidHelper.NewUuidString(); string sql = ORMapping.GetInsertSql(data, TSqlBuilder.Instance); DbHelper.RunSql(db => db.ExecuteNonQuery(CommandType.Text, sql), "UAT"); }
protected void bindMatrixBtn_Click(object sender, EventArgs e) { try { string mdKey = selectedMatrix.Value; WfMatrixDefinition md = WfMatrixDefinitionAdapter.Instance.Load(mdKey); WfMatrix matrix = new WfMatrix(md); matrix.MatrixID = UuidHelper.NewUuidString(); matrix.ProcessKey = ProcessKey; if (DeluxePrincipal.IsAuthenticated) { matrix.CreatorID = DeluxeIdentity.CurrentUser.ID; matrix.CreatorName = DeluxeIdentity.CurrentUser.DisplayName; } WfMatrixAdapter.Instance.Update(matrix); } catch (System.Exception ex) { WebUtility.ShowClientError(ex.Message, ex.StackTrace, "错误"); } }
/// <summary> /// 计算缓存Principal所使用的Session Key /// </summary> /// <returns>Session Key值</returns> public static string GetPrincipalSessionKey() { HttpRequest request = HttpContext.Current.Request; HttpCookie cookie = request.Cookies[C_SESSION_KEY_NAME]; string result; if (cookie != null) { result = cookie.Value; } else { result = UuidHelper.NewUuidString() + "-UserPrincipal"; cookie = new HttpCookie(C_SESSION_KEY_NAME); cookie.Value = result; cookie.Expires = DateTime.MinValue; HttpContext.Current.Response.Cookies.Add(cookie); } return(result); }
protected WfRunningObjectBase(T descriptor) { ExceptionHelper.FalseThrow <ArgumentNullException>(descriptor != null, "descriptor"); _Descriptor = descriptor; _ID = UuidHelper.NewUuidString(); }
public virtual void DoModifyFileOperations(string rootPath, MaterialFileOeprationInfo fileOperation, MaterialContent content) { var task = new InvokeServiceTask() { TaskID = UuidHelper.NewUuidString(), TaskTitle = string.Format(this.taskTitleTemplate, fileOperation.Material.OriginalName, fileOperation.Material.ID), }; var parameters = new WfServiceOperationParameterCollection { new WfServiceOperationParameter("rootPath", rootPath), new WfServiceOperationParameter("fileOperation", fileOperation.Operation.ToString()), new WfServiceOperationParameter("materialConnectionName", DbConnectionMappingContext.GetMappedConnectionName(MaterialAdapter.Instance.GetConnectionName())), new WfServiceOperationParameter("contentConnectionName", DbConnectionMappingContext.GetMappedConnectionName(MaterialContentAdapter.Instance.ConnectionName)), new WfServiceOperationParameter("materialId", fileOperation.Material.ID), new WfServiceOperationParameter("url", fileOperation.Material.ShowFileUrl) }; task.SvcOperationDefs.Add(new WfServiceOperationDefinition( new WfServiceAddressDefinition(WfServiceRequestMethod.Post, null, ResourceUriSettings.GetConfig().Paths[this.resourceUri].Uri.ToString()), "DoFileToDocService", parameters, "ReturnValue") ); DbConnectionMappingContext.DoMappingAction( DbConnectionMappingContext.GetMappedConnectionName(InvokeServiceTaskAdapter.Instance.ConnectionName), InvokeServiceTaskAdapter.Instance.ConnectionName, () => { InvokeServiceTaskAdapter.Instance.Update(task); }); }
private static WfClientTransferParams PrepareClientTransferParams() { WfClientTransferParams transferParams = new WfClientTransferParams("N1"); transferParams.Operator = Consts.Users["Requestor"]; transferParams.FromTransitionDescriptorKey = "L1"; transferParams.Assignees.Add(Consts.Users["Approver1"]); WfClientBranchProcessTemplateDescriptor template = BranchProcessTemplateConverterTest.PrepareClientBranchProcessTemplate(); WfClientBranchProcessTransferParams branchTransferParams = new WfClientBranchProcessTransferParams(template); WfClientBranchProcessStartupParams branchStartupParams = new WfClientBranchProcessStartupParams(Consts.Users["CFO"]); branchStartupParams.DefaultTaskTitle = "Hello Branch"; branchStartupParams.Department = Consts.Departments["RequestorOrg"]; branchStartupParams.ApplicationRuntimeParameters["Amount"] = 1024; branchStartupParams.ResourceID = UuidHelper.NewUuidString(); branchStartupParams.StartupContext = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); branchStartupParams.RelativeParams["Relative"] = "Hello world"; branchTransferParams.BranchParams.Add(branchStartupParams); transferParams.BranchTransferParams.Add(branchTransferParams); return(transferParams); }
private static ComplexFormData PrepareComplexFormData() { ComplexFormData result = new ComplexFormData(); result.ID = UuidHelper.NewUuidString(); result.Subject = string.Format("测试ComplexFormData-{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now); IUser user = (IUser)OguObjectSettings.GetConfig().Objects["requestor"].Object; result.Creator = user; result.StringProperty = "Windows A,B,C"; result.SubDataA.Add(new SubClassDataTypeA() { ResourceID = result.ID, Class = "SubDataA", SubStringPropertyA = "Data A1", SearchContent = "贾彦军" }); result.SubDataA.Add(new SubClassDataTypeA() { ResourceID = result.ID, Class = "SubDataA", SubStringPropertyA = "Data A2" }); result.SubDataB.Add(new SubClassDataTypeB() { ResourceID = result.ID, Class = "SubDataB", SubStringPropertyB = "Data B1", SearchContent = "徐磊" }); result.SubDataB.Add(new SubClassDataTypeB() { ResourceID = result.ID, Class = "SubDataB", SubStringPropertyB = "Data B2" }); return(result); }
private DataTable PrepareTestTable() { DataTable table = new DataTable(); table.Columns.Add("ID"); table.Columns.Add("NAME"); table.Columns.Add("AMOUNT"); table.Columns.Add("LOCAL_TIME", typeof(DateTime)); table.Columns.Add("UTC_TIME", typeof(DateTime)); DataRow row = table.NewRow(); row["ID"] = UuidHelper.NewUuidString(); row["NAME"] = UuidHelper.NewUuidString(); row["AMOUNT"] = "849b3d75e892b66e"; //240000 DateTime now = DateTime.Now; row["LOCAL_TIME"] = now; row["UTC_TIME"] = now.ToUniversalTime(); table.Rows.Add(row); return(table); }
private static SampleFormData PrepareSampleData() { SampleFormData result = new SampleFormData(); result.ID = UuidHelper.NewUuidString(); result.Subject = string.Format("测试FormData-{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now); result.SearchContent = "晏德智"; IUser user = (IUser)OguObjectSettings.GetConfig().Objects["requestor"].Object; result.Creator = user; result.StringProperty = "Windows 7,8,9"; SampleSubFormData sub1 = new SampleSubFormData(); sub1.SubItemID = 1; sub1.Name = "Sub Data 1"; result.SubData.Add(sub1); SampleSubFormData sub2 = new SampleSubFormData(); sub2.SubItemID = 2; sub2.Name = "Sub Data 2"; result.SubData.Add(sub2); return(result); }
public static void AddEvent(params string[] channelNames) { AMSEvent eventData = new AMSEvent(); eventData.ID = UuidHelper.NewUuidString(); eventData.Name = string.Format("新建节目在\"{0}\"{1:yyyy-MM-dd HH:mm:ss.fff}", channelNames[0], DateTime.UtcNow); eventData.State = AMSEventState.NotStart; eventData.StartTime = DateTime.Now.AddMinutes(5); eventData.EndTime = DateTime.Now.AddMinutes(35); eventData.ChannelID = GetChannelByName(channelNames[0]).ID; if (channelNames.Length > 1) { for (int i = 1; i < channelNames.Length; i++) { AMSChannel channel = GetChannelByName(channelNames[i]); AMSEventSqlAdapter.Instance.AddChannel(eventData.ID, new string[] { channel.ID }); } } AMSEventSqlAdapter.Instance.Update(eventData); }
public void WfBranchProcessTransferParamsJsonTest() { WfConverterHelper.RegisterConverters(); IUser user = (IUser)OguObjectSettings.GetConfig().Objects[OguObject.requestor.ToString()].Object; IWfBranchProcessTemplateDescriptor template = WfProcessTestCommon.CreateTemplate("Consign", user); WfBranchProcessTransferParams data = new WfBranchProcessTransferParams(template); data.BranchParams.Clear(); WfBranchProcessStartupParams bpsp = new WfBranchProcessStartupParams(user); bpsp.Department = user.Parent; bpsp.RelativeParams["RP"] = UuidHelper.NewUuidString(); bpsp.ApplicationRuntimeParameters["context"] = UuidHelper.NewUuidString(); bpsp.ResourceID = UuidHelper.NewUuidString(); bpsp.DefaultTaskTitle = UuidHelper.NewUuidString(); bpsp.StartupContext = UuidHelper.NewUuidString(); data.BranchParams.Add(bpsp); string serilizedData = JSONSerializerExecute.Serialize(data); Console.WriteLine(serilizedData); WfBranchProcessTransferParams deserilizedData = JSONSerializerExecute.Deserialize <WfBranchProcessTransferParams>(serilizedData); Assert.AreEqual(data.Template.Key, deserilizedData.Template.Key); Assert.AreEqual(data.Template.BranchProcessKey, deserilizedData.Template.BranchProcessKey); AssertBranchProcessStartupParams(data.BranchParams[0], deserilizedData.BranchParams[0]); }
public void UpdateUserDelegationTest() { //新增或修改 string userID = UuidHelper.NewUuidString(); string duserID = UuidHelper.NewUuidString(); WfClientDelegation delegation = DelegationHelper.PrepareDelegation(); delegation.SourceUserID = userID; WfClientProcessDescriptorServiceProxy.Instance.UpdateUserDelegation(delegation);//新增加 int count = WfClientProcessDescriptorServiceProxy.Instance.LoadUserDelegations(delegation.SourceUserID).Count; Assert.AreEqual(1, count); delegation.DestinationUserID = duserID; //修改被委托人信息 WfClientProcessDescriptorServiceProxy.Instance.UpdateUserDelegation(delegation); //新增加 count = WfClientProcessDescriptorServiceProxy.Instance.LoadUserDelegations(delegation.SourceUserID).Count; Assert.AreEqual(2, count); delegation.StartTime = System.DateTime.Now.Date; WfClientProcessDescriptorServiceProxy.Instance.UpdateUserDelegation(delegation);//更新 count = WfClientProcessDescriptorServiceProxy.Instance.LoadUserDelegations(delegation.SourceUserID).Count; Assert.AreEqual(2, count); WfClientDelegationCollection list = WfClientProcessDescriptorServiceProxy.Instance.LoadUserDelegations(delegation.SourceUserID); WfClientDelegation delegation2 = list.Find(w => w.DestinationUserID == duserID); //传递过程,客户端扩展的属性会丢失 delegation.ApplicationName = string.Empty; delegation.TenantCode = string.Empty; delegation.ProgramName = string.Empty; delegation.AreSame(delegation2); }
private static void ValidateName(string name, string codeName, ValidationResult result, AUSchema schema, SchemaObjectBase targetUnit) { var actualParent = (SchemaObjectBase)targetUnit ?? schema; var adminUnit = new AdminUnit() { ID = UuidHelper.NewUuidString(), CodeName = codeName, Name = name, AUSchemaID = schema.ID }; var validationObjResult = adminUnit.Validate(); result.ObjectValidationResult = validationObjResult.ResultCount > 0 ? ToMessage(validationObjResult.First()) : "通过"; result.Passed &= validationObjResult.ResultCount == 0; if (result.Passed) { SCRelationObject relation = new SCRelationObject(actualParent, adminUnit); var existedObj = AU.Adapters.AUSnapshotAdapter.Instance.LoadAUByChildName(name, actualParent.ID, AUCommon.SchemaAdminUnit, true, DateTime.MinValue); result.NameValidationResult = existedObj.Count > 0 ? "此名称已经被占用,请使用其他名称" : "通过"; result.Passed &= existedObj.Count == 0; } }
public void Insert() { UploadFileHistory history = new UploadFileHistory(); history.Operator = null; history.OriginalFileName = UuidHelper.NewUuidString() + ".txt"; history.ApplicationName = "App"; history.ProgramName = "Prog"; history.StatusText = "一切正常"; history.Status = UploadFileHistoryStatus.Success; history.Operator = (IUser)OguObjectSettings.GetConfig().Objects["requestor"].Object; using (Stream stream = PrepareFileStream(history.OriginalFileName, history.OriginalFileName)) { UploadFileHistoryAdapter.Instance.Insert(history, stream); } using (Stream stream = history.GetMaterialContentStream()) { using (StreamReader sr = new StreamReader(history.GetMaterialContentStream())) { string content = sr.ReadToEnd(); Assert.AreEqual(history.OriginalFileName, content); } } }
private static AU.AdminUnit CreateUnit(AU.AdminUnit fromUnit, string newName, string newCodeName) { AU.AdminUnit newUnit = new AU.AdminUnit(); foreach (var item in fromUnit.Properties) { if (newUnit.Properties.ContainsKey(item.Definition.Name) == false) { newUnit.Properties.Add(new SchemaPropertyValue(item.Definition)); } newUnit.Properties.SetValue <string>(item.Definition.Name, item.StringValue); var ppt = newUnit.Properties[item.Definition.Name]; if (ppt == null) { throw new AUObjectException(string.Format("管理单元的属性:{0}不匹配", ppt.Definition.Name)); } else { ppt.StringValue = item.StringValue; } } newUnit.ID = UuidHelper.NewUuidString(); newUnit.AUSchemaID = fromUnit.AUSchemaID; newUnit.Name = newName; newUnit.CodeName = newCodeName; return(newUnit); }
private static GenericOpinion PrepareServerOpinion() { GenericOpinion opinion = new GenericOpinion(); opinion.ID = UuidHelper.NewUuidString(); opinion.ResourceID = UuidHelper.NewUuidString(); opinion.ActivityID = UuidHelper.NewUuidString(); opinion.ProcessID = UuidHelper.NewUuidString(); opinion.LevelName = "TestLevelName"; opinion.LevelDesp = "LevelDesp"; opinion.OpinionType = "OpinionType"; opinion.IssueDatetime = DateTime.Now; opinion.AppendDatetime = DateTime.Now; opinion.Content = "Hello world"; opinion.IssuePerson = new OguUser(UuidHelper.NewUuidString()) { DisplayName = "Shen Zheng" }; opinion.AppendPerson = new OguUser(UuidHelper.NewUuidString()) { DisplayName = "Shen Rong" }; opinion.RawExtData = "Extra Data"; return(opinion); }
/// <summary> /// 创建一个只有开始和结束点的流程描述 /// </summary> /// <returns></returns> public static IWfProcessDescriptor CreateInitAndCompletedProcessDescriptor() { WfProcessDescriptor processDesp = new WfProcessDescriptor(); processDesp.Key = "TestProcess" + UuidHelper.NewUuidString().Substring(0, 8); processDesp.Name = "测试流程"; processDesp.ApplicationName = "TEST_APP_NAME"; processDesp.ProgramName = "TEST_PROGRAM_NAME"; processDesp.Url = "/MCS_Framework/WebTestProject/defaultHandler.aspx"; WfActivityDescriptor initAct = new WfActivityDescriptor("Initial", WfActivityType.InitialActivity); initAct.Name = "Initial"; initAct.CodeName = "Initial Activity"; processDesp.Activities.Add(initAct); WfActivityDescriptor completedAct = new WfActivityDescriptor("Completed", WfActivityType.CompletedActivity); completedAct.Name = "Completed"; completedAct.CodeName = "Completed Activity"; completedAct.RelativeLinks.Add(new WfRelativeLinkDescriptor("TestLink") { Name = "测试链接", Url = "/MCSWebApp/Sample.htm" }); processDesp.Activities.Add(completedAct); initAct.ToTransitions.AddForwardTransition(completedAct); return(processDesp); }