protected override void ExecuteCrmWorkFlowActivity(CodeActivityContext context, LocalWorkflowContext localContext) { if (context == null) { throw new ArgumentNullException(nameof(context)); } if (localContext == null) { throw new ArgumentNullException(nameof(localContext)); } DateTime startTimeInput = StartTime.Get(context); localContext.TracingService.Trace("Input: " + startTimeInput.ToString("yyyy-MM-dd HH:mm:ss.fff")); DateTime startTime = startTimeInput == DateTime.MinValue ? localContext.WorkflowExecutionContext.OperationCreatedOn : startTimeInput; localContext.TracingService.Trace("StartTime: " + startTime.ToString("yyyy-MM-dd HH:mm:ss.fff")); DateTime endTime = TimeProvider.UtcNow; localContext.TracingService.Trace("EndTime: " + endTime.ToString("yyyy-MM-dd HH:mm:ss.fff")); TimeSpan difference = endTime - startTime; DurationMs.Set(context, Convert.ToInt32(difference.TotalMilliseconds)); }
// Module defining this command // Optional custom code for this activity /// <summary> /// Returns a configured instance of System.Management.Automation.PowerShell, pre-populated with the command to run. /// </summary> /// <param name="context">The NativeActivityContext for the currently running activity.</param> /// <returns>A populated instance of Sytem.Management.Automation.PowerShell</returns> /// <remarks>The infrastructure takes responsibility for closing and disposing the PowerShell instance returned.</remarks> protected override ActivityImplementationContext GetPowerShell(NativeActivityContext context) { System.Management.Automation.PowerShell invoker = global::System.Management.Automation.PowerShell.Create(); System.Management.Automation.PowerShell targetCommand = invoker.AddCommand(PSCommandName); // Initialize the arguments if (Path.Expression != null) { targetCommand.AddParameter("Path", Path.Get(context)); } if (ListSet.Expression != null) { targetCommand.AddParameter("ListSet", ListSet.Get(context)); } if (StartTime.Expression != null) { targetCommand.AddParameter("StartTime", StartTime.Get(context)); } if (EndTime.Expression != null) { targetCommand.AddParameter("EndTime", EndTime.Get(context)); } if (Counter.Expression != null) { targetCommand.AddParameter("Counter", Counter.Get(context)); } if (Summary.Expression != null) { targetCommand.AddParameter("Summary", Summary.Get(context)); } if (MaxSamples.Expression != null) { targetCommand.AddParameter("MaxSamples", MaxSamples.Get(context)); } return(new ActivityImplementationContext() { PowerShellInstance = invoker }); }
protected override void Execute(CodeActivityContext context) { var settings = new ConnectionSettings(new Uri(URL.Get(context))); settings.ThrowExceptions(alwaysThrow: true); settings.PrettyJson(); if (AuthenticationRequired.Get(context) == true) { settings.BasicAuthentication(Username.Get(context), Password.Get(context)); } var esClient = new ElasticClient(settings); var searchData = esClient.Search <UiPathESLog>(sd => sd .Index(Index.Get(context)) .Size(MaxSize.Get(context)) .Query(q => q. Match(m => m .Field(f => f.processName) .Query(ProcessName.Get(context) == string.Empty ? "*" : ProcessName.Get(context))) && q. Match(m => m .Field(f => f.robotName) .Query(RobotName.Get(context) == string.Empty ? "*" : RobotName.Get(context))) && q .DateRange(r => r .Field(f => f.timeStamp) .GreaterThanOrEquals(StartTime.Get(context)) .LessThanOrEquals(EndTime.Get(context))))); Logs.Set(context, searchData.Documents.ToArray()); }