Exemplo n.º 1
0
        public static IForm <DeploymentForm> BuildForm()
        {
            return(new FormBuilder <DeploymentForm>()
                   .Field(new FieldReflector <DeploymentForm>(nameof(Project))
                          .SetType(null)
                          .ReplaceTemplate(new TemplateAttribute(
                                               TemplateUsage.EnumSelectOne,
                                               "Pick a project: {||}")
            {
                ChoiceStyle = ChoiceStyleOptions.PerLine
            })
                          .SetDefine((state, field) =>
            {
                foreach (var prod in OctopusClient.GetProjects())
                {
                    field
                    .AddDescription(prod.Id, prod.Name)
                    .AddTerms(prod.Id, prod.Name);
                }

                return Task.FromResult(true);
            }))
                   .Field(new FieldReflector <DeploymentForm>(nameof(Environment))
                          .SetType(null)
                          .ReplaceTemplate(new TemplateAttribute(
                                               TemplateUsage.EnumSelectOne,
                                               "What evironment would you like to check? {||}")
            {
                ChoiceStyle = ChoiceStyleOptions.PerLine
            })
                          .SetDefine((state, field) =>
            {
                foreach (var prod in OctopusClient.GetEnvironments())
                {
                    field
                    .AddDescription(prod.Id, prod.Name)
                    .AddTerms(prod.Id, prod.Name);
                }

                return Task.FromResult(true);
            }))
                   .AddRemainingFields()
                   .Build());
        }