public static void CriarShow(Movie4ALL movie4ALL) { MenuGeral.ColorUser("admin"); System.Console.WriteLine("Qual o Tipo de show? Filme, Serie, Documentario"); var tiposhow = Console.ReadLine(); if (tiposhow.ToLower() == "filme") { var filme = new Filme(); filme.CriaShow(); movie4ALL.Shows.Add(filme); filme.IdShow = movie4ALL.Shows.LastIndexOf(filme); } else if (tiposhow.ToLower() == "serie") { var serie = new Serie(); serie.CriaShow(); movie4ALL.Shows.Add(serie); serie.IdShow = movie4ALL.Shows.LastIndexOf(serie); } else if (tiposhow.ToLower() == "documentario") { var documentario = new Documentario(); documentario.CriaShow(); movie4ALL.Shows.Add(documentario); documentario.IdShow = movie4ALL.Shows.LastIndexOf(documentario); } else { Console.WriteLine("Tipo de show inexistente"); } }
public static void MenuAdministrador(Movie4ALL movie4ALL) { MenuGeral.ColorUser("admin"); Console.WriteLine("Escolha uma opção:"); Console.WriteLine("1. Criar/Alterar Informação de Shows"); Console.WriteLine("2. Criar/Alterar Informação de Atores"); Console.WriteLine("3. Alterar Informação de Preço"); string opcaoAdmin = Console.ReadLine(); switch (opcaoAdmin) { case "1": MenusAdminShow.MenuAlterarShow(movie4ALL); break; case "2": MenuAdminAtor.MenuAlterarAtor(movie4ALL); break; case "3": MenuAdminPreco.AlterarInfoPreco(movie4ALL); break; default: Console.WriteLine("Opção Inexistente"); Thread.Sleep(500); MenuAdministrador(movie4ALL); break; } }
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 MenuAlterarAtor(Movie4ALL movie4ALL) { Menu.MenuGeral.ColorUser("admin"); Console.WriteLine("Escolha uma opção:"); Console.WriteLine("1. Criar Ator"); Console.WriteLine("2. Atribuir Ator a Show"); Console.WriteLine("3. Apagar Ator de Show"); Console.WriteLine("4. Mostrar Atores"); string opcaoAdmin = Console.ReadLine(); switch (opcaoAdmin) { case "1": CriarAtor(movie4ALL); break; case "2": AtribuirAtor(movie4ALL); break; case "3": ApagarAtor(movie4ALL); break; case "4": MostrarAtores(movie4ALL.ListaAtoresGeral); break; } }
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 IntegraListaShows(Movie4ALL movie4ALL, string moviesCsv) { if (ConvertShow(moviesCsv) == null) { Console.WriteLine("Escolha outra opção."); return; } movie4ALL.Shows.AddRange(ConvertShow(moviesCsv)); movie4ALL.Shows.ForEach(s => s.IdShow = movie4ALL.Shows.LastIndexOf(s)); }
public static void CriarAtor(Movie4ALL movie4ALL) { MenuGeral.ColorUser("admin"); var ator = new Ator(); Console.WriteLine("Qual o Nome do Ator?"); ator.Nome = Console.ReadLine(); Console.WriteLine("Qual o Género do Ator? (M/F)"); ator.Genero = Console.ReadLine(); Console.WriteLine("Qual o Nickname do Ator?"); ator.Nickname = Console.ReadLine(); movie4ALL.ListaAtoresGeral.Add(ator); }
public static void IncializaMenu(Movie4ALL movie4ALL) { Console.BackgroundColor = ConsoleColor.Red; Console.WriteLine("Bem Vindo ao Movie4All!"); Console.ResetColor(); Console.WriteLine(); Console.WriteLine("Escolha uma opção"); Console.WriteLine("1. Novo Utilizador - Registar"); Console.WriteLine("2. Utilizador existente - Login"); string opcao; opcao = Console.ReadLine(); OpcaoUtiliz(opcao, movie4ALL); }
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 ApagarAtor(Movie4ALL movie4ALL) { MenuGeral.ColorUser("admin"); var ator = ConsultaAtor(movie4ALL.ListaAtoresGeral); if (ator == null) { Console.WriteLine("Ator inexistente, volte ao menu"); return; } var showly = MenuGeral.ConsultaShow(movie4ALL.Shows); if (showly == null) { Console.WriteLine("Filme inexistente, volte ao menu"); return; } showly.ListaAtores.Remove(ator); }
public static void AlterarInfoPreco(Movie4ALL movie4ALL) { MenuGeral.ColorUser("admin"); var preco = new Precario(); do { Console.WriteLine("De que tipo de Show quer alterar o preço? \"Serie\"\\\"Filme\"\\\"Documentario\""); preco.TipoShow = Console.ReadLine(); if (!(preco.TipoShow.ToLower() == "serie" || preco.TipoShow.ToLower() == "filme" || preco.TipoShow.ToLower() == "documentario")) { Console.WriteLine("Tipo de Show Inexistente"); } } while (!(preco.TipoShow.ToLower() == "serie" || preco.TipoShow.ToLower() == "filme" || preco.TipoShow.ToLower() == "documentario")); Console.WriteLine("Qual o preço? e por quantos dias? (Separado de Enter)"); bool erro = true; do { try { preco.Preco = decimal.Parse(Console.ReadLine()); erro = false; } catch (FormatException) { Console.WriteLine("Erro de formato, repita o número"); } } while (erro); preco.PeriodoDias = MenuGeral.CheckNum(); preco.DataInicio = DateTime.Now; if (movie4ALL.Precos.FirstOrDefault(e => e.TipoShow == preco.TipoShow) != null) { movie4ALL.Precos.LastOrDefault(e => e.TipoShow == preco.TipoShow).DataFim = DateTime.Now; } preco.DataFim = DateTime.MaxValue; movie4ALL.Precos.Add(preco); preco.IdPreco = movie4ALL.Precos.LastIndexOf(preco); }
private static void OpcaoUtiliz(string opcao, Movie4ALL movie4ALL) { Console.Clear(); Console.BackgroundColor = ConsoleColor.Red; Console.WriteLine("Bem Vindo ao Movie4All!"); Console.ResetColor(); Console.WriteLine(); switch (opcao) { case "1": string[] word; string user, user1; Console.WriteLine("Escolha um username"); do { user = Console.ReadLine(); Console.WriteLine("......"); Thread.Sleep(1500); if (movie4ALL.UtilizadorComums.Exists(u => u.Id.Contains(user.ToLower()))) { Console.WriteLine("Utilizador já existente, utilize outro username"); } } while (movie4ALL.UtilizadorComums.Exists(u => u.Id.Contains(user.ToLower()))); do { Console.WriteLine("Escreva agora nome, email, NIF e telemovel separados por vírgulas"); user1 = Console.ReadLine(); word = user1.Split(','); } while (word.Length != 4); var utilizador = new UtilizadorComum { Id = user, Nome = word[0], Email = word[1], NumFiscal = CheckNumString(word[2]), Telemovel = CheckNumString(word[3]) }; CriaUtilizador(utilizador, movie4ALL.UtilizadorComums); OpcaoUtiliz("2", movie4ALL); break; case "2": Console.WriteLine("Escreve o seu username"); string utilizadorId = Console.ReadLine(); string sair; if (movie4ALL.UtilizadorComums.Exists(u => u.Id.Contains(utilizadorId.ToLower()))) { do { var utilizadorProv = movie4ALL.UtilizadorComums.FirstOrDefault(e => e.Id == utilizadorId); MenuUtilizador.MenuUtiliz(utilizadorProv, movie4ALL); Console.WriteLine("Deseja Sair? Sim/Nao"); sair = Console.ReadLine(); Console.Clear(); } while (sair.ToLower() != "sim"); } else if (utilizadorId == "admin") { do { Menu.MenuAdmin.MenuAdministrador(movie4ALL); Console.WriteLine("Deseja Sair? Sim/Nao"); sair = Console.ReadLine(); Console.Clear(); } while (sair.ToLower() != "sim"); } else { Console.Clear(); Console.WriteLine("Utilizador Não existente"); IncializaMenu(movie4ALL); } break; default: Console.WriteLine("Opção Inválida, Adeus"); IncializaMenu(movie4ALL); break; } }
// 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); }