/// <summary>
 /// Compares the sessoes.
 /// </summary>
 /// <param name="sU">The s u.</param>
 /// <param name="sD">The s d.</param>
 /// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
 public static bool CompareSessoes(Sessao sU, Sessao sD)
 {
     return(sU == sD);
 }
        //Uma conferencia pode ter uma pausa. Exemplo começa dia 1 - 12 - 2015 e acaba dia 5 - 12 -2015 no dia 4 pode não haver eventos.

        /*
         *  Todos os ciclos serão aqui colocados
         */

        /// <summary>
        /// Defines the entry point of the application.
        /// </summary>
        /// <param name="args">The arguments.</param>
        static void Main(string[] args)
        {
            #region Vars

            int opcaoMenu    = -1;
            int opcaoSubMenu = -1;


            OrganizadorConferencias organizador  = new OrganizadorConferencias();
            Conferencia             conferencia  = new Conferencia(DateTime.Parse("29-12-2015"), DateTime.Parse("30-12-2015"), "Work");
            Conferencia             conferenciaU = new Conferencia(DateTime.Parse("29-12-2015"), DateTime.Parse("30-12-2015"), "Work1");
            Conferencia             conferenciaI = new Conferencia(DateTime.Parse("29-12-2015"), DateTime.Parse("30-12-2015"), "Work2");
            Conferencia             conferenciaO = new Conferencia(DateTime.Parse("29-12-2015"), DateTime.Parse("30-12-2015"), "Work3");
            Conferencia             conferenciaP = new Conferencia(DateTime.Parse("29-12-2015"), DateTime.Parse("31-12-2015"), "Work4");
            Sessao sessao  = new Sessao(1, DateTime.Parse("30-12-2015"), DateTime.Parse("30-12-2015"));
            Artigo artigo  = new Artigo("Programar");
            Pessoa pessoa  = new Pessoa(34, "Luis", TipoPessoa.autor, 1);
            Pessoa pessoaU = new Pessoa(21, "Parente", TipoPessoa.convidado, 2);
            Pessoa pessoaI = new Pessoa(70, "Patente", TipoPessoa.convidado, 3);
            Pessoa pessoaP = new Pessoa(70, "Patente", TipoPessoa.convidado, 3);

            #endregion

            #region Body

            do
            {
                RecebeOpcaoMenu(out opcaoMenu);

                switch (opcaoMenu)
                {
                    #region 1

                case 1:
                    do
                    {
                        Console.Clear();
                        organizador.EscreveProprio();

                        RecebeOpcaoSubMenu(out opcaoSubMenu);
                    } while (opcaoSubMenu != 0);

                    break;

                    #endregion

                    #region 2

                case 2:
                    do
                    {
                        Console.Clear();
                        conferencia.EscreveProprio();
                        ComoCorreu(organizador.InsereConferenciaoAno(conferencia));
                        ComoCorreu(organizador.InsereConferenciaoAno(conferenciaU));
                        ComoCorreu(organizador.InsereConferenciaoAno(conferenciaI));
                        ComoCorreu(organizador.InsereConferenciaoAno(conferenciaO));
                        ComoCorreu(organizador.InsereConferenciaoAno(conferenciaP));
                        organizador.SeeAllConferencias();


                        RecebeOpcaoSubMenu(out opcaoSubMenu);
                    } while (opcaoSubMenu != 0);

                    break;

                    #endregion

                    #region 3

                case 3:
                    do
                    {
                        Console.Clear();
                        sessao.EscreveProprio();
                        ComoCorreu(conferencia.AddSessoes(sessao));

                        RecebeOpcaoSubMenu(out opcaoSubMenu);
                    } while (opcaoSubMenu != 0);

                    break;

                    #endregion

                    #region 4

                case 4:
                    do
                    {
                        Console.Clear();
                        artigo.EscreveProprio();
                        ComoCorreu(sessao.AddArtigo(artigo));

                        RecebeOpcaoSubMenu(out opcaoSubMenu);
                    } while (opcaoSubMenu != 0);

                    break;

                    #endregion

                    #region 5

                case 5:
                    do
                    {
                        Console.Clear();
                        ComoCorreu(artigo.AddPessoa(pessoa));
                        ComoCorreu(artigo.AddPessoa(pessoaU));
                        ComoCorreu(artigo.AddPessoa(pessoaI));
                        ComoCorreu(artigo.AddPessoa(pessoaP));
                        pessoa.EscreveProprio();

                        RecebeOpcaoSubMenu(out opcaoSubMenu);
                    } while (opcaoSubMenu != 0);

                    break;

                    #endregion

                    #region 0

                case 0:
                    Environment.Exit(0);

                    break;

                    #endregion

                    #region Default

                default:
                    Console.WriteLine("\nNot Found ");

                    break;

                    #endregion
                }
            } while (true);

            #endregion
        }
 /// <summary>
 /// Escreves the sessao.
 /// </summary>
 /// <param name="s">The s.</param>
 public void EscreveSessao(Sessao s)
 {
     Console.WriteLine(s.ToString());
 }