Esempio n. 1
0
        /// <summary>
        /// Cabeçalho personalizado de acordo com a opção escolhida
        /// </summary>
        /// <param name="opcao">Opção escolhida pelo usuário</param>
        static void EscreverCabecalho(EOpcaoMenu opcao)
        {
            Console.Clear();
            Console.WriteLine("┌─────┬─────┬─────────────────────────────────┐");
            Console.Write("│ ");
            Console.ForegroundColor = ConsoleColor.DarkYellow;
            Console.Write("DIO");
            Console.ResetColor();
            Console.Write(" │ ");
            Console.ForegroundColor = ConsoleColor.DarkGreen;
            Console.Write("MRV");
            Console.ResetColor();

            if (opcao == EOpcaoMenu.Filmes)
            {
                Console.Write(" │ Seu catálogo de Filmes          ■\n");
            }
            else if (opcao == EOpcaoMenu.Series)
            {
                Console.Write(" │ Seu catálogo de Séries          ■\n");
            }
            else
            {
                Console.Write(" │ Seu catálogo de Filmes e Séries ■\n");
            }

            Console.WriteLine("└─────┴─────┴─────────────────────────────────┘");
            Console.WriteLine();
        }
Esempio n. 2
0
        /// <summary>
        /// Restaurar titulo
        /// </summary>
        /// <param name="opcaoMenu">Filme ou Série</param>
        static void Restaurar(EOpcaoMenu opcaoMenu)
        {
            ExibirTitulo("RESTAURAR", ConsoleColor.DarkGreen);

            //Id
            Console.Write("#Digite o #ID: ");
            string inputID = Console.ReadLine();
            int    idAtual;

            //Tratar possível erro na conversão
            try
            {
                idAtual = int.Parse(inputID);
            }
            catch
            {
                idAtual = ID_INVALIDO;
            }

            if (!ValidarId(opcaoMenu, idAtual))
            {
                return;
            }

            if (opcaoMenu == EOpcaoMenu.Filmes)
            {
                FilmeCollection.Instance.Restore(idAtual);
                ExibirMensagem($"O filme foi adicionado no catálogo. {PRESSIONE_TECLA_MSG}", ConsoleColor.DarkGreen);
            }
            else if (opcaoMenu == EOpcaoMenu.Series)
            {
                SerieCollection.Instance.Restore(idAtual);
                ExibirMensagem($"A série foi adicionada no catálogo. {PRESSIONE_TECLA_MSG}", ConsoleColor.DarkGreen);
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Listagem dos títulos disponíveis
        /// </summary>
        /// <param name="opcaoMenu">Filme ou Série</param>
        static void ListarCatalogo(EOpcaoMenu opcaoMenu, EConsulta opcaoConsulta)
        {
            //Séries
            if (opcaoMenu == EOpcaoMenu.Series)
            {
                var itens = SerieCollection.Instance.ListAll(opcaoConsulta);
                if (itens.Count == 0)
                {
                    ExibirMensagem($"Nenhuma série encontrada. {PRESSIONE_TECLA_MSG}", ConsoleColor.DarkRed);
                }
                else
                {
                    if (opcaoConsulta == EConsulta.Removido)
                    {
                        ExibirTitulo("Removidos", ConsoleColor.DarkRed);
                    }

                    ExibirTitulo("Séries encontradas", ConsoleColor.DarkYellow);

                    foreach (var item in itens)
                    {
                        Console.WriteLine("#ID {0}: {1}", item.Id, item.Titulo);
                    }

                    ExibirMensagem($"Fim da lista. {PRESSIONE_TECLA_MSG}", ConsoleColor.DarkYellow);
                }
            }
            //Filmes
            else if (opcaoMenu == EOpcaoMenu.Filmes)
            {
                var itens = FilmeCollection.Instance.ListAll(opcaoConsulta);
                if (itens.Count == 0)
                {
                    ExibirMensagem($"Nenhum filme encontrado. {PRESSIONE_TECLA_MSG}", ConsoleColor.DarkRed);
                }
                else
                {
                    if (opcaoConsulta == EConsulta.Removido)
                    {
                        ExibirTitulo("Removidos", ConsoleColor.DarkRed);
                    }

                    ExibirTitulo("Filmes encontrados", ConsoleColor.DarkYellow);

                    foreach (var item in itens)
                    {
                        Console.WriteLine("#ID {0}: {1}", item.Id, item.Titulo);
                    }

                    ExibirMensagem($"Fim da lista. {PRESSIONE_TECLA_MSG}", ConsoleColor.DarkYellow);
                }
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Remover titulo do catálogo disponível
        /// </summary>
        /// <param name="opcaoMenu">Filme ou Série</param>
        static void Remover(EOpcaoMenu opcaoMenu)
        {
            ExibirTitulo("REMOVER", ConsoleColor.DarkRed);

            //Id
            Console.Write("Digite o #ID: ");
            string inputID = Console.ReadLine();
            int    idAtual;

            //Tratar possível erro na conversão
            try
            {
                idAtual = int.Parse(inputID);
            }
            catch
            {
                idAtual = ID_INVALIDO;
            }

            if (!ValidarId(opcaoMenu, idAtual))
            {
                return;
            }

            Console.WriteLine();
            Console.Write("Confirma? (S/N) > ");
            string inputConfirma = Console.ReadLine();

            //Se o usuário não confirmar retorna para o menu
            if (!inputConfirma.StartsWith("S", true, null))
            {
                return;
            }

            if (opcaoMenu == EOpcaoMenu.Filmes)
            {
                FilmeCollection.Instance.Delete(idAtual);
                ExibirMensagem("O filme foi removido do catálogo.", ConsoleColor.DarkGreen);
            }
            else if (opcaoMenu == EOpcaoMenu.Series)
            {
                SerieCollection.Instance.Delete(idAtual);
                ExibirMensagem("A série foi removida do catálogo.", ConsoleColor.DarkGreen);
            }
        }
Esempio n. 5
0
        /// <summary>
        /// Visualizar todos os dados do título
        /// </summary>
        /// <param name="opcaoMenu">Filme ou Série</param>
        static void Visualizar(EOpcaoMenu opcaoMenu)
        {
            string detalheDo = opcaoMenu == EOpcaoMenu.Filmes
                ? "do filme"
                : "da série";

            ExibirTitulo($"Detalhes {detalheDo}", ConsoleColor.DarkGreen);

            //Localizar registro
            Console.Write("Digite o #ID: ");
            string inputID = Console.ReadLine();
            int    idAtual;

            //Tratar possível erro na conversão
            try
            {
                idAtual = int.Parse(inputID);
            }
            catch
            {
                idAtual = ID_INVALIDO;
            }

            if (!ValidarId(opcaoMenu, idAtual))
            {
                return;
            }

            if (opcaoMenu == EOpcaoMenu.Filmes)
            {
                string detalhes = FilmeCollection.Instance.SelectById(idAtual).ToString();
                Console.WriteLine();
                Console.WriteLine(detalhes);
            }
            else if (opcaoMenu == EOpcaoMenu.Series)
            {
                string detalhes = SerieCollection.Instance.SelectById(idAtual).ToString();
                Console.WriteLine();
                Console.WriteLine(detalhes);
            }

            ExibirMensagem(PRESSIONE_TECLA_MSG, ConsoleColor.DarkGreen);
        }
Esempio n. 6
0
        /// <summary>
        /// Verifica se o ID informado existe na coleção
        /// </summary>
        /// <param name="opcaoMenu">Filme ou Série</param>
        /// <param name="idAtual">Id digitado pelo usuário</param>
        /// <returns>Verdadeiro se o Id for localizado na coleção, caso contrário retorna falso</returns>
        static bool ValidarId(EOpcaoMenu opcaoMenu, int idAtual)
        {
            //Séries
            if (opcaoMenu == EOpcaoMenu.Series)
            {
                if (!Series.SerieCollection.Instance.Exists(idAtual))
                {
                    ExibirMensagem($"Série não encontrada. {PRESSIONE_TECLA_MSG}", ConsoleColor.DarkRed);
                    return(false);
                }
            }
            //Filmes
            else if (opcaoMenu == EOpcaoMenu.Filmes)
            {
                if (!Series.FilmeCollection.Instance.Exists(idAtual))
                {
                    ExibirMensagem($"Filme não encontrado. {PRESSIONE_TECLA_MSG}", ConsoleColor.DarkRed);
                    return(false);
                }
            }

            return(true);
        }
Esempio n. 7
0
        /// <summary>
        /// Menu Secundário
        /// </summary>
        /// <param name="opcaoMenu"></param>
        static void MenuCatalogo(EOpcaoMenu opcaoMenu)
        {
            EOpcaoCatalogo opcao;

            do
            {
                EscreverCabecalho(opcaoMenu);
                Console.WriteLine("Informe a opção desejada:");
                Console.WriteLine("1 - Listar disponíveis");
                Console.WriteLine("2 - Visualizar detalhes");
                Console.WriteLine("3 - Adicionar");
                Console.WriteLine("4 - Atualizar");
                Console.WriteLine("5 - Remover");
                Console.WriteLine();
                Console.WriteLine("8 - Listar removidos");
                Console.WriteLine("9 - Restaurar removido");

                Console.WriteLine("V - Voltar para menu principal");
                Console.WriteLine();
                Console.Write("> ");

                try
                {
                    opcao = (EOpcaoCatalogo)Console.ReadLine().ToUpper()[0];
                }
                catch (IndexOutOfRangeException)
                {
                    opcao = EOpcaoCatalogo.Invalido;
                }
                finally
                {
                    Console.WriteLine();
                }

                switch (opcao)
                {
                case EOpcaoCatalogo.ListarDisponivel:
                    ListarCatalogo(opcaoMenu, EConsulta.Disponivel);
                    break;

                case EOpcaoCatalogo.Visualizar:
                    Visualizar(opcaoMenu);
                    break;

                case EOpcaoCatalogo.Adicionar:
                    Adicionar(opcaoMenu);
                    break;

                case EOpcaoCatalogo.Atualizar:
                    Atualizar(opcaoMenu);
                    break;

                case EOpcaoCatalogo.ListarRemovido:
                    ListarCatalogo(opcaoMenu, EConsulta.Removido);
                    break;

                case EOpcaoCatalogo.Remover:
                    Remover(opcaoMenu);
                    break;

                case EOpcaoCatalogo.Restaurar:
                    Restaurar(opcaoMenu);
                    break;

                case EOpcaoCatalogo.Voltar:
                    Console.WriteLine("Voltando...");
                    break;

                default:
                    break;
                }
            } while (opcao != EOpcaoCatalogo.Voltar);
        }
Esempio n. 8
0
        /// <summary>
        /// Atualizar um Filme ou Série
        /// </summary>
        /// <param name="opcaoMenu">Filme ou Série</param>
        static void Atualizar(EOpcaoMenu opcaoMenu)
        {
            ExibirTitulo("ATUALIZAR", ConsoleColor.DarkYellow);

            //Localizar registro
            Console.Write("Digite o #ID: ");
            string inputID = Console.ReadLine();
            int    idAtual;

            //Tratar possível erro na conversão
            try
            {
                idAtual = int.Parse(inputID);
            }
            catch
            {
                idAtual = ID_INVALIDO;
            }

            if (!ValidarId(opcaoMenu, idAtual))
            {
                return;
            }

            ExibirMensagem("\t[Instrução]: Tecle <ENTER> para manter os dados atuais", ConsoleColor.Cyan, false);
            Console.WriteLine();
            Console.WriteLine();

            Console.WriteLine(ExibirGeneros());
            Console.WriteLine();
            //Séries
            if (opcaoMenu == EOpcaoMenu.Series)
            {
                //Recupera registro
                var serieAtual = SerieCollection.Instance.SelectById(idAtual);

                //Gênero
                ExibirTexto($"Gênero: {EnumHelper.GetDescription(serieAtual.Genero)}", ConsoleColor.DarkGray);
                Console.Write("Genero Principal: ");
                string inputGenero = Console.ReadLine();
                int    generoId;

                if (String.IsNullOrWhiteSpace(inputGenero))
                {
                    generoId = (int)serieAtual.Genero;
                }
                else
                {
                    int.TryParse(inputGenero, out generoId);
                }

                //Título
                ExibirTexto($"Título: {serieAtual.Titulo}", ConsoleColor.DarkGray);
                Console.Write("Título: ");
                string inputTitulo = Console.ReadLine();

                if (String.IsNullOrWhiteSpace(inputTitulo))
                {
                    inputTitulo = serieAtual.Titulo;
                }

                //Descrição
                ExibirTexto($"Descrição: {serieAtual.Descricao}", ConsoleColor.DarkGray);
                Console.Write("Descrição: ");
                string inputDescricao = Console.ReadLine();

                if (String.IsNullOrWhiteSpace(inputDescricao))
                {
                    inputDescricao = serieAtual.Descricao;
                }

                //Classificação
                ExibirTexto($"Classificação: {serieAtual.Classificacao}", ConsoleColor.DarkGray);
                Console.Write("Classificação (somente números, 0 para todas as idades): ");
                string inputClassificacao = Console.ReadLine();
                int    classificacao;

                if (String.IsNullOrWhiteSpace(inputClassificacao))
                {
                    classificacao = serieAtual.Classificacao;
                }
                else
                {
                    int.TryParse(inputClassificacao, out classificacao);
                }

                //Temporadas
                ExibirTexto($"Temporadas: {serieAtual.Temporadas}", ConsoleColor.DarkGray);
                Console.Write("Temporadas (somente números): ");
                string inputTemporadas = Console.ReadLine();
                int    temporadas;

                if (String.IsNullOrWhiteSpace(inputTemporadas))
                {
                    temporadas = serieAtual.Temporadas;
                }
                else
                {
                    int.TryParse(inputTemporadas, out temporadas);
                }

                Serie novaSerie = new Serie(
                    id: idAtual,
                    genero: (EGeneros)generoId,
                    titulo: inputTitulo,
                    descricao: inputDescricao,
                    classificacao: classificacao,
                    temporadas: temporadas
                    );

                SerieCollection.Instance.Update(idAtual, novaSerie);
            }
            //Filmes
            else if (opcaoMenu == EOpcaoMenu.Filmes)
            {
                //Recupera registro
                var filmeAtual = FilmeCollection.Instance.SelectById(idAtual);

                //Gênero
                ExibirTexto($"Gênero: {filmeAtual.Genero}", ConsoleColor.DarkGray);
                Console.Write("Genero: ");
                string inputGenero = Console.ReadLine();
                int    generoId;

                if (String.IsNullOrWhiteSpace(inputGenero))
                {
                    generoId = (int)filmeAtual.Genero;
                }
                else
                {
                    int.TryParse(inputGenero, out generoId);
                }

                //Título
                ExibirTexto($"Título: {filmeAtual.Titulo}", ConsoleColor.DarkGray);
                Console.Write("Título: ");
                string inputTitulo = Console.ReadLine();

                if (String.IsNullOrWhiteSpace(inputTitulo))
                {
                    inputTitulo = filmeAtual.Titulo;
                }

                //Descrição
                ExibirTexto($"Descrição: {filmeAtual.Descricao}", ConsoleColor.DarkGray);
                Console.Write("Descrição: ");
                string inputDescricao = Console.ReadLine();

                if (String.IsNullOrWhiteSpace(inputDescricao))
                {
                    inputDescricao = filmeAtual.Descricao;
                }

                //Classificação
                ExibirTexto($"Classificação: {filmeAtual.Classificacao}", ConsoleColor.DarkGray);
                Console.Write("Classificação (somente números, 0 para todas as idades): ");
                string inputClassificacao = Console.ReadLine();
                int    classificacao;

                if (String.IsNullOrWhiteSpace(inputClassificacao))
                {
                    classificacao = filmeAtual.Classificacao;
                }
                else
                {
                    int.TryParse(inputClassificacao, out classificacao);
                }

                //Duração
                ExibirTexto($"Duração: {filmeAtual.Duracao}", ConsoleColor.DarkGray);
                Console.Write("Duração (em minutos, somente números): ");
                string inputDuracao = Console.ReadLine();
                int    duracao;

                if (String.IsNullOrWhiteSpace(inputDuracao))
                {
                    duracao = filmeAtual.Duracao;
                }
                else
                {
                    int.TryParse(inputDuracao, out duracao);
                }

                //Elenco
                ExibirTexto($"Elenco: {filmeAtual.Elenco}", ConsoleColor.DarkGray);
                Console.Write("Elenco (separe os nomes por vírgula): ");
                string inputElenco = Console.ReadLine();

                if (String.IsNullOrWhiteSpace(inputElenco))
                {
                    inputElenco = filmeAtual.Elenco;
                }

                Filme novoFilme = new Filme(
                    id: idAtual,
                    genero: (EGeneros)generoId,
                    titulo: inputTitulo,
                    descricao: inputDescricao,
                    classificacao: classificacao,
                    duracao: duracao,
                    elenco: inputElenco
                    );

                FilmeCollection.Instance.Update(idAtual, novoFilme);
            }

            ExibirMensagem($"Registro atualizado. {PRESSIONE_TECLA_MSG}", ConsoleColor.DarkYellow);
        }
Esempio n. 9
0
        /// <summary>
        /// Adicionar um novo título no catalogo
        /// </summary>
        /// <param name="opcaoMenu">Filme ou Serie</param>
        static void Adicionar(EOpcaoMenu opcaoMenu)
        {
            ExibirTitulo("ADICIONAR", ConsoleColor.DarkGreen);

            Console.WriteLine(ExibirGeneros());
            Console.WriteLine();

            //Genero
            Console.Write("Genero Principal: ");
            string inputGenero = Console.ReadLine();

            int generoId;

            int.TryParse(inputGenero, out generoId);

            //Titulo
            Console.Write("Título: ");
            string inputTitulo = Console.ReadLine();

            //Descrição
            Console.Write("Descrição: ");
            string inputDescricao = Console.ReadLine();

            //Classificação
            Console.Write("Classificação (somente números, 0 para todas as idades): ");
            string inputClassificacao = Console.ReadLine();

            int classificacao;

            int.TryParse(inputClassificacao, out classificacao);

            //Series
            if (opcaoMenu == EOpcaoMenu.Series)
            {
                //Temporadas
                Console.Write("Temporadas (somente números): ");
                string inputTemporadas = Console.ReadLine();

                int temporadas;
                int.TryParse(inputTemporadas, out temporadas);

                Serie novaSerie = new Serie(
                    id: SerieCollection.Instance.NextId(),
                    genero: (EGeneros)generoId,
                    titulo: inputTitulo,
                    descricao: inputDescricao,
                    classificacao: classificacao,
                    temporadas: temporadas
                    );

                SerieCollection.Instance.Insert(novaSerie);
            }
            //Filmes
            else if (opcaoMenu == EOpcaoMenu.Filmes)
            {
                //Duração
                Console.Write("Duração (em minutos, somente números): ");
                string inputDuracao = Console.ReadLine();
                int    duracao;
                int.TryParse(inputDuracao, out duracao);

                //Elenco
                Console.Write("Elenco (separe os nomes por vírgula): ");
                string inputElenco = Console.ReadLine();

                Filme novofilme = new Filme(
                    id: FilmeCollection.Instance.NextId(),
                    genero: (EGeneros)generoId,
                    titulo: inputTitulo,
                    descricao: inputDescricao,
                    classificacao: classificacao,
                    duracao: duracao,
                    elenco: inputElenco
                    );

                FilmeCollection.Instance.Insert(novofilme);
            }

            ExibirMensagem($"Registro adicionado. {PRESSIONE_TECLA_MSG}", ConsoleColor.DarkGreen);
        }