public AzureDevOpsService(AzureServiceConfigurationRepository azureServiceConfigurationRepository)
 {
     _azureServiceConfigurationRepository = azureServiceConfigurationRepository;
 }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            try
            {
                Console.ForegroundColor = ConsoleColor.Blue;
                Console.WriteLine("################################################");
                Console.WriteLine("######### Configurador do Azure DevOps #########");
                Console.WriteLine("################################################");
                Console.WriteLine();
                Console.WriteLine();

                azureServiceConfigurationRepository = new AzureServiceConfigurationRepository(new AzureDevOpsDbContextFactory().CreateDbContext());
                azureServiceConfiguration           = azureServiceConfigurationRepository.Get();

                if (azureServiceConfiguration == null)
                {
                    azureServiceConfiguration = new AzureServiceConfiguration();

                    do
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine("Parâmetros de conexão com o Azure não encontrados, favor criá-los.");
                        Console.ForegroundColor = ConsoleColor.White;
                        Console.WriteLine("Digite a URL da API do Azure DevOps:");
                        azureServiceConfiguration.URL = Console.ReadLine();
                        Console.WriteLine("Digite a Organização:");
                        azureServiceConfiguration.Organization = Console.ReadLine();
                        Console.WriteLine("Digite o Token de Acesso:");
                        azureServiceConfiguration.AccessToken = Console.ReadLine();
                        Console.WriteLine("Digite o Nome de projeto:");
                        azureServiceConfiguration.Project = Console.ReadLine();
                    } while (!azureServiceConfiguration.IsValid());

                    azureServiceConfigurationRepository.Add(azureServiceConfiguration);
                }
                else
                {
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine("Parâmetros de conexão com o Azure foram encontrados.");
                    Console.WriteLine("Para visualizar digite V. ");
                    Console.WriteLine("Para visualizar e atualizar digite A.");
                    Console.WriteLine("Para seguir em frente com a integração tecle Enter ou aguarde 2 segundos.");
                    Timer timer = new Timer(TimerCallback, null, 2000, -1);
                    Console.ForegroundColor = ConsoleColor.White;

                    switch (Console.ReadLine().ToUpper())
                    {
                    case "V":
                        timer.Change(-1, -1);
                        timer.Dispose();
                        Console.WriteLine($"URL da API do Azure DevOps: {azureServiceConfiguration.URL}");
                        Console.WriteLine($"Organização: {azureServiceConfiguration.Organization}");
                        Console.WriteLine($"Token de Acesso: {azureServiceConfiguration.AccessToken}");
                        Console.WriteLine($"Nome do projeto: {azureServiceConfiguration.Project}");
                        break;

                    case "A":
                        do
                        {
                            timer.Change(-1, -1);
                            timer.Dispose();
                            Console.WriteLine($"URL da API do Azure DevOps: {azureServiceConfiguration.URL}");
                            Console.WriteLine("Digite a nova URL da API do Azure DevOps:");
                            azureServiceConfiguration.URL = Console.ReadLine();
                            Console.WriteLine($"Organização: {azureServiceConfiguration.Organization}");
                            Console.WriteLine("Digite a nova Organização:");
                            azureServiceConfiguration.Organization = Console.ReadLine();
                            Console.WriteLine($"Token de Acesso: {azureServiceConfiguration.AccessToken}");
                            Console.WriteLine("Digite o novo Token de Acesso:");
                            azureServiceConfiguration.AccessToken = Console.ReadLine();
                            Console.WriteLine($"Nome do projeto: {azureServiceConfiguration.Project}");
                            Console.WriteLine("Digite o novo Nome de projeto:");
                            azureServiceConfiguration.Project = Console.ReadLine();
                        } while (!azureServiceConfiguration.IsValid());
                        azureServiceConfigurationRepository.Update(azureServiceConfiguration);
                        break;

                    default:
                        timer.Change(-1, -1);
                        timer.Dispose();
                        break;
                    }
                }

                StartIntegration();

                Console.ReadLine();
            }
            catch (Exception ex)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(ex.ToString());
                Console.ReadLine();
            }
        }