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