Beispiel #1
0
        private async Task AddTaskAsync()
        {
            try
            {
                if (this.IsInputValid())
                {
                    AddTaskOptions options = new AddTaskOptions()
                    {
                        JobId               = this.jobId,
                        CommandLine         = this.CommandLine,
                        TaskId              = this.TaskId,
                        IsMultiInstanceTask = this.IsMultiInstanceTask,
                        ResourceFiles       = ResourceFileStringParser.Parse(this.ResourceFiles).Files.ToList(),
                        RunElevated         = this.RunElevated,
                        MaxTaskRetryCount   = this.MaxTaskRetryCount,
                    };

                    if (this.IsMultiInstanceTask)
                    {
                        options.BackgroundCommand   = this.BackgroundCommand;
                        options.InstanceNumber      = Int32.Parse(this.InstanceNumber);
                        options.CommonResourceFiles = ResourceFileStringParser.Parse(this.commonResourceFiles).Files.ToList();
                    }

                    await this.batchService.AddTaskAsync(options);

                    Messenger.Default.Send(new GenericDialogMessage(string.Format("Successfully added Task {0}", this.TaskId)));
                    this.TaskId = string.Empty; //So that the user cannot accidentally try to create the same task twice
                }
            }
            catch (Exception e)
            {
                Messenger.Default.Send <GenericDialogMessage>(new GenericDialogMessage(e.ToString()));
            }
        }
Beispiel #2
0
        private async Task AddTaskAsync()
        {
            try
            {
                if (this.IsInputValid())
                {
                    AddTaskOptions options = new AddTaskOptions()
                    {
                        JobId         = this.jobId,
                        CommandLine   = this.CommandLine,
                        TaskId        = this.TaskId,
                        ResourceFiles = ResourceFileStringParser.Parse(this.ResourceFiles).Files.ToList(),
                    };

                    await this.batchService.AddTaskAsync(options);

                    Messenger.Default.Send(new GenericDialogMessage(string.Format("Successfully added Task {0}", this.TaskId)));
                    this.TaskId = string.Empty; //So that the user cannot accidentally try to create the same task twice
                }
            }
            catch (Exception e)
            {
                Messenger.Default.Send <GenericDialogMessage>(new GenericDialogMessage(e.ToString()));
            }
        }
Beispiel #3
0
        private StartTaskOptions GetStartTaskOptions()
        {
            if (HasStartTask)
            {
                return(new StartTaskOptions
                {
                    CommandLine = this.StartTaskCommandLine,
                    ResourceFiles = ResourceFileStringParser.Parse(this.StartTaskResourceFiles).Files.ToList(),
                    RunElevated = this.StartTaskRunElevated,
                });
            }

            return(null);
        }
Beispiel #4
0
        private bool IsInputValid()
        {
            if (string.IsNullOrEmpty(this.TaskId))
            {
                Messenger.Default.Send <GenericDialogMessage>(new GenericDialogMessage("Invalid values for Task Id"));
                return(false);
            }

            if (string.IsNullOrEmpty(this.CommandLine))
            {
                Messenger.Default.Send <GenericDialogMessage>(new GenericDialogMessage("Invalid values for Command Line"));
                return(false);
            }

            if (this.IsMultiInstanceTask)
            {
                if (string.IsNullOrEmpty(this.InstanceNumber))
                {
                    Messenger.Default.Send <GenericDialogMessage>(new GenericDialogMessage("Invalid values for Instance Number"));
                }

                int i;
                if (!Int32.TryParse(this.InstanceNumber, out i))
                {
                    Messenger.Default.Send <GenericDialogMessage>(new GenericDialogMessage("Instance Number must be an integer"));
                }

                var commonResourceFiles = ResourceFileStringParser.Parse(this.CommonResourceFiles);
                if (commonResourceFiles.HasErrors)
                {
                    Messenger.Default.Send <GenericDialogMessage>(new GenericDialogMessage(String.Join(Environment.NewLine, commonResourceFiles.Errors)));
                    return(false);
                }
            }

            var resourceFiles = ResourceFileStringParser.Parse(this.ResourceFiles);

            if (resourceFiles.HasErrors)
            {
                Messenger.Default.Send <GenericDialogMessage>(new GenericDialogMessage(String.Join(Environment.NewLine, resourceFiles.Errors)));
                return(false);
            }

            return(true);
        }
Beispiel #5
0
        private bool IsInputValid()
        {
            if (string.IsNullOrEmpty(this.PoolId))
            {
                Messenger.Default.Send <GenericDialogMessage>(new GenericDialogMessage("Invalid values for Pool Id"));
                return(false);
            }
            else if (this.UseAutoscale)
            {
                if (string.IsNullOrEmpty(this.AutoscaleFormula))
                {
                    Messenger.Default.Send <GenericDialogMessage>(new GenericDialogMessage("Invalid value for Autoscale Formula"));
                    return(false);
                }
            }
            else if (this.TargetDedicated < 0)
            {
                Messenger.Default.Send <GenericDialogMessage>(new GenericDialogMessage("Invalid values for Target Dedicated"));
                return(false);
            }
            else if (this.HasStartTask)
            {
                if (string.IsNullOrEmpty(this.StartTaskCommandLine))
                {
                    Messenger.Default.Send <GenericDialogMessage>(new GenericDialogMessage("Start task must have a command line"));
                    return(false);
                }
                var resourceFiles = ResourceFileStringParser.Parse(this.StartTaskResourceFiles);
                if (resourceFiles.HasErrors)
                {
                    Messenger.Default.Send <GenericDialogMessage>(new GenericDialogMessage(String.Join(Environment.NewLine, resourceFiles.Errors)));
                    return(false);
                }
            }

            return(true);
        }
Beispiel #6
0
        private bool IsInputValid()
        {
            if (string.IsNullOrEmpty(this.TaskId))
            {
                Messenger.Default.Send <GenericDialogMessage>(new GenericDialogMessage("Invalid values for Task Id"));
                return(false);
            }

            if (string.IsNullOrEmpty(this.CommandLine))
            {
                Messenger.Default.Send <GenericDialogMessage>(new GenericDialogMessage("Invalid values for Command Line"));
                return(false);
            }

            var resourceFiles = ResourceFileStringParser.Parse(this.ResourceFiles);

            if (resourceFiles.HasErrors)
            {
                Messenger.Default.Send <GenericDialogMessage>(new GenericDialogMessage(String.Join(Environment.NewLine, resourceFiles.Errors)));
                return(false);
            }

            return(true);
        }