Dev2.Scheduler.ScheduledResourceModel.CreateScheduledResource C# (CSharp) Method

CreateScheduledResource() private method

private CreateScheduledResource ( IDev2Task arg ) : IScheduledResource
arg IDev2Task
return IScheduledResource
        private IScheduledResource CreateScheduledResource(IDev2Task arg)
        {

            ITrigger trigger;
            DateTime nextDate;
            List<string> output;
            using(var action = ConvertorFactory.CreateExecAction(arg.Action))
            {
                trigger = arg.Trigger;
                nextDate = trigger.StartBoundary;
                output = action.Arguments.Split(ArgWrapper).Where(a => !String.IsNullOrEmpty(a.Trim())).ToList();
            }
            if(output.Count == 2 && output.All(a => a.Contains(NameSeperator)))
            {

                var split = output.SelectMany(a => a.Split(NameSeperator)).ToList();
                try
                {


                    return new ScheduledResource(arg.Definition.Data,
                                                 arg.Definition.Settings.Enabled
                                                     ? SchedulerStatus.Enabled
                                                     : SchedulerStatus.Disabled,
                                                 nextDate,
                                                 new ScheduleTrigger(arg.State, _factory.SanitiseTrigger(trigger),
                                                                     _taskService, _factory), split[1])
                        {
                            Status =
                                arg.Definition.Settings.Enabled
                                    ? SchedulerStatus.Enabled
                                    : SchedulerStatus.Disabled,
                            RunAsapIfScheduleMissed = arg.Definition.Settings.StartWhenAvailable,
                            UserName = arg.Definition.UserName
                        };
                }
                finally
                {
                    arg.Dispose();
                }
            }
            throw new InvalidScheduleException(String.Format("Invalid resource found:{0}", arg.Definition.Data)); // this should not be reachable because isvaliddev2task checks same conditions


        }