コード例 #1
0
        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));
        }
コード例 #2
0
        // 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
            });
        }
コード例 #3
0
        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());
        }