protected override void OnPrepareUserOperationLog(WfExecutorDataContext dataContext)
        {
            if (OperatorActivity != null)
            {
                UserOperationLog log = UserOperationLog.FromActivity(OperatorActivity);

                log.OperationType = DataObjects.OperationType.Update;
                log.OperationName = EnumItemDescriptionAttribute.GetDescription(this.OperationType);

                dataContext.OperationLogs.Add(log);
            }

            FirePrepareUserOperationLog(dataContext, dataContext.OperationLogs);

            foreach (UserOperationLog log in dataContext.OperationLogs)
            {
                if (log.RealUser != null && string.IsNullOrEmpty(log.OperationDescription))
                {
                    string originalUserName = UsersToString(this.OriginalAssignees);

                    log.OperationDescription = string.Format("{0}:{1}->{2}>>'{3}' {4:yyyy-MM-dd HH:mm:ss}",
                                                             log.OperationName, log.RealUser.DisplayName, originalUserName, this.TargetAssigneesToString(), SNTPClient.AdjustedTime);
                }
            }
        }
        /// <summary>
        /// 写打开表单的日志
        /// </summary>
        /// <param name="currentActivity"></param>
        /// <param name="logOpType"></param>
        private static void WriteOpenFormLog(IWfActivity currentActivity, MCS.Library.SOA.DataObjects.OperationType logOpType)
        {
            if (currentActivity != null)
            {
                UserOperationLog log = UserOperationLog.FromActivity(currentActivity);

                log.OperationType = logOpType;
                log.OperationName = EnumItemDescriptionAttribute.GetDescription(logOpType);

                UserOperationLogAdapter.Instance.Update(log);
            }
        }
Example #3
0
        protected virtual void OnPrepareUserOperationLog(WfExecutorDataContext dataContext)
        {
            UserOperationLogCollection logs = dataContext.OperationLogs;

            if (OperatorActivity != null)
            {
                UserOperationLog log = UserOperationLog.FromActivity(OperatorActivity);

                log.OperationType = DataObjects.OperationType.Update;
                log.OperationName = EnumItemDescriptionAttribute.GetDescription(this.OperationType);

                logs.Add(log);
            }

            FirePrepareUserOperationLog(dataContext, logs);

            foreach (UserOperationLog log in logs)
            {
                OnPrepareUserOperationLogDescription(dataContext, log);
            }

            List <string> accomplishedUserTaskIDs = new List <string>();

            foreach (UserTask item in WfRuntime.ProcessContext.AccomplishedUserTasks)
            {
                accomplishedUserTaskIDs.Add(item.TaskID);
            }

            UserOperationTasksLogCollection userOperationlogs = new UserOperationTasksLogCollection();

            foreach (UserTask userTaskItem in WfRuntime.ProcessContext.MoveToUserTasks)
            {
                if (accomplishedUserTaskIDs.Exists(taskID => string.Equals(taskID, userTaskItem.TaskID)) == false)
                {
                    userOperationlogs.Add(UserOperationTasksLog.FromUserTask(userTaskItem));
                }
            }

            if (userOperationlogs.Count > 0)
            {
                dataContext.Add("USER_OPERATION_TASKSLOGS", userOperationlogs);
            }
            else
            {
                dataContext.Remove("USER_OPERATION_TASKSLOGS");
            }
        }