/// <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(); } }
private IActionTracingContainer GetMockedTracingContainer() { var trace = new ActionTrace(); var traceContainer = A.Fake <IActionTracingContainer>(); A.CallTo(() => traceContainer.ActionTrace).Returns(trace); return(traceContainer); }
/// <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); }
ActionBase IActionVisitor <XElement, ActionBase> .Visit(ActionTrace action, XElement xAction) { return(action); }
public static void SetCurrentActionTrace(this IContext context, ActionTrace actionTrace) => SetValue(context, CURRENT_ACTION_TRACE_KEY, actionTrace);
XElement IActionVisitor <XElement, XElement> .Visit(ActionTrace action, XElement param) { return(new XElement(XActionNames.FromAction(action))); }