private IUser GetCurrentUserInfo() { IUser result = null; if (OriginalActivity != null) { //先检查能否办理 WfAssignee assignee = OriginalActivity.Assignees.FindFirstUser(DeluxeIdentity.CurrentUser.ID); if (assignee != null) { result = assignee.User; } } if (result != null && result.AllRelativeUserInfo.Count > 1) { //如果可以办理,则检查兼职信息 if (OriginalActivity != null) { result = FindFirstUserInDepartment(result.AllRelativeUserInfo, OriginalActivity.Process.OwnerDepartment); } } if (result == null) { result = DeluxeIdentity.CurrentUser; } return(result); }
public void ServerToClient(WfAssignee server, ref WfClientAssignee client) { server.NullCheck("server"); if (client == null) client = new WfClientAssignee(); client.AssigneeType = server.AssigneeType.ToClientAssigneeType(); client.Delegator = (WfClientUser)server.Delegator.ToClientOguObject(); client.Selected = server.Selected; client.User = (WfClientUser)server.User.ToClientOguObject(); client.Url = server.Url; }
public void ClientToServer(WfClientAssignee client, ref WfAssignee server) { client.NullCheck("client"); if (server == null) server = new WfAssignee(); server.AssigneeType = client.AssigneeType.ToAssigneeType(); server.Delegator = (IUser)client.Delegator.ToOguObject(); server.Selected = client.Selected; server.User = (IUser)client.User.ToOguObject(); server.Url = client.Url; }
public static void AreSame(this WfClientAssignee expected, WfAssignee actual) { if (expected != null && actual != null) { Assert.AreEqual(expected.AssigneeType, actual.AssigneeType.ToClientAssigneeType()); Assert.AreEqual(expected.Url, actual.Url); Assert.IsTrue(expected.User.AreSame(actual.User)); Assert.IsTrue(expected.Delegator.AreSame(actual.Delegator)); } else { Assert.AreEqual(expected, actual); } }
public override object Deserialize(IDictionary<string, object> dictionary, Type type, JavaScriptSerializer serializer) { WfAssignee assignee = new WfAssignee(); assignee.AssigneeType = DictionaryHelper.GetValue(dictionary, "AssigneeType", WfAssigneeType.Normal); assignee.User = JSONSerializerExecute.Deserialize<OguUser>(dictionary["User"]); assignee.Url = DictionaryHelper.GetValue(dictionary, "Url", (string)null); assignee.Selected = DictionaryHelper.GetValue(dictionary, "Selected", true); if (dictionary.ContainsKey("Delegator")) assignee.Delegator = JSONSerializerExecute.Deserialize<OguUser>(dictionary["Delegator"]); return assignee; }
public WfExecutorBase CreateExecutor() { WfExecutorBase executor = null; switch (this.OperationType) { case WfControlOperationType.MoveTo: executor = new WfMoveToExecutor( WfClientContext.Current.OriginalActivity, WfClientContext.Current.OriginalActivity, ToTransferParams(), WfClientContext.Current.Locks); break; case WfControlOperationType.Consign: { WfAssigneeCollection assignees = new WfAssigneeCollection(); WfAssignee assignee = new WfAssignee(WfClientContext.Current.User); assignees.Add(assignee); executor = new WfConsignExecutor( WfClientContext.Current.OriginalActivity, WfClientContext.Current.OriginalActivity, assignees, this.Assignees.ToUsers(), this.Circulators.ToUsers(), BlockingType, SequenceType); } break; case WfControlOperationType.Return: if (this._RejectMode == WfRejectMode.LikeAddApprover) { executor = new WfAddApproverExecutor(WfClientContext.Current.CurrentActivity, WfClientContext.Current.CurrentActivity.Process.Activities.FindActivityByDescriptorKey(TargetActivityDescriptor.Key)); } else { executor = new WfReturnExecutor(WfClientContext.Current.CurrentActivity, WfClientContext.Current.CurrentActivity.Process.Activities.FindActivityByDescriptorKey(TargetActivityDescriptor.Key)); } break; default: throw new WfRuntimeException(Translator.Translate(Define.DefaultCulture, "不能处理操作类型为{0}", this.OperationType)); } return(executor); }
public void ServerToClient(WfAssignee server, ref WfClientAssignee client) { server.NullCheck("server"); if (client == null) { client = new WfClientAssignee(); } client.AssigneeType = server.AssigneeType.ToClientAssigneeType(); client.Delegator = (WfClientUser)server.Delegator.ToClientOguObject(); client.Selected = server.Selected; client.User = (WfClientUser)server.User.ToClientOguObject(); client.Url = server.Url; }
public void ClientToServer(WfClientAssignee client, ref WfAssignee server) { client.NullCheck("client"); if (server == null) { server = new WfAssignee(); } server.AssigneeType = client.AssigneeType.ToAssigneeType(); server.Delegator = (IUser)client.Delegator.ToOguObject(); server.Selected = client.Selected; server.User = (IUser)client.User.ToOguObject(); server.Url = client.Url; }
public void ClientToServer(WfClientAssigneeCollection client, WfAssigneeCollection server) { client.NullCheck("client"); server.NullCheck("server"); server.Clear(); foreach (WfClientAssignee c in client) { WfAssignee s = null; WfClientAssigneeConverter.Instance.ClientToServer(c, ref s); server.Add(s); } }
private static WfAssignee DataRowToAssignee(DataRow row) { WfAssignee result = new WfAssignee(); result.AssigneeType = (WfAssigneeType)Enum.Parse(typeof(WfAssigneeType), row["ASSIGNEE_TYPE"].ToString(), true); OguUser user = new OguUser(); user.ID = row["USER_ID"].ToString(); user.Name = row["USER_NAME"].ToString(); user.FullPath = row["USER_PATH"].ToString(); result.User = user; return result; }
/// <summary> /// 得到被委托的人员 /// </summary> /// <param name="sourceAssignees"></param> /// <returns></returns> private static WfAssigneeCollection GetDelegatedAssignees(WfAssigneeCollection sourceAssignees, IWfProcess process) { WfAssigneeCollection result = new WfAssigneeCollection(); foreach (WfAssignee sourceAssignee in sourceAssignees) { WfDelegationCollection delegations = WfDelegationSettings.GetConfig().Reader.GetUserActiveDelegations(sourceAssignee.User, process); foreach (WfDelegation delegation in delegations) { OguUser user = new OguUser(delegation.DestinationUserID); user.DisplayName = delegation.DestinationUserName; user.Name = delegation.DestinationUserName; OguUser delegator = new OguUser(delegation.SourceUserID); delegator.DisplayName = delegation.SourceUserName; delegator.Name = delegation.SourceUserName; WfAssignee assignee = new WfAssignee(user); assignee.AssigneeType = WfAssigneeType.Delegated; assignee.Delegator = delegator; result.Add(assignee); } } return result; }
public WfExecutorBase CreateExecutor() { WfExecutorBase executor = null; switch (this.OperationType) { case WfControlOperationType.MoveTo: executor = new WfMoveToExecutor( WfClientContext.Current.OriginalActivity, WfClientContext.Current.OriginalActivity, ToTransferParams(), WfClientContext.Current.Locks); break; case WfControlOperationType.Consign: { WfAssigneeCollection assignees = new WfAssigneeCollection(); WfAssignee assignee = new WfAssignee(WfClientContext.Current.User); assignees.Add(assignee); executor = new WfConsignExecutor( WfClientContext.Current.OriginalActivity, WfClientContext.Current.OriginalActivity, assignees, this.Assignees.ToUsers(), this.Circulators.ToUsers(), BlockingType, SequenceType); } break; case WfControlOperationType.Return: if (this._RejectMode == WfRejectMode.LikeAddApprover) executor = new WfAddApproverExecutor(WfClientContext.Current.CurrentActivity, WfClientContext.Current.CurrentActivity.Process.Activities.FindActivityByDescriptorKey(TargetActivityDescriptor.Key)); else executor = new WfReturnExecutor(WfClientContext.Current.CurrentActivity, WfClientContext.Current.CurrentActivity.Process.Activities.FindActivityByDescriptorKey(TargetActivityDescriptor.Key)); break; default: throw new WfRuntimeException(Translator.Translate(Define.DefaultCulture, "不能处理操作类型为{0}", this.OperationType)); } return executor; }
public static void AreSame(this WfClientAssignee expected, WfAssignee actual) { if (expected != null && actual != null) { Assert.AreEqual(expected.AssigneeType, actual.AssigneeType.ToClientAssigneeType()); Assert.AreEqual(expected.Url, actual.Url); Assert.IsTrue(expected.User.AreSame(actual.User)); Assert.IsTrue(expected.Delegator.AreSame(actual.Delegator)); } else Assert.AreEqual(expected, actual); }