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); }
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 }
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; } }
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; } }
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; } } }
// 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); }