示例#1
0
        /// <summary>
        /// Mostra o menu de carregamento de enquete.
        /// </summary>
        private void ShowLoadMenu()
        {
            survey = new Survey();

            Console.Clear();

            Console.WriteLine("CARREGAR UMA ENQUETE");
            Console.WriteLine("--------------------\n");

            while (true)
            {
                // Solicita o caminho onde a enquete está gravada.
                Console.Write("Digite o nome do arquivo da enquete: ");
                string filePath = Console.ReadLine();
                if (!String.IsNullOrEmpty(filePath))
                {
                    try
                    {
                        // Carrega a enquete do arquivo.
                        SurveyIO.LoadFromFile(survey, filePath);
                        surveyFile = filePath;
                        Console.Write("A enquete foi carregada com sucesso! Pressione ENTER para continuar...");
                        Console.ReadLine();
                        break;
                    }
                    catch (IOException e)
                    {
                        Console.WriteLine("Ocorreu um erro ao abrir o arquivo: {0}", e.Message);
                    }
                }
            }
        }
示例#2
0
        /// <summary>
        /// Mostra o menu de votação na enquete.
        /// </summary>
        private void ShowVoteMenu()
        {
            while (true)
            {
                Console.Clear();

                Console.WriteLine("VOTAR");
                Console.WriteLine("-----\n");

                Console.WriteLine("Quantidade de votos: {0}\n", survey.VoteCount);

                Console.WriteLine(survey.GetFormattedSurvey());
                Console.Write("Escolha uma opção => ");

                Option option;
                string vote;

                // Solicita o voto.
                bool valid = survey.Vote(out option, out vote);

                if (valid)
                {
                    Console.Write("Obrigado pelo seu voto! Deseja continuar votando? (S/N): ");
                    string yn = Console.ReadLine();

                    if (yn != "S" && yn != "s")
                    {
                        break;
                    }
                }
            }

            // Ao final da votação, salva a enquete no arquivo associado.
            SurveyIO.SaveToFile(survey, surveyFile);

            Console.Write("Fim da votação. Pressione ENTER para continuar...");
            Console.ReadLine();
        }
示例#3
0
        /// <summary>
        /// Mostra o menu de criar enquete.
        /// </summary>
        private void ShowCreateMenu()
        {
            survey     = new Survey();
            surveyFile = null;

            Console.Clear();

            Console.WriteLine("CRIAR UMA NOVA ENQUETE");
            Console.WriteLine("----------------------\n");

            while (true)
            {
                // Solicita a pergunta da enquete.
                Console.Write("Pergunta: ");
                string question = Console.ReadLine();
                if (!String.IsNullOrEmpty(question))
                {
                    survey.Question = question;
                    break;
                }
            }

            int numOptions;

            while (true)
            {
                // Solicita o número de opções.
                Console.Write("Quantas opções a pergunta vai ter? ");

                try
                {
                    numOptions = int.Parse(Console.ReadLine());
                    break;
                }
                catch (FormatException)
                {
                }
            }

            // Solicita cada uma das opções (ID e texto).
            for (int i = 0; i < numOptions; i++)
            {
                string id;
                string text;

                while (true)
                {
                    Console.Write("ID da opção {0}: ", i + 1);
                    id = Console.ReadLine();
                    if (!String.IsNullOrEmpty(id))
                    {
                        break;
                    }
                }

                while (true)
                {
                    Console.Write("Texto da opção {0}: ", i + 1);
                    text = Console.ReadLine();
                    if (!String.IsNullOrEmpty(text))
                    {
                        break;
                    }
                }

                // Adiciona a opção à enquete.
                survey.SetOption(id, text);
            }

            // Mostra a enquete.
            Console.WriteLine("Opções adicionadas com sucesso! Veja a enquete:\n");
            Console.WriteLine(survey.GetFormattedSurvey());

            while (true)
            {
                // Solicita um arquivo para gravação da nova enquete.
                Console.Write("Digite o caminho do arquivo para salvar a enquete: ");
                string filePath = Console.ReadLine();

                if (!String.IsNullOrWhiteSpace(filePath))
                {
                    try
                    {
                        // Salva a enquete no arquivo.
                        SurveyIO.SaveToFile(survey, filePath);
                        surveyFile = filePath;
                        break;
                    }
                    catch (IOException e)
                    {
                        Console.WriteLine("Ocorreu um erro ao salvar o arquivo: {0}", e.Message);
                    }
                }
            }

            Console.WriteLine("Enquete salva em \"{0}\". Pressione ENTER para continuar...", surveyFile);
            Console.ReadLine();
        }