Advertisement
Guest User

Untitled

a guest
Apr 10th, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 53.81 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.Clear();
  445.                                 Console.ForegroundColor = ConsoleColor.Yellow;
  446.                                 Console.Write("Nome: "); Console.ResetColor();
  447.                                 conferencias.nome = Console.ReadLine();
  448.                                 Console.ForegroundColor = ConsoleColor.Yellow;
  449.  
  450.                                 Console.Write("local: "); Console.ResetColor();
  451.                                 conferencias.local = Console.ReadLine();
  452.                                 Console.ForegroundColor = ConsoleColor.Yellow;
  453.  
  454.                                 Console.Write("numero de sessões: "); Console.ResetColor();
  455.                                 conferencias.sessão.nmr_de_seções = Convert.ToInt32(Console.ReadLine());
  456.                                 Console.ForegroundColor = ConsoleColor.Yellow;
  457.  
  458.                                 for (int h = 0; h < conferencias.sessão.nmr_de_seções; h++)
  459.                                 {
  460.                                     Console.Write("sessão nº {0}\n", h + 1); Console.ResetColor();
  461.                                     conferencias.sessão.bilhete.numero_da_sessão = h + 1;
  462.                                     Console.Write("sala: "); Console.ResetColor();
  463.                                     conferencias.sessão.sala = Convert.ToInt32(Console.ReadLine());
  464.                                     Console.ForegroundColor = ConsoleColor.Yellow;
  465.  
  466.                                     Console.Write("Capacidade da sala : "); Console.ResetColor();
  467.                                     conferencias.capacidade = Convert.ToInt32(Console.ReadLine());
  468.                                     Console.ForegroundColor = ConsoleColor.Yellow;
  469.                                     Console.Write("orador: "); Console.ResetColor();
  470.                                     conferencias.sessão.orador = Console.ReadLine();
  471.                                     Console.ForegroundColor = ConsoleColor.Yellow;
  472.                                     Console.Write("numero de Artigos apresentados na sessão:"); Console.ResetColor();
  473.                                     conferencias.sessão.artigo_conf.nmr_de_artigos = Convert.ToInt32(Console.ReadLine());
  474.                                     Console.ForegroundColor = ConsoleColor.Yellow;
  475.                                     for (int z = 0; z < conferencias.sessão.artigo_conf.nmr_de_artigos; z++)
  476.                                     {
  477.                                         Console.ForegroundColor = ConsoleColor.Yellow;
  478.                                         Console.Write("Artigo {0}: ", z + 1); Console.ResetColor();
  479.                                         conferencias.sessão.artigo_conf.titulo = Console.ReadLine();
  480.                                         Console.ForegroundColor = ConsoleColor.Yellow;
  481.                                         Console.Write("Tema do artigo: "); Console.ResetColor();
  482.                                         conferencias.sessão.artigo_conf.tema = Console.ReadLine();
  483.                                         Console.ForegroundColor = ConsoleColor.Yellow;
  484.                                         Console.Write("Autor do artigo: "); Console.ResetColor();
  485.                                         conferencias.sessão.artigo_conf.autor = Console.ReadLine();
  486.                                         Console.ForegroundColor = ConsoleColor.Yellow;
  487.                                         do
  488.                                         {
  489.                                             Console.Write("Data de lançamento do artigo: "); Console.ResetColor();
  490.                                             conferencias.sessão.artigo_conf.data_de_lancamento = Convert.ToDateTime(Console.ReadLine());
  491.                                             Console.ForegroundColor = ConsoleColor.Yellow;
  492.                                             if (conferencias.sessão.artigo_conf.data_de_lancamento > max)
  493.                                             {
  494.                                                 Console.Write("data anterior á atual\nintroduza uma data inferior a {0}/{1}/{2}", max.Day, max.Month, max.Year);
  495.                                             }
  496.                                         } while (conferencias.sessão.bilhete.Dia > max);
  497.  
  498.                                     }
  499.                                     do
  500.                                     {
  501.                                         Console.ForegroundColor = ConsoleColor.Yellow;
  502.                                         Console.Write("\nDia (D/M/A) da sessão {0}: ", h + 1); Console.ResetColor();
  503.                                         conferencias.sessão.bilhete.Dia = Convert.ToDateTime(Console.ReadLine());
  504.                                         Console.ForegroundColor = ConsoleColor.Yellow;
  505.                                         if (conferencias.sessão.bilhete.Dia < max)
  506.                                         {
  507.                                             Console.Write("data anterior á atual\nintroduza uma data igual ou superior a {0}/{1}/{2}", max.Day, max.Month, max.Year);
  508.                                         }
  509.                                     } while (conferencias.sessão.bilhete.Dia < max);
  510.                                     Console.Write("Hora de inicio: "); Console.ResetColor();
  511.                                     conferencias.sessão.bilhete.hora_inicio = Convert.ToDateTime(Console.ReadLine());
  512.                                     Console.ForegroundColor = ConsoleColor.Yellow;
  513.                                     Console.Write("hora do final: "); Console.ResetColor();
  514.                                     conferencias.sessão.bilhete.hora_fim = Convert.ToDateTime(Console.ReadLine());
  515.                                     Console.ForegroundColor = ConsoleColor.Yellow;
  516.                                     Console.Clear();
  517.                                     Console.WriteLine("Evento {0} criado ", conferencias.nome);
  518.                                     lista.Add(conferencias);
  519.                                 }
  520.                                 break;
  521.                             case 'S':
  522.                             case 's':
  523.                                 break;
  524.                             default: Console.Clear(); ; Console.WriteLine("tecla incorreta...\nTente outra vez!!!"); ; goto inicio2; break;
  525.                         }
  526.                         if (b == 's' || b == 'S')
  527.                             break;
  528.                     }
  529.                     break;
  530.  
  531.                 //************************Caso Não queira registar*****************
  532.                 case 'n':
  533.                 case 'N':
  534.                     Console.Clear();
  535.                     break;
  536.                 default: Console.WriteLine("tecla incorreta...\nTente outra vez!!!"); goto inicio; break;
  537.  
  538.             }
  539.             Console.Clear();
  540.         }
  541.  
  542.         static void ver_sessões(List<espetaculos> lista, espetaculos desportivos, espetaculos artisticos, espetaculos conferencias)
  543.         {
  544.             Console.ForegroundColor = ConsoleColor.Yellow;
  545.             char escolha = '*';
  546.             Console.WriteLine("\t\t\t\t\t**************************");
  547.             Console.WriteLine("\t\t\t\t\t*** tipo de espetaculo ***");
  548.             Console.WriteLine("\t\t\t\t\t**************************");
  549.             Console.WriteLine("\t\t\t\t\t***   D- Desportivo   ****");
  550.             Console.WriteLine("\t\t\t\t\t***   A-artistico     ****");
  551.             Console.WriteLine("\t\t\t\t\t***   C-Conferencias  ****");
  552.             Console.WriteLine("\t\t\t\t\t***   S- sair         ****");
  553.             Console.WriteLine("\t\t\t\t\t***                   ****");
  554.             Console.WriteLine("\t\t\t\t\t**************************");
  555.             Console.WriteLine();
  556.             Console.ResetColor();
  557.             escolha = Console.ReadKey().KeyChar;
  558.             mostrar_eventos(lista, escolha);
  559.         }
  560.         static void mostrar_eventos(List<espetaculos> lista, char escolha)
  561.         {
  562.             char c = '*';
  563.             switch (escolha)
  564.             {
  565.                 case 'D':
  566.                 case 'd':
  567.                     foreach (espetaculos desp in lista)
  568.                     {
  569.                         if (desp.nome == null)
  570.                             Console.WriteLine("Não existem eventos desportivos.\n");
  571.  
  572.                         else if (desp.tipo.artistico == false && desp.tipo.desportivo == true && desp.tipo.conferencia == false)
  573.                         {
  574.                             Console.ForegroundColor = ConsoleColor.Yellow;
  575.                             Console.Write("\nNome:       "); Console.ResetColor();
  576.                             Console.WriteLine("{0}", desp.nome); Console.ForegroundColor = ConsoleColor.Yellow;
  577.                             Console.Write("Local:      "); Console.ResetColor();
  578.                             Console.WriteLine("{0}", desp.local); Console.ForegroundColor = ConsoleColor.Yellow;
  579.                             Console.Write("Capacidade: "); Console.ResetColor();
  580.                             Console.WriteLine("{0}", desp.capacidade); Console.ForegroundColor = ConsoleColor.Yellow;
  581.                             Console.Write("Data:       "); Console.ResetColor();
  582.                             Console.WriteLine("{0}/{1}/{2}", desp.sessão.bilhete.Dia.Day, desp.sessão.bilhete.Dia.Month, desp.sessão.bilhete.Dia.Year);
  583.                             Console.ForegroundColor = ConsoleColor.Yellow;
  584.                             Console.Write("Hora:       "); Console.ResetColor();
  585.                             Console.WriteLine("{0}", desp.sessão.bilhete.hora_inicio.TimeOfDay);
  586.                         }
  587.  
  588.                     }
  589.                     Console.WriteLine("prima qualquer tecla para prosseguir");
  590.                     c = Console.ReadKey().KeyChar;
  591.                     Console.Clear();
  592.                     break;
  593.                 case 'A':
  594.                 case 'a':
  595.                     {
  596.                         foreach (espetaculos art in lista)
  597.                         {
  598.                             if (art.tipo.artistico == true && art.tipo.desportivo == false && art.tipo.conferencia == false)
  599.                             {
  600.                                 Console.ForegroundColor = ConsoleColor.Yellow;
  601.                                 Console.Write("\nNome:       "); Console.ResetColor();
  602.                                 Console.WriteLine("{0}", art.nome); Console.ForegroundColor = ConsoleColor.Yellow;
  603.                                 Console.Write("Local:      "); Console.ResetColor();
  604.                                 Console.WriteLine("{0}", art.local); Console.ForegroundColor = ConsoleColor.Yellow;
  605.                                 Console.Write("Sessão:     "); Console.ResetColor();
  606.                                 Console.WriteLine("{0}", art.sessão.bilhete.numero_da_sessão); Console.ForegroundColor = ConsoleColor.Yellow;
  607.                                 Console.Write("Capacidade: "); Console.ResetColor();
  608.                                 Console.WriteLine("{0}", art.capacidade); Console.ForegroundColor = ConsoleColor.Yellow;
  609.                                 Console.Write("Data:       "); Console.ResetColor();
  610.                                 Console.WriteLine("{0}/{1}/{2}", art.sessão.bilhete.Dia.Day, art.sessão.bilhete.Dia.Month, art.sessão.bilhete.Dia.Year);
  611.                                 Console.ForegroundColor = ConsoleColor.Yellow;
  612.                                 Console.Write("Hora:       "); Console.ResetColor();
  613.                                 Console.WriteLine("{0}", art.sessão.bilhete.hora_inicio.TimeOfDay);
  614.                                 Console.WriteLine();
  615.  
  616.                             }
  617.                             else
  618.                                 Console.Write("Não existem Eventos artisticos!!!\n");
  619.                             Console.WriteLine("prima qualquer tecla para prosseguir");
  620.                             c = Console.ReadKey().KeyChar;
  621.                             Console.Clear();
  622.                         }
  623.                         break;
  624.                     }
  625.                 case 'C':
  626.                 case 'c':
  627.                     {
  628.                         foreach (espetaculos conf in lista)
  629.                         {
  630.  
  631.                             if (conf.tipo.artistico == false && conf.tipo.desportivo == false && conf.tipo.conferencia == true)
  632.                             {
  633.                                 Console.ForegroundColor = ConsoleColor.Yellow;
  634.                                 Console.Write("\nNome:       "); Console.ResetColor();
  635.                                 Console.WriteLine("{0}", conf.nome); Console.ForegroundColor = ConsoleColor.Yellow;
  636.                                 Console.Write("Local:      "); Console.ResetColor();
  637.                                 Console.WriteLine("{0}", conf.local); Console.ForegroundColor = ConsoleColor.Yellow;
  638.                                 Console.Write("Sessão:     "); Console.ResetColor();
  639.                                 Console.WriteLine("{0}", conf.sessão.bilhete.numero_da_sessão); Console.ForegroundColor = ConsoleColor.Yellow;
  640.                                 Console.Write("Capacidade: "); Console.ResetColor();
  641.                                 Console.WriteLine("{0}", conf.capacidade); Console.ForegroundColor = ConsoleColor.Yellow;
  642.                                 Console.Write("Sala:       "); Console.ResetColor();
  643.                                 Console.WriteLine("{0}", conf.sessão.sala); Console.ForegroundColor = ConsoleColor.Yellow;
  644.                                 Console.Write("Data:       "); Console.ResetColor();
  645.                                 Console.WriteLine("{0}/{1}/{2}", conf.sessão.bilhete.Dia.Day, conf.sessão.bilhete.Dia.Month, conf.sessão.bilhete.Dia.Year);
  646.                                 Console.ForegroundColor = ConsoleColor.Yellow;
  647.                                 Console.Write("Hora:       "); Console.ResetColor();
  648.                                 Console.WriteLine("{0}", conf.sessão.bilhete.hora_inicio.TimeOfDay);
  649.                                 for (int i = 0; i < conf.sessão.artigo_conf.nmr_de_artigos; i++)
  650.                                 {
  651.                                     Console.Write("artigos {0}", conf.sessão.artigo_conf.titulo[i]);
  652.                                     Console.WriteLine();
  653.                                 }
  654.  
  655.                             }
  656.                             else
  657.                                 Console.Write("Não existem conferencias!!!\n");
  658.                             Console.WriteLine("prima qualquer tecla para prosseguir");
  659.                             c = Console.ReadKey().KeyChar;
  660.                             Console.Clear();
  661.                         }
  662.                         break;
  663.                     }
  664.             }
  665.         }
  666.  
  667.  
  668.  
  669.         static void criar_user(ref List<user> utilizadores, ref user new_user, List<espetaculos> lista, espetaculos desportivos, espetaculos artisticos, espetaculos conferencias)
  670.         {
  671.             Console.WriteLine("\t*** Olá Bem vindo á plataforma de criação de Utilizador***");
  672.  
  673.             Console.Write("Deseja prossegui com a cração do user? \nS-Sim\nN-Não");
  674.             char escolha = Console.ReadKey().KeyChar;
  675.             switch (escolha)
  676.             {
  677.                 case 'S':
  678.                 case 's':
  679.                     bool pass_invalida = true;
  680.                     while (pass_invalida)
  681.                     {
  682.                         Console.Write("\nUsername: ");
  683.                         new_user.username = Console.ReadLine();
  684.                         try
  685.                         {
  686.  
  687.                             Console.Write("\nPassword(apenas com algarismos): ");
  688.                             new_user.password = Convert.ToInt16(Console.ReadLine());
  689.                             pass_invalida = false;
  690.                         }
  691.                         catch (FormatException)
  692.                         {
  693.                             Console.WriteLine("pass invalida");
  694.                         }
  695.                         catch (OverflowException)
  696.                         {
  697.                             Console.WriteLine("pass muito extensa");
  698.                         }
  699.                     }
  700.                     Console.WriteLine("\n\nBem Vindo {0}", new_user.username);
  701.                     Console.Write("prima qualquer tecla para continuar!!!");
  702.                     string a = Console.ReadLine();
  703.                     Console.Clear();
  704.                     char b = '*';
  705.                     Bem_Vindo();
  706.                     Console.WriteLine("olá {0}", new_user.username);
  707.  
  708.                     while (escolha != 'S' || escolha != 's')
  709.                     {
  710.                         apresenta_menu_user_normal();
  711.                         Console.WriteLine();
  712.                         escolha = Console.ReadKey().KeyChar;
  713.  
  714.  
  715.                         Console.Clear();
  716.                         switch (b)
  717.                         {
  718.                             case 'V':
  719.                             case 'v': ver_sessões(lista, desportivos, conferencias, artisticos); break;
  720.                             case 'C':
  721.                             case 'c': comprar_bilhete(lista, desportivos, conferencias, artisticos); break;
  722.                             case 'S':
  723.                             case 's': break;
  724.                             default:
  725.                                 Console.WriteLine("opção invalida, tente outra vez!!");
  726.                                 break;
  727.                         }
  728.                         if (escolha == 's' || escolha == 'S')
  729.                             break;
  730.                     }
  731.                     break;
  732.                 case 'N':
  733.                 case 'n': break;
  734.             }
  735.         }
  736.         static void comprar_bilhete(List<espetaculos> eventos, espetaculos desportivos, espetaculos artisticos, espetaculos conferencias)
  737.         {
  738.             char c = '*';
  739.             int b = 0, n = 0;
  740.             Console.ForegroundColor = ConsoleColor.Yellow;
  741.             Console.Write("deseja comprar bilhetes para que tipo de espetaculo?  \nD-Desportivo\nA-Artistico\nC-Conferencia\n");
  742.             Console.ResetColor();
  743.             char compra = Console.ReadKey().KeyChar;
  744.             switch (compra)
  745.             {
  746.                 case 'D':
  747.                 case 'd':
  748.  
  749.  
  750.                     foreach (espetaculos desp in eventos)
  751.                     {
  752.                         Console.ForegroundColor = ConsoleColor.Yellow;
  753.                         Console.Write("\nNome:       "); Console.ResetColor();
  754.                         Console.WriteLine("{0}", desp.nome); Console.ForegroundColor = ConsoleColor.Yellow;
  755.                         Console.Write("Local:      "); Console.ResetColor();
  756.                         Console.WriteLine("{0}", desp.local); Console.ForegroundColor = ConsoleColor.Yellow;
  757.                         Console.Write("Capacidade: "); Console.ResetColor();
  758.                         Console.WriteLine("{0}", desp.capacidade); Console.ForegroundColor = ConsoleColor.Yellow;
  759.                         Console.Write("Data:       "); Console.ResetColor();
  760.                         Console.WriteLine("{0}/{1}/{2}", desp.sessão.bilhete.Dia.Day, desp.sessão.bilhete.Dia.Month, desp.sessão.bilhete.Dia.Year);
  761.                         Console.ForegroundColor = ConsoleColor.Yellow;
  762.                         Console.Write("Hora:       "); Console.ResetColor();
  763.                         Console.WriteLine("{0}", desp.sessão.bilhete.hora_inicio.TimeOfDay);
  764.  
  765.                         Console.Write(" Preço = 20€");
  766.  
  767.                     }
  768.                     Console.WriteLine("indque o nome do evento que deseja comprar o bilhete: ");
  769.                     string a = Console.ReadLine();
  770.  
  771.                     if (a == desportivos.nome)
  772.                     {
  773.                         do
  774.                         {
  775.                             Console.Write("quantos bilhetes quer  adiquirir?");
  776.                             n = Convert.ToInt32(Console.ReadLine());
  777.                             for (int i = 0; i < eventos.Count; i++)
  778.                             {
  779.                                 desportivos.sessão.bilhete.quantidade_de_bilhetes -= 1;
  780.                                 Console.WriteLine("Bilhete adiquirido com sucesso");
  781.                                 b += 20;
  782.                             }
  783.                         } while (n > desportivos.sessão.bilhete.quantidade_de_bilhetes);
  784.                     }
  785.                     else
  786.                         Console.WriteLine("Evento Inexistente");
  787.                     Console.WriteLine("prima qualquer tecla para prosseguir");
  788.                     c = Console.ReadKey().KeyChar;
  789.                     Console.Clear();
  790.  
  791.  
  792.                     break;
  793.                 case 'A':
  794.                 case 'a':
  795.                     foreach (espetaculos art in eventos)
  796.                     {
  797.                         if (art.tipo.artistico == true && art.tipo.desportivo == false && art.tipo.conferencia == false)
  798.                         {
  799.                             Console.ForegroundColor = ConsoleColor.Yellow;
  800.                             Console.Write("\nNome:       "); Console.ResetColor();
  801.                             Console.WriteLine("{0}", art.nome); Console.ForegroundColor = ConsoleColor.Yellow;
  802.                             Console.Write("Local:      "); Console.ResetColor();
  803.                             Console.WriteLine("{0}", art.local); Console.ForegroundColor = ConsoleColor.Yellow;
  804.                             Console.Write("Sessão:     "); Console.ResetColor();
  805.                             Console.WriteLine("{0}", art.sessão.bilhete.numero_da_sessão); Console.ForegroundColor = ConsoleColor.Yellow;
  806.                             Console.Write("Capacidade: "); Console.ResetColor();
  807.                             Console.WriteLine("{0}", art.capacidade); Console.ForegroundColor = ConsoleColor.Yellow;
  808.                             Console.Write("Data:       "); Console.ResetColor();
  809.                             Console.WriteLine("{0}/{1}/{2}", art.sessão.bilhete.Dia.Day, art.sessão.bilhete.Dia.Month, art.sessão.bilhete.Dia.Year);
  810.                             Console.ForegroundColor = ConsoleColor.Yellow;
  811.                             Console.Write("Hora:       "); Console.ResetColor();
  812.                             Console.WriteLine("{0}", art.sessão.bilhete.hora_inicio.TimeOfDay);
  813.                             Console.WriteLine();
  814.                             Console.WriteLine("preço=15€");
  815.                         }
  816.                     }
  817.                     if (artisticos.nome != null)
  818.                     {
  819.                         Console.WriteLine("indque o nome do evento que deseja comprar o bilhete: ");
  820.                         a = Console.ReadLine();
  821.  
  822.                         if (a == artisticos.nome)
  823.                         {
  824.                             do
  825.                             {
  826.                                 Console.Write("quantos bilhetes quer  adiquirir?");
  827.                                 n = Convert.ToInt32(Console.ReadLine());
  828.                                 for (int i = 0; i < eventos.Count; i++)
  829.                                 {
  830.                                     desportivos.sessão.bilhete.quantidade_de_bilhetes -= 1;
  831.                                     Console.WriteLine("Bilhete adiquirido com sucesso");
  832.                                     b += 15;
  833.                                 }
  834.                             } while (n > desportivos.sessão.bilhete.quantidade_de_bilhetes);
  835.                         }
  836.                         else
  837.                             Console.WriteLine("Evento Inexistente");
  838.                         Console.WriteLine("prima qualquer tecla para prosseguir");
  839.                         c = Console.ReadKey().KeyChar;
  840.                         Console.Clear();
  841.                     }
  842.  
  843.                     else
  844.                         Console.Write("não existem eventos artisticos criados !!!");
  845.                     Console.WriteLine("prima qualquer tecla para prosseguir");
  846.                     c = Console.ReadKey().KeyChar;
  847.                     Console.Clear();
  848.                     break;
  849.  
  850.  
  851.                 case 'C':
  852.                 case 'c':
  853.                     {
  854.                         foreach (espetaculos conf in eventos)
  855.                         {
  856.  
  857.                             if (conf.tipo.artistico == false && conf.tipo.desportivo == false && conf.tipo.conferencia == true)
  858.                             {
  859.                                 Console.ForegroundColor = ConsoleColor.Yellow;
  860.                                 Console.Write("\nNome:       "); Console.ResetColor();
  861.                                 Console.WriteLine("{0}", conf.nome); Console.ForegroundColor = ConsoleColor.Yellow;
  862.                                 Console.Write("Local:      "); Console.ResetColor();
  863.                                 Console.WriteLine("{0}", conf.local); Console.ForegroundColor = ConsoleColor.Yellow;
  864.                                 Console.Write("Sessão:     "); Console.ResetColor();
  865.                                 Console.WriteLine("{0}", conf.sessão.bilhete.numero_da_sessão); Console.ForegroundColor = ConsoleColor.Yellow;
  866.                                 Console.Write("Capacidade: "); Console.ResetColor();
  867.                                 Console.WriteLine("{0}", conf.capacidade); Console.ForegroundColor = ConsoleColor.Yellow;
  868.                                 Console.Write("Sala:       "); Console.ResetColor();
  869.                                 Console.WriteLine("{0}", conf.sessão.sala); Console.ForegroundColor = ConsoleColor.Yellow;
  870.                                 Console.Write("Data:       "); Console.ResetColor();
  871.                                 Console.WriteLine("{0}/{1}/{2}", conf.sessão.bilhete.Dia.Day, conf.sessão.bilhete.Dia.Month, conf.sessão.bilhete.Dia.Year);
  872.                                 Console.ForegroundColor = ConsoleColor.Yellow;
  873.                                 Console.Write("Hora:       "); Console.ResetColor();
  874.                                 Console.WriteLine("{0}", conf.sessão.bilhete.hora_inicio.TimeOfDay);
  875.                             }
  876.                             for (int i = 0; i < conf.sessão.artigo_conf.nmr_de_artigos; i++)
  877.                             {
  878.                                 Console.Write("artigos {0}", conf.sessão.artigo_conf.titulo[i]);
  879.                                 Console.WriteLine();
  880.                             }
  881.  
  882.                         }
  883.                         if (conferencias.nome != null)
  884.                         {
  885.                             Console.WriteLine("indque o nome do evento que deseja comprar o bilhete: ");
  886.                             a = Console.ReadLine();
  887.  
  888.                             if (a == artisticos.nome)
  889.                             {
  890.                                 do
  891.                                 {
  892.                                     Console.Write("quantos bilhetes quer  adiquirir?");
  893.                                     n = Convert.ToInt32(Console.ReadLine());
  894.                                     for (int i = 0; i < eventos.Count; i++)
  895.                                     {
  896.                                         desportivos.sessão.bilhete.quantidade_de_bilhetes -= 1;
  897.                                         Console.WriteLine("Bilhete adiquirido com sucesso");
  898.                                         b += 15;
  899.                                     }
  900.                                 } while (n > conferencias.sessão.bilhete.quantidade_de_bilhetes);
  901.                             }
  902.                             else
  903.                                 Console.WriteLine("Evento Inexistente");
  904.                             Console.WriteLine("prima qualquer tecla para prosseguir");
  905.                             c = Console.ReadKey().KeyChar;
  906.                             Console.Clear();
  907.                         }
  908.                         else
  909.                             Console.WriteLine("Evento Inexistente!!!");
  910.                         Console.WriteLine("prima qualquer tecla para prosseguir");
  911.                         c = Console.ReadKey().KeyChar;
  912.                         Console.Clear();
  913.                         break;
  914.  
  915.                     }
  916.             }
  917.         }
  918.     }
  919. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement