Пример #1
0
        /// <summary>
        /// Trace
        /// </summary>
        /// <param name="workflowOid">Workflow Oid</param>
        /// <param name="action">Action</param>
        /// <param name="code">Code</param>
        /// <param name="result">Result</param>
        /// <param name="user">User</param>
        /// <param name="msg">Msg</param>
        /// <param name="type">Type</param>
        public void Trace(Guid workflowOid, ActionTrace action, string code, string result, string user, string msg, TraceEventType type)
        {
            using (var uofw = new FlowTasksUnitOfWork())
            {
                var wfd = uofw.WorkflowDefinitions.First(w => w.WorkflowOid == workflowOid);

                var eventType = type.ToString();
                var tre       = uofw.TraceEvents.First(e => e.Type == eventType);
                var t         = new WorkflowTrace
                {
                    Message            = msg.Substring(0, Math.Min(msg.Length, 500)),
                    TraceEvent         = tre,
                    User               = string.IsNullOrWhiteSpace(user) ? string.Empty : user,
                    When               = DateTime.Now,
                    WorkflowDefinition = wfd,
                    Action             = action.ToString(),
                    Code               = code,
                    Result             = result
                };

                uofw.WorkflowTraces.Insert(t);

                uofw.Commit();
            }
        }
Пример #2
0
        private IActionTracingContainer GetMockedTracingContainer()
        {
            var trace = new ActionTrace();

            var traceContainer = A.Fake <IActionTracingContainer>();

            A.CallTo(() => traceContainer.ActionTrace).Returns(trace);

            return(traceContainer);
        }
Пример #3
0
 /// <summary>
 /// Trace
 /// </summary>
 /// <param name="workflowOid">Workflow Oid</param>
 /// <param name="action">Action</param>
 /// <param name="code">Code</param>
 /// <param name="msg">Msg</param>
 /// <param name="type">Type</param>
 public void Trace(Guid workflowOid, ActionTrace action, string code, string msg, TraceEventType type)
 {
     Trace(workflowOid, action, code, string.Empty, string.Empty, msg, type);
 }
Пример #4
0
 ActionBase IActionVisitor <XElement, ActionBase> .Visit(ActionTrace action, XElement xAction)
 {
     return(action);
 }
Пример #5
0
 public static void SetCurrentActionTrace(this IContext context, ActionTrace actionTrace)
 => SetValue(context, CURRENT_ACTION_TRACE_KEY, actionTrace);
Пример #6
0
 XElement IActionVisitor <XElement, XElement> .Visit(ActionTrace action, XElement param)
 {
     return(new XElement(XActionNames.FromAction(action)));
 }