Advertisement
Guest User

Untitled

a guest
Apr 9th, 2016
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 44.46 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using static trabalho_APII.estruturas;
  7. using static trabalho_APII.menus;
  8.  
  9. namespace trabalho_APII
  10. {
  11.     public class eventos
  12.     {
  13.         static void Eventos_iniciais(ref List<espetaculos>lista, ref espetaculos desportivos)
  14.         {
  15.             desportivos.tipo.desportivo = true;
  16.             desportivos.tipo.artistico = false;
  17.             desportivos.tipo.conferencia = false;
  18.             desportivos.nome = "BENFICA X SPORTING";
  19.             desportivos.local = "Estadio da luz";
  20.             desportivos.capacidade = 61000;
  21.             desportivos.sessão.bilhete.Dia=desportivos.sessão.bilhete.Dia.AddDays(20).AddMonths(7).AddYears(2015);
  22.             desportivos.sessão.bilhete.hora_inicio=desportivos.sessão.bilhete.hora_inicio.AddHours(21).AddMinutes(15);
  23.             desportivos.sessão.bilhete.hora_fim.AddHours(22);
  24.             desportivos.sessão.bilhete.quantidade_de_bilhetes = desportivos.capacidade;
  25.             lista.Add(desportivos);
  26.         }
  27.         static void users_iniciais(ref admin admin, ref user user)
  28.         {
  29.             admin.username = "Tiago";
  30.             admin.password = 123;
  31.  
  32.             user.username = "Zé";
  33.             user.password = 1415;
  34.         }
  35.         static void Main(string[] args)
  36.         {            
  37.             List<user> users_a = new List<user>();
  38.             List<espetaculos> lista = new List<espetaculos>();
  39.             espetaculos conferencias = new espetaculos();
  40.             espetaculos Desportivos = new espetaculos();
  41.             espetaculos Artisticos = new espetaculos();
  42.             user utilizador = new user();
  43.             admin admin = new admin();
  44.             int b = 0;
  45.             char escolha;
  46.             escolha = '*';
  47.             users_iniciais(ref admin, ref utilizador);
  48.             Eventos_iniciais(ref lista, ref Desportivos);
  49.             Bem_Vindo();
  50.             Console.ForegroundColor = ConsoleColor.Yellow;
  51.             Console.WriteLine("\t\t\t\t\tUtilizador :\n\t\t\t\tA-Administrador\n\t\t\t\tU-Utilizador registado\n\t\t\t\tS-Sem conta\n\t\t\t\tPrima qualquer tecla diferente para sair...");
  52.             char admin_e = Console.ReadKey().KeyChar;
  53.             Console.ResetColor();
  54.            
  55.             switch (admin_e)
  56.             {
  57.                 /*
  58.                 ******************************************************
  59.                 Admin
  60.                 visualização Admin
  61.                 ******************************************************
  62.                 */
  63.                 case 'A':
  64.                 case 'a':
  65.                     Console.Clear();
  66.                     Bem_Vindo();
  67.                     Console.Write("\nPassword: ");
  68.                     int pass = Convert.ToInt32(Console.ReadLine());
  69.                     if (pass == admin.password)
  70.                     {
  71.                         Console.Clear();
  72.                         Bem_Vindo();
  73.                         Console.WriteLine("olá {0}", admin.username);
  74.                         while (escolha != 'S' || escolha != 's')
  75.                         {
  76.                             apresenta_menu();
  77.                             Console.WriteLine();
  78.                             escolha = Console.ReadKey().KeyChar;
  79.                             Console.Clear();
  80.                             switch (escolha)
  81.                             {
  82.                                 case 'R':
  83.                                 case 'r':registar_evento(ref lista, ref conferencias, ref Desportivos, ref Artisticos); break;
  84.                                 case 'V':
  85.                                 case 'v': ver_sessões(lista, Desportivos, conferencias, Artisticos); break;
  86.                                 case 'C':
  87.                                 case 'c':comprar_bilhete(lista, Desportivos, conferencias, Artisticos); break;
  88.                                 case 'S':
  89.                                 case 's': break;
  90.                                 default: Console.WriteLine(" \ncomando invalido, tente outra vez!!"); break;
  91.                             }
  92.                             if (escolha == 's' || escolha == 'S')
  93.                                 break;
  94.                         }
  95.  
  96.                     }
  97.                     else
  98.                     {
  99.                         for (int i = 1; i < 3; i++)
  100.                         {
  101.                             Console.Write("password errada!!\nTente outra vez: ");
  102.                             Console.WriteLine("\n{0} tentativas restantes", 3 - i);
  103.                             pass = Convert.ToInt32(Console.ReadLine());
  104.                             if (pass == admin.password)
  105.                             {
  106.                                 b = 1;
  107.                                 break;
  108.                             }
  109.  
  110.                         }
  111.                         if (b == 1)
  112.                         {
  113.                             Console.Clear();
  114.                             Bem_Vindo();
  115.                             Console.WriteLine("olá {0}", admin.username);
  116.  
  117.                             while (escolha != 'S' || escolha != 's')
  118.                             {
  119.                                 apresenta_menu();
  120.                                 Console.WriteLine();
  121.                                 escolha = Console.ReadKey().KeyChar;
  122.                                 Console.Clear();
  123.                                 switch (escolha)
  124.                                 {
  125.                                     case 'R':
  126.                                     case 'r': registar_evento(ref lista, ref conferencias, ref Desportivos, ref Artisticos); break;
  127.                                     case 'V':
  128.                                     case 'v': ver_sessões(lista, Desportivos, conferencias, Artisticos); break;
  129.                                     case 'C':
  130.                                     case 'c': comprar_bilhete(lista, Desportivos, conferencias, Artisticos); break;
  131.                                     case 'S':
  132.                                     case 's': break;
  133.                                     default: Console.WriteLine(" \ncomando invalido, tente outra vez!!"); break;
  134.                                 }
  135.                                 if (escolha == 's' || escolha == 'S')
  136.                                     break;
  137.                             }
  138.  
  139.                         }
  140.  
  141.                     }
  142.                     break;
  143.                 case 'U':
  144.                 case 'u':
  145.                     /*
  146.                     ***************************************************************
  147.                     utilizador normal*********************************************
  148.                     ***************************************************************
  149.                     */
  150.                     Console.Write("Nome: ");
  151.                     string nome = Console.ReadLine();
  152.                     Console.WriteLine();
  153.                     if (nome == utilizador.username)
  154.                     {
  155.                         Console.Write("Password: ");
  156.                         pass = Convert.ToInt32(Console.ReadLine());
  157.                         if (pass == utilizador.password)
  158.                         {
  159.  
  160.                             Console.Clear();
  161.                             Bem_Vindo();
  162.                             Console.WriteLine("olá {0}", utilizador.username);
  163.                             while (escolha != 'N' || escolha != 'n')
  164.                             {
  165.                                 Console.Clear();
  166.                                 Bem_Vindo();
  167.                                 Console.WriteLine("olá {0}", admin.username);
  168.                                 while (escolha != 'N' || escolha != 'n')
  169.                                 {
  170.                                     apresenta_menu_user_normal();
  171.                                     Console.WriteLine();
  172.                                     escolha = Console.ReadKey().KeyChar;
  173.                                     Console.Clear();
  174.                                     switch (escolha)
  175.                                     {
  176.                                         case 'V':
  177.                                         case 'v': ver_sessões(lista, Desportivos, conferencias, Artisticos); break;
  178.                                         case 'C':
  179.                                         case 'c': comprar_bilhete(lista, Desportivos, conferencias, Artisticos); break;
  180.                                         case 'S':
  181.                                         case 's': break;
  182.                                         default:
  183.                                             Console.WriteLine("opção invalida, tente outra vez!!");
  184.                                             break;
  185.                                     }
  186.                                     if (escolha == 's' || escolha == 'S')
  187.                                         break;
  188.                                 }
  189.                             }
  190.                             if (b == 1)
  191.                             {
  192.                                 Console.Clear();
  193.                                 Bem_Vindo();
  194.                                 Console.WriteLine("olá {0}", utilizador.username);
  195.  
  196.                                 while (escolha != 'S' || escolha != 's')
  197.                                 {
  198.                                     apresenta_menu_user_normal();
  199.                                     Console.WriteLine();
  200.                                     escolha = Console.ReadKey().KeyChar;
  201.                                     Console.Clear();
  202.                                     switch (escolha)
  203.                                     {
  204.                                         case 'V':
  205.                                         case 'v': ver_sessões(lista, Desportivos, conferencias, Artisticos); break;
  206.                                         case 'C':
  207.                                         case 'c': comprar_bilhete(lista, Desportivos, conferencias, Artisticos); break;
  208.                                         case 'S':
  209.                                         case 's': break;
  210.                                         default: Console.WriteLine(" comando invalido, tente outra vez!!"); break;
  211.                                     }
  212.                                     if (escolha == 's' || escolha == 'S')
  213.                                         break;
  214.                                 }
  215.  
  216.                             }
  217.  
  218.                         }
  219.  
  220.                     }
  221.                     else
  222.                     {
  223.                         Console.Write(" utilizador inexistente... ");
  224.                     }
  225.                     break;
  226.                
  227.                 case 'S':
  228.                 case 's':
  229.                     /*
  230.                     **************************************************************
  231.                     Sem conta*****************************************************
  232.                     **************************************************************
  233.                     */
  234.                     Console.Clear();
  235.                     Bem_Vindo();
  236.                     while (escolha != 'S' || escolha != 's')
  237.                     {
  238.                         apresenta_menu_user_sem_conta();
  239.                         Console.WriteLine();
  240.                         escolha = Console.ReadKey().KeyChar;
  241.                         Console.Clear();
  242.                         switch (escolha)
  243.                         {
  244.                             case 'V':
  245.                             case 'v': ver_sessões(lista, Desportivos, conferencias, Artisticos); break;
  246.                             case 'C':
  247.                             case 'c': criar_user(ref users_a, ref utilizador, lista, Desportivos, conferencias, Artisticos); break;
  248.                             case 'S':
  249.                             case 's': break;
  250.                             default: Console.WriteLine(" \ncomando invalido, tente outra vez!!"); break;
  251.                         }
  252.                         if (escolha == 's' || escolha == 'S')
  253.                             break;
  254.                     }
  255.                     break;
  256.                 default: Console.Clear(); break;
  257.             }
  258.             Console.WriteLine();
  259.         }
  260.  
  261.         static void registar_evento(ref List<espetaculos> lista, ref espetaculos desportivos, ref espetaculos artisticos, ref espetaculos conferencias)
  262.         {
  263.             DateTime max;
  264.             max = DateTime.Now;
  265.             Console.WriteLine("***Menu Registo***");
  266.             inicio:
  267.             Console.Write("pretende registar o evento? \nS-Sim\nN-Não");
  268.             char c = Console.ReadKey().KeyChar;
  269.             Console.Clear();
  270.             switch (c)
  271.             {
  272.                 case 'S':
  273.                 case 's':
  274.                    
  275.                         Console.Write("quantos eventos pretende criar? ");
  276.                         int n = Convert.ToInt32(Console.ReadLine());
  277.                     if (n == 0)
  278.                         break;
  279.                         for (int i = 1; i < n + 1; i++)
  280.                         {
  281.                         inicio2:
  282.                             lista.Add(new espetaculos());
  283.                         Console.ForegroundColor = ConsoleColor.Yellow;
  284.                         Console.WriteLine("\t\t\t\t\t**********************************");
  285.                         Console.WriteLine("\t\t\t\t\t*****   tipo de espetaculo   *****");
  286.                         Console.WriteLine("\t\t\t\t\t**********************************");
  287.                         Console.WriteLine("\t\t\t\t\t****  D- Desportivo           ****");
  288.                         Console.WriteLine("\t\t\t\t\t****  A-artistico             ****");
  289.                         Console.WriteLine("\t\t\t\t\t****  C-Conferencias          ****");
  290.                         Console.WriteLine("\t\t\t\t\t****  S- sair (Menu inicial)  ****");
  291.                         Console.WriteLine("\t\t\t\t\t****                          ****");
  292.                         Console.WriteLine("\t\t\t\t\t**********************************");
  293.                         Console.ResetColor();
  294.                         Console.WriteLine();
  295.                         char b = Console.ReadKey().KeyChar;
  296.                            
  297.                             if (b == 'D' || b == 'd')
  298.                             {
  299.                                 desportivos.tipo.desportivo = true;
  300.                             }
  301.                             if (b == 'A' || b == 'a')
  302.                             {
  303.                                 desportivos.tipo.artistico = true;
  304.                             }
  305.                             if (b == 'C' || b == 'c')
  306.                             {
  307.                                 desportivos.tipo.conferencia = true;
  308.                             }
  309.                             //*****************seleção de tipo de eventos************************************
  310.                             switch (b)
  311.                            {
  312.                                 //***********************escolha de eventos*********************
  313.                                 case 'D':
  314.                                 case 'd':
  315.                                 Console.ForegroundColor = ConsoleColor.Yellow;
  316.                                 Console.WriteLine("\t\t\t\t\tS-singular\n\t\t\t\t\tE- Equipas ");
  317.                                 Console.ResetColor();
  318.                                     char a = Console.ReadKey().KeyChar;
  319.                                 switch (a)
  320.                                 {
  321.                                     //***********************eventos desportivos em equipas*********************
  322.                                     case 'E':
  323.                                     case 'e':
  324.                                         Console.Clear();
  325.                                         desportivos.tipo.desportivo = true;
  326.                                         desportivos.tipo.artistico = false;
  327.                                         desportivos.tipo.conferencia = false;
  328.                                         Console.ForegroundColor = ConsoleColor.Yellow;
  329.                                         Console.Write("\nEquipa A: "); Console.ResetColor();
  330.                                         desportivos.participante_A = Console.ReadLine().ToUpper() ; Console.ForegroundColor = ConsoleColor.Yellow;
  331.                                         Console.Write("\nEquipa B: "); Console.ResetColor();
  332.                                         desportivos.participante_B = Console.ReadLine().ToUpper(); Console.ForegroundColor = ConsoleColor.Yellow;
  333.                                         desportivos.nome = (desportivos.participante_A + " X " + desportivos.participante_B);
  334.                                         Console.Write("\nEstadio: "); Console.ResetColor();
  335.                                         desportivos.local = Console.ReadLine(); Console.ForegroundColor = ConsoleColor.Yellow;
  336.                                         Console.Write("\nCapacidade do estádio: "); Console.ResetColor();
  337.                                         desportivos.capacidade = Convert.ToInt32(Console.ReadLine()); Console.ForegroundColor = ConsoleColor.Yellow;
  338.                                         do
  339.                                         {
  340.                                             Console.Write("\nDia (D/M/A): "); Console.ResetColor();
  341.                                             desportivos.sessão.bilhete.Dia = Convert.ToDateTime(Console.ReadLine()); Console.ForegroundColor = ConsoleColor.Yellow;
  342.                                             if (desportivos.sessão.bilhete.Dia < max)
  343.                                             {
  344.                                                 Console.Write("data anterior á atual\nintroduza uma data igual ou superior a {0}/{1}/{2}", max.Day, max.Month, max.Year);
  345.  
  346.                                             }
  347.                                         } while (desportivos.sessão.bilhete.Dia < max);
  348.                                         Console.Write("\nHora de inicio"); Console.ResetColor();
  349.                                         desportivos.sessão.bilhete.hora_inicio = Convert.ToDateTime(Console.ReadLine()); Console.ForegroundColor = ConsoleColor.Yellow;
  350.                                         Console.Write("\nHora do final: "); Console.ResetColor();
  351.                                         desportivos.sessão.bilhete.hora_fim = Convert.ToDateTime(Console.ReadLine()); Console.ForegroundColor = ConsoleColor.Yellow;
  352.                                         desportivos.sessão.bilhete.quantidade_de_bilhetes = desportivos.capacidade;
  353.                                             Console.WriteLine("Evento: {0}", desportivos.nome);
  354.                                             Console.WriteLine("Estadio: {0}", desportivos.local);
  355.                                             Console.Write("Data: {0} ", desportivos.sessão.bilhete.Dia.Day);
  356.                                             Console.Write("/{0}", desportivos.sessão.bilhete.Dia.Month);
  357.                                             Console.Write("/{0}", desportivos.sessão.bilhete.Dia.Year);
  358.                                             Console.WriteLine("\nHora de inicio: {0}", desportivos.sessão.bilhete.hora_inicio.TimeOfDay);
  359.                                             Console.WriteLine("Hora de Fim: {0}", desportivos.sessão.bilhete.hora_fim.TimeOfDay);
  360.                                             lista.Add(desportivos);
  361.                                         Console.WriteLine("Evento Criado!!!"); Console.ResetColor();
  362.                                         Console.Write("Prima qualquer tecla para prosseguir");
  363.                                         char y = Console.ReadKey().KeyChar;
  364.                                             break;
  365.                                         //***********************Desportos Singulares*********************
  366.                                         case 'S':
  367.                                         case 's':
  368.                                         Console.Clear();
  369.                                         Console.ForegroundColor = ConsoleColor.Yellow;
  370.                                         Console.WriteLine("Prova: ");Console.ResetColor();
  371.                                             desportivos.nome = Console.ReadLine().ToUpper(); Console.ForegroundColor = ConsoleColor.Yellow;
  372.                                         Console.WriteLine("Estadio: "); Console.ResetColor();
  373.                                         desportivos.local = Console.ReadLine(); Console.ForegroundColor = ConsoleColor.Yellow;
  374.                                         Console.WriteLine("Capacidade do estádio: "); Console.ResetColor();
  375.                                         desportivos.capacidade = Convert.ToInt32(Console.ReadLine()); Console.ForegroundColor = ConsoleColor.Yellow;
  376.                                         do
  377.                                         {
  378.                                             Console.Write("\nDia (D/M/A): "); Console.ResetColor();
  379.                                             desportivos.sessão.bilhete.Dia = Convert.ToDateTime(Console.ReadLine()); Console.ForegroundColor = ConsoleColor.Yellow;
  380.                                             if (desportivos.sessão.bilhete.Dia < max)
  381.                                             {
  382.                                                 Console.Write("data anterior á atual\nintroduza uma data igual ou superior a {0}/{1}/{2}", max.Day, max.Month, max.Year);
  383.  
  384.                                             }
  385.                                         } while (desportivos.sessão.bilhete.Dia < max);
  386.                                         Console.WriteLine("Hora de inicio"); Console.ResetColor();
  387.                                         desportivos.sessão.bilhete.hora_inicio = Convert.ToDateTime(Console.ReadLine()); Console.ForegroundColor = ConsoleColor.Yellow;
  388.                                         Console.WriteLine("Hora de fim"); Console.ResetColor();
  389.                                         desportivos.sessão.bilhete.hora_fim = Convert.ToDateTime(Console.ReadLine()); Console.ForegroundColor = ConsoleColor.Yellow;
  390.                                        
  391.                                         lista.Add(desportivos);
  392.                                             break;
  393.                                     }
  394.                                     //******************Eventos Artistiscos*******************************                
  395.  
  396.                                     break;
  397.                                 case 'A':
  398.                                 case 'a':
  399.                                 artisticos.tipo.desportivo = false;
  400.                                 artisticos.tipo.artistico = true;
  401.                                 artisticos.tipo.conferencia = false;
  402.                                 Console.ForegroundColor = ConsoleColor.Yellow;
  403.                                 Console.Write("Nome: ");Console.ResetColor();
  404.                                 artisticos.nome = Console.ReadLine(); Console.ForegroundColor = ConsoleColor.Yellow;
  405.                                 Console.Write("local: "); Console.ResetColor();
  406.                                 artisticos.local = Console.ReadLine(); Console.ForegroundColor = ConsoleColor.Yellow;                                
  407.                                 Console.Write("Organizador: ");Console.ResetColor();
  408.                                 artisticos.Organizador = Console.ReadLine(); Console.ForegroundColor = ConsoleColor.Yellow;
  409.                                 Console.Write("Numero de Seções: ");
  410.                                 artisticos.sessão.nmr_de_seções = Convert.ToInt32(Console.ReadLine());
  411.                                 artisticos.sessão.bilhete.numero_da_sessão = 0;
  412.                                 for (int j = 0; j < artisticos.sessão.nmr_de_seções; j++)
  413.                                 {
  414.                                     Console.WriteLine("sessão numero {0}", j+1 );
  415.                                     artisticos.sessão.bilhete.numero_da_sessão = j + 1;
  416.                                     Console.Write("Capacidade: "); Console.ResetColor();
  417.                                     artisticos.capacidade = Convert.ToInt32(Console.ReadLine()); Console.ForegroundColor = ConsoleColor.Yellow;
  418.                                     do
  419.                                     {
  420.                                         Console.Write("\nDia (D/M/A): "); Console.ResetColor();
  421.                                         artisticos.sessão.bilhete.Dia = Convert.ToDateTime(Console.ReadLine()); Console.ForegroundColor = ConsoleColor.Yellow;
  422.                                         if (artisticos.sessão.bilhete.Dia < max)
  423.                                         {
  424.                                             Console.Write("data anterior á atual\nintroduza uma data igual ou superior a {0}/{1}/{2}", max.Day, max.Month, max.Year);
  425.  
  426.                                         }
  427.                                     } while (artisticos.sessão.bilhete.Dia < max);
  428.                                     Console.Write("Hora de inicio: "); Console.ResetColor();
  429.                                     artisticos.sessão.bilhete.hora_inicio = Convert.ToDateTime(Console.ReadLine()); Console.ForegroundColor = ConsoleColor.Yellow;
  430.                                     Console.Write("hora do final: "); Console.ResetColor();
  431.                                     artisticos.sessão.bilhete.hora_fim = Convert.ToDateTime(Console.ReadLine()); Console.ForegroundColor = ConsoleColor.Yellow;
  432.                                     lista.Add(artisticos);
  433.                                 }
  434.                                 Console.Clear();
  435.                                     Console.WriteLine("Evento {0} criado ", artisticos.nome);
  436.                                    
  437.                                     break;
  438.                                 //********************Conferencias*******************
  439.                                 case 'C':
  440.                                 case 'c':
  441.                                 conferencias.tipo.desportivo = false;
  442.                                 conferencias.tipo.artistico = false;
  443.                                 conferencias.tipo.conferencia = true;
  444.                                 Console.Write("Nome: ");
  445.                                     conferencias.nome = Console.ReadLine();
  446.                                     Console.Write("local: ");
  447.                                     conferencias.local = Console.ReadLine();
  448.                                 Console.Write("numero de sessões: ");
  449.                                 conferencias.sessão.nmr_de_seções = Convert.ToInt32(Console.ReadLine());
  450.                                 for (int h = 0; h < conferencias.sessão.nmr_de_seções; h++)
  451.                                 {
  452.                                     Console.Write("sessão nº {0}\n", h + 1);
  453.                                     conferencias.sessão.bilhete.numero_da_sessão = h + 1;
  454.                                     Console.Write("sala: ");
  455.                                     conferencias.sessão_conferencia.sala = Convert.ToInt32(Console.ReadLine());
  456.                                     Console.Write("Capacidade da sala : ");
  457.                                     conferencias.capacidade = Convert.ToInt32(Console.ReadLine());
  458.  
  459.                                     Console.Write("orador: ");
  460.                                     conferencias.sessão_conferencia.orador = Console.ReadLine();
  461.                                     Console.Write("numero de Artigos apresentados na sessão:");
  462.                                     conferencias.sessão_conferencia.artigo_conf.nmr_de_artigos = Convert.ToInt32(Console.ReadLine());
  463.                                     for (int z = 0; z < conferencias.sessão_conferencia.artigo_conf.nmr_de_artigos; z++)
  464.                                     {
  465.                                         Console.Write("Artigo {0}: ",z+1);
  466.                                         conferencias.sessão_conferencia.artigo_conf.titulo = Console.ReadLine();
  467.                                         Console.Write("Tema do artigo: ");
  468.                                         conferencias.sessão_conferencia.artigo_conf.tema = Console.ReadLine();
  469.                                         Console.Write("Autor do artigo: ");
  470.                                         conferencias.sessão_conferencia.artigo_conf.autor = Console.ReadLine();
  471.                                         Console.Write("Data de lançamento do artigo: ");
  472.                                         conferencias.sessão_conferencia.artigo_conf.data_de_lancamento = Convert.ToDateTime(Console.ReadLine());
  473.                                     }
  474.                                     do
  475.                                     {
  476.                                         Console.Write("\nDia (D/M/A): "); Console.ResetColor();
  477.                                         conferencias.sessão_conferencia.bilhete.Dia = Convert.ToDateTime(Console.ReadLine()); Console.ForegroundColor = ConsoleColor.Yellow;
  478.                                         if (conferencias.sessão_conferencia.bilhete.Dia < max)
  479.                                         {
  480.                                             Console.Write("data anterior á atual\nintroduza uma data igual ou superior a {0}/{1}/{2}", max.Day, max.Month, max.Year);
  481.                                         }
  482.                                     } while (conferencias.sessão_conferencia.bilhete.Dia < max);
  483.                                     Console.Write("Hora de inicio: ");
  484.                                     conferencias.sessão_conferencia.bilhete.hora_inicio = Convert.ToDateTime(Console.ReadLine());
  485.                                     Console.Write("hora do final: ");
  486.                                     conferencias.sessão_conferencia.bilhete.hora_fim = Convert.ToDateTime(Console.ReadLine());
  487.                                     Console.Clear();
  488.                                     Console.WriteLine("Evento {0} criado ", conferencias.nome);
  489.                                     lista.Add(conferencias);
  490.                                 }
  491.                                     break;
  492.                                 case 'S':
  493.                                 case 's':
  494.                                 break;
  495.                                 default:Console.Clear(); ; Console.WriteLine("tecla incorreta...\nTente outra vez!!!"); ;goto inicio2; break;
  496.                             }
  497.                         if (b == 's' || b == 'S')
  498.                             break;
  499.                         }
  500.                         break;
  501.                    
  502.                 //************************Caso Não queira registar*****************
  503.                 case 'n':
  504.                 case 'N':
  505.                     Console.Clear();
  506.                     break;
  507.                 default: Console.WriteLine("tecla incorreta...\nTente outra vez!!!");goto inicio; break;
  508.            
  509.             }
  510.             Console.Clear();
  511.         }
  512.  
  513.         static void ver_sessões(List<espetaculos> lista, espetaculos desportivos, espetaculos artisticos, espetaculos conferencias)
  514.         {
  515.             Console.ForegroundColor = ConsoleColor.Yellow;
  516.             char escolha = '*';
  517.             Console.WriteLine("\t\t\t\t\t**************************");
  518.             Console.WriteLine("\t\t\t\t\t*** tipo de espetaculo ***");
  519.             Console.WriteLine("\t\t\t\t\t**************************");
  520.             Console.WriteLine("\t\t\t\t\t***   D- Desportivo   ****");
  521.             Console.WriteLine("\t\t\t\t\t***   A-artistico     ****");
  522.             Console.WriteLine("\t\t\t\t\t***   C-Conferencias  ****");
  523.             Console.WriteLine("\t\t\t\t\t***   S- sair         ****");
  524.             Console.WriteLine("\t\t\t\t\t***                   ****");
  525.             Console.WriteLine("\t\t\t\t\t**************************");
  526.             Console.WriteLine();
  527.             Console.ResetColor();
  528.             escolha = Console.ReadKey().KeyChar;
  529.             mostrar_eventos(lista, escolha);
  530.         }
  531.         static void mostrar_eventos(List<espetaculos> lista, char escolha)
  532.         {
  533.  
  534.             switch (escolha)
  535.             {
  536.                 case 'D':
  537.                 case 'd':
  538.                     foreach (espetaculos desp in lista)
  539.                     {
  540.                         if(desp.nome==null)
  541.                             Console.WriteLine("Não existem eventos desportivos.\n");
  542.  
  543.                        else if (desp.tipo.artistico == false && desp.tipo.desportivo == true && desp.tipo.conferencia == false)
  544.                         {
  545.                             Console.ForegroundColor = ConsoleColor.Yellow;
  546.                             Console.Write("\nNome:       ");Console.ResetColor();                            
  547.                             Console.WriteLine("{0}",desp.nome); Console.ForegroundColor = ConsoleColor.Yellow;
  548.                             Console.Write("Local:      ");Console.ResetColor();
  549.                             Console.WriteLine("{0}", desp.local);Console.ForegroundColor=ConsoleColor.Yellow;
  550.                             Console.Write("Capacidade: "); Console.ResetColor();
  551.                             Console.WriteLine("{0}", desp.capacidade); Console.ForegroundColor = ConsoleColor.Yellow;
  552.                             Console.Write("Data:       "); Console.ResetColor();
  553.                             Console.WriteLine("{0}/{1}/{2}", desp.sessão.bilhete.Dia.Day, desp.sessão.bilhete.Dia.Month, desp.sessão.bilhete.Dia.Year);
  554.                             Console.ForegroundColor = ConsoleColor.Yellow;
  555.                             Console.Write("Hora:       ");Console.ResetColor();
  556.                             Console.WriteLine("{0}", desp.sessão.bilhete.hora_inicio.TimeOfDay);
  557.                         }
  558.  
  559.                     }
  560.                     Console.WriteLine("prima qualquer tecla para prosseguir");
  561.                     char c = Console.ReadKey().KeyChar;
  562.                     Console.Clear();
  563.                         break;
  564.                 case 'A':
  565.                 case 'a':
  566.                     {
  567.                         foreach (espetaculos art in lista)
  568.                         {if (art.nome == null)
  569.                                 Console.WriteLine();
  570.                             if (art.tipo.artistico == true && art.tipo.desportivo==false && art.tipo.conferencia==false)
  571.                             {
  572.                                
  573.                                 Console.ForegroundColor = ConsoleColor.Yellow;
  574.                                 Console.Write("\nNome:       "); Console.ResetColor();
  575.                                 Console.WriteLine("{0}", art.nome); Console.ForegroundColor = ConsoleColor.Yellow;
  576.                                 Console.Write("Local:      "); Console.ResetColor();
  577.                                 Console.WriteLine("{0}", art.local); Console.ForegroundColor = ConsoleColor.Yellow;
  578.                                 Console.Write("Sessão:     "); Console.ResetColor();
  579.                                 Console.WriteLine("{0}", art.sessão.bilhete.numero_da_sessão); Console.ForegroundColor = ConsoleColor.Yellow;
  580.                                 Console.Write("Capacidade: "); Console.ResetColor();
  581.                                 Console.WriteLine("{0}", art.capacidade); Console.ForegroundColor = ConsoleColor.Yellow;
  582.                                 Console.Write("Data:       "); Console.ResetColor();
  583.                                 Console.WriteLine("{0}/{1}/{2}", art.sessão.bilhete.Dia.Day, art.sessão.bilhete.Dia.Month, art.sessão.bilhete.Dia.Year);
  584.                                 Console.ForegroundColor = ConsoleColor.Yellow;
  585.                                 Console.Write("Hora:       "); Console.ResetColor();
  586.                                 Console.WriteLine("{0}", art.sessão.bilhete.hora_inicio.TimeOfDay);
  587.                                 Console.WriteLine();
  588.  
  589.                             }
  590.                         }
  591.                         break;
  592.                     }
  593.                 case 'C':
  594.                 case 'c':
  595.                     {
  596.                         foreach (espetaculos conf in lista)
  597.                         {
  598.                             if (conf.nome == null)
  599.                                 Console.WriteLine();
  600.                             if (conf.tipo.artistico == false && conf.tipo.desportivo == false && conf.tipo.conferencia == true)
  601.                                 Console.ForegroundColor = ConsoleColor.Yellow;
  602.                             Console.Write("\nNome:       "); Console.ResetColor();
  603.                             Console.WriteLine("{0}", conf.nome); Console.ForegroundColor = ConsoleColor.Yellow;
  604.                             Console.Write("Local:      "); Console.ResetColor();
  605.                             Console.WriteLine("{0}", conf.local); Console.ForegroundColor = ConsoleColor.Yellow;
  606.                             Console.Write("Sessão:     "); Console.ResetColor();
  607.                             Console.WriteLine("{0}", conf.sessão.bilhete.numero_da_sessão); Console.ForegroundColor = ConsoleColor.Yellow;
  608.                             Console.Write("Capacidade: "); Console.ResetColor();
  609.                             Console.WriteLine("{0}", conf.capacidade); Console.ForegroundColor = ConsoleColor.Yellow;
  610.                             if(conf.sessão_conferencia.artigo_conf.nmr_de_artigos>1)
  611.                                     foreach (espetaculos artig in lista)
  612.                                     {
  613.                                         Console.Write("Artigo:     "); Console.ResetColor();
  614.                                         Console.WriteLine("{0}", conf.sessão_conferencia.artigo_conf.titulo); Console.ForegroundColor = ConsoleColor.Yellow;
  615.                                         Console.Write("Tema:     "); Console.ResetColor();
  616.                                         Console.WriteLine("{0}", conf.sessão_conferencia.artigo_conf.tema); Console.ForegroundColor = ConsoleColor.Yellow;
  617.                                         Console.Write("Aula:     "); Console.ResetColor();
  618.                                         Console.WriteLine("{0}", conf.sessão_conferencia.artigo_conf.autor); Console.ForegroundColor = ConsoleColor.Yellow;
  619.                                     }
  620.                                
  621.                             Console.Write("Data:       "); Console.ResetColor();
  622.                             Console.WriteLine("{0}/{1}/{2}", conf.sessão.bilhete.Dia.Day, conf.sessão.bilhete.Dia.Month, conf.sessão.bilhete.Dia.Year);
  623.                             Console.ForegroundColor = ConsoleColor.Yellow;
  624.                             Console.Write("Hora:       "); Console.ResetColor();
  625.                             Console.WriteLine("{0}", conf.sessão.bilhete.hora_inicio.TimeOfDay);
  626.                             Console.WriteLine();
  627.                         }
  628.                         break;
  629.                     }
  630.             }      
  631.         }
  632.        
  633.        
  634.  
  635.         static void criar_user(ref List<user> utilizadores, ref user new_user, List<espetaculos> lista, espetaculos desportivos, espetaculos artisticos, espetaculos conferencias)
  636.         {
  637.             Console.WriteLine("\t*** Olá Bem vindo á plataforma de criação de Utilizador***");
  638.  
  639.             Console.Write("Deseja prossegui com a cração do user? \nS-Sim\nN-Não");
  640.             char escolha = Console.ReadKey().KeyChar;
  641.             switch (escolha)
  642.             {
  643.                 case 'S':
  644.                 case 's':
  645.                     bool pass_invalida=true;
  646.                     while (pass_invalida)
  647.                     {
  648.                         Console.Write("\nUsername: ");
  649.                         new_user.username = Console.ReadLine();
  650.                         try
  651.                         {
  652.  
  653.                             Console.Write("\nPassword(apenas com algarismos): ");
  654.                             new_user.password = Convert.ToInt16(Console.ReadLine());
  655.                             pass_invalida = false;
  656.                         }
  657.                         catch (FormatException)
  658.                         {
  659.                             Console.WriteLine("pass invalida");
  660.                         }
  661.                         catch (OverflowException)
  662.                         {
  663.                             Console.WriteLine("pass muito extensa");
  664.                         }
  665.                     }
  666.                         Console.WriteLine("\n\nBem Vindo {0}", new_user.username);
  667.                     Console.Write("prima qualquer tecla para continuar!!!");
  668.                     string a = Console.ReadLine();
  669.                     Console.Clear();
  670.                     char b = '*';
  671.                     Bem_Vindo();
  672.                     Console.WriteLine("olá {0}", new_user.username);
  673.                    
  674.                     while (escolha != 'S' || escolha != 's')
  675.                     {apresenta_menu_user_normal();
  676.                         Console.WriteLine();
  677.                         escolha = Console.ReadKey().KeyChar;
  678.                        
  679.                        
  680.                         Console.Clear();
  681.                         switch (b)
  682.                         {
  683.                             case 'V':
  684.                             case 'v': ver_sessões(lista, desportivos, conferencias, artisticos); break;
  685.                             case 'C':
  686.                             case 'c': comprar_bilhete(lista, desportivos, conferencias, artisticos); break;
  687.                             case 'S':
  688.                             case 's': break;
  689.                             default:
  690.                                 Console.WriteLine("opção invalida, tente outra vez!!");
  691.                                 break;
  692.                         }
  693.                         if (escolha == 's' || escolha == 'S')
  694.                             break;
  695.                     }
  696.                     break;
  697.                 case 'N':
  698.                 case 'n': break;
  699.             }
  700.         }
  701.         static void comprar_bilhete(List<espetaculos>eventos,espetaculos desportivos,espetaculos artisticos, espetaculos conferencias)
  702.         {
  703.             int b = 0;
  704.             Console.ForegroundColor = ConsoleColor.Yellow;
  705.             Console.Write("deseja comprar bilhetes para que tipo de espetaculo?  \nD-Desportivo\nA-Artistico\nC-Conferencia\n");
  706.             Console.ResetColor();
  707.             char compra = Console.ReadKey().KeyChar;
  708.             switch (compra)
  709.             {
  710.                 case 'D':
  711.                 case 'd':
  712.                    
  713.                    
  714.                     foreach (espetaculos desp in eventos )
  715.                     {
  716.                         Console.ForegroundColor = ConsoleColor.Yellow;
  717.                         Console.Write("\nNome:       "); Console.ResetColor();
  718.                         Console.WriteLine("{0}", desp.nome); Console.ForegroundColor = ConsoleColor.Yellow;
  719.                         Console.Write("Local:      "); Console.ResetColor();
  720.                         Console.WriteLine("{0}", desp.local); Console.ForegroundColor = ConsoleColor.Yellow;
  721.                         Console.Write("Capacidade: "); Console.ResetColor();
  722.                         Console.WriteLine("{0}", desp.capacidade); Console.ForegroundColor = ConsoleColor.Yellow;
  723.                         Console.Write("Data:       "); Console.ResetColor();
  724.                         Console.WriteLine("{0}/{1}/{2}", desp.sessão.bilhete.Dia.Day, desp.sessão.bilhete.Dia.Month, desp.sessão.bilhete.Dia.Year);
  725.                         Console.ForegroundColor = ConsoleColor.Yellow;
  726.                         Console.Write("Hora:       "); Console.ResetColor();
  727.                         Console.WriteLine("{0}", desp.sessão.bilhete.hora_inicio.TimeOfDay);
  728.                     }
  729.                     Console.WriteLine("indque o nome do evento que deseja comprar o bilhete: ");
  730.                     string a = Console.ReadLine();
  731.                     for (int i = 0; i < eventos.Count; i++)
  732.                     {if (a == desportivos.nome)
  733.                         {
  734.                             desportivos.sessão.bilhete.quantidade_de_bilhetes -= 1;
  735.                             Console.WriteLine("Bilhete nº {0}adiquirido com sucesso", desportivos.sessão.bilhete.quantidade_de_bilhetes - desportivos.sessão.bilhete.quantidade_de_bilhetes + 1);
  736.                             b = 1;
  737.                         }
  738.                         else
  739.                             Console.WriteLine("Evento Inexistente");
  740.                     }
  741.                     if(b==1)
  742.                         desportivos.sessão.bilhete.quantidade_de_bilhetes -= 1;
  743.                     break;
  744.             }
  745.            
  746.  
  747.              
  748.         }
  749.     }
  750. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement