예제 #1
0
            public static void AtribuirAtor(Movie4ALL movie4ALL)
            {
                MostrarAtores(movie4ALL.ListaAtoresGeral);
                var ator = ConsultaAtor(movie4ALL.ListaAtoresGeral);

                if (ator == null)
                {
                    Console.WriteLine("Ator inexistente, volte ao menu");
                    return;
                }
                MenuGeral.MostrarShows("admin", movie4ALL.Shows);
                var showly = MenuGeral.ConsultaShow(movie4ALL.Shows);

                if (showly == null)
                {
                    Console.WriteLine("Filme inexistente, volte ao menu");
                    return;
                }
                if (showly.ListaAtores.Contains(ator))
                {
                    Console.WriteLine("Esse ator já foi atribuído a esse Show");
                    return;
                }
                showly.ListaAtores.Add(ator);
            }
예제 #2
0
        public static void AlugarShow(UtilizadorComum utilizador, Movie4ALL movie4ALL)
        {
            MenuGeral.MostrarShows(utilizador.Id, movie4ALL.Shows);
            var show = MenuGeral.ConsultaShow(movie4ALL.Shows);

            if (show == null)
            {
                Console.WriteLine("Show inexistente");
                return;
            }
            Aluguer aluguer = new Aluguer {
                ShowAlugado = show
            };

            aluguer.Valor   = ConsultaPrecario(movie4ALL.Precos, aluguer).PeriodoDias *ConsultaPrecario(movie4ALL.Precos, aluguer).Preco;
            aluguer.DataFim = DateTime.Now.AddDays(ConsultaPrecario(movie4ALL.Precos, aluguer).PeriodoDias);
            if (show.TipoShow == "serie")
            { //O valor do Aluguer é referente ao valor * período * num episodios
                aluguer.DataFim = DateTime.Now.AddDays(MenuGeral.NumEpisodios(show));
                aluguer.Valor   = aluguer.Valor * MenuGeral.NumEpisodios(show);
            }

            utilizador.Alugueres.Add(aluguer);
            Console.WriteLine($"O Alguer de {aluguer.ShowAlugado.Titulo} expira em {aluguer.DataFim}");
            Console.WriteLine($"Tem um valor de {aluguer.Valor}");
            aluguer.IdAluguer = utilizador.Alugueres.LastIndexOf(aluguer); //Id que é incrementado com o valor do indíce da Lista onde se encontra
        }
예제 #3
0
        public static void MenuUtiliz(UtilizadorComum utilizador, Movie4ALL movie4ALL)
        {
            MenuGeral.ColorUser(utilizador.Id);

            Console.WriteLine("Escolha uma opção:");
            Console.WriteLine("1. Alugar Show");
            Console.WriteLine("2. Avaliar Show");
            Console.WriteLine("3. Gerir Informação de Cartão");
            Console.WriteLine("4. Verificar Histórico de Alugueres");
            Console.WriteLine("5. Verificar Histórico de Avaliações");
            Console.WriteLine("6. Mostrar Shows");
            Console.WriteLine("7. Sair");
            Console.WriteLine();
            string opcaoUtiliz = Console.ReadLine();

            switch (opcaoUtiliz)
            {
            case "1":
                AlugarShow(utilizador, movie4ALL);
                break;

            case "2":
                Avaliar(utilizador, movie4ALL);
                break;

            case "3":
                GerirCartao(utilizador);
                break;

            case "4":
                MostraAlugueres(utilizador);
                break;

            case "5":
                HistoricoAvaliacao(utilizador);
                break;

            case "6":
                MenuGeral.MostrarShows(utilizador.Id, movie4ALL.Shows);
                break;

            case "7":
                return;
            }
        }
예제 #4
0
            public static void MenuAlterarShow(Movie4ALL movie4ALL)
            {
                MenuGeral.ColorUser("admin");
                Console.WriteLine("Escolha uma opção:");
                Console.WriteLine("1. Criar Show");
                Console.WriteLine("2. Alterar Informação de Show");
                Console.WriteLine("3. Apagar Show");
                Console.WriteLine("4. Mostrar Shows");
                Console.WriteLine("5. Importar Lista Shows");

                string opcaoAdmin = Console.ReadLine();

                switch (opcaoAdmin)
                {
                case "1":
                    CriarShow(movie4ALL);
                    break;

                case "2":
                    AlterarInfoShow(movie4ALL.Shows);
                    break;

                case "3":
                    ApagarShow(movie4ALL.Shows);
                    break;

                case "4":
                    MenuGeral.MostrarShows("admin", movie4ALL.Shows);
                    break;

                case "5":
                    Console.WriteLine("Coloque o ficheiro CSV na pasta Temp e de seguida escreva o nome do ficheiro (inclua o .csv)");
                    string fichCsv = Console.ReadLine();
                    Menu.CSV.IntegraListaShows(movie4ALL, fichCsv);
                    break;

                default:
                    Console.WriteLine("Opção Inexistente");
                    Thread.Sleep(500);
                    MenuAlterarShow(movie4ALL);
                    break;
                }
            }
예제 #5
0
            public static void ApagarShow(List <Show> shows)
            {
                MenuGeral.MostrarShows("admin", shows);
                Console.WriteLine("Qual o Id do show que quer apagar?");
                int showID = MenuGeral.CheckNum();
                var showly = shows.FirstOrDefault(e => e.IdShow == showID);

                if (showly == null)
                {
                    Console.WriteLine("Show não existente");
                    return;
                }

                shows.Remove(showly);
                foreach (Show sh in shows)
                {
                    if (sh.IdShow > showID)
                    {
                        sh.IdShow = sh.IdShow - 1;
                    }
                }
            }
예제 #6
0
        // De acordo com o DER o utilizador pode avaliar qualquer show, independentemente de o ter alugado ou não.
        // Por falta de tempo e devido a ser um detalhe que não está claramente definido, assim ficou.
        public static void Avaliar(UtilizadorComum utilizador, Movie4ALL movie4ALL)
        {
            MenuGeral.MostrarShows(utilizador.Id, movie4ALL.Shows);
            var show = MenuGeral.ConsultaShow(movie4ALL.Shows);

            if (show == null)
            {
                Console.WriteLine("Show inexistente");
                return;
            }
            var avaliacao = new Avaliacao {
                ShowAvaliado = show
            };
            bool avalia1 = true;

            if (UpdateAvaliacao(show, utilizador.ListadeAvaliacao) != null)
            {
                avaliacao = utilizador.ListadeAvaliacao.FirstOrDefault(e => e.ShowAvaliado == show);
                Console.WriteLine("Já existe uma avaliação a este filme, vamos alterá-la? Sim/nao");
                string novaAvaliacao = Console.ReadLine();
                if (novaAvaliacao.ToLower() == "nao")
                {
                    return;
                }
                if (novaAvaliacao.ToLower() == "sim")
                {
                    do
                    {
                        Console.WriteLine($"Em quantas estrelas (0 a 5) avalia {show.Titulo}? ");
                        avaliacao.Stars = MenuGeral.CheckNum();
                        if (avaliacao.Stars > 5 || avaliacao.Stars < 0)
                        {
                            Console.WriteLine("Avaliação fora dos parâmetros");
                            avalia1 = false;
                        }
                    } while (!avalia1);
                    avaliacao.DataUpdate = DateTime.Now;
                    Console.WriteLine($"Insira uma pequena descrição.");
                    avaliacao.Descricao = Console.ReadLine();
                    return;
                }
                else
                {
                    Console.WriteLine("Não percebi a sua opção, presumo que não queira alterar, vamos voltar ao Menu");
                    return;
                }
            }

            do
            {
                Console.WriteLine($"Em quantas estrelas (0 a 5) avalia {show.Titulo}? ");
                avaliacao.Stars = MenuGeral.CheckNum();
                if (avaliacao.Stars > 5 || avaliacao.Stars < 0)
                {
                    Console.WriteLine("Avaliação fora dos parâmetros");
                    avalia1 = false;
                }
            } while (!avalia1);
            avaliacao.DataCriacao = DateTime.Now;
            Console.WriteLine($"Insira uma pequena descrição.");
            avaliacao.Descricao = Console.ReadLine();
            utilizador.ListadeAvaliacao.Add(avaliacao);
        }