Exemplo n.º 1
0
 public static void Add(this ListaDeMatricula lista, Aluno aluno) =>
 lista.Matricular(aluno);
Exemplo n.º 2
0
        public async void Main()
        {
            WriteLine("11. Métodos De Extensão Para Inicializadores De Coleção");

            StreamWriter logAplicacao = new StreamWriter("LogAplicacao.txt");

            try
            {
                await logAplicacao.WriteLineAsync("Aplicação está iniciando...");

                Aluno aluno = new Aluno("Marty", "McFly", new DateTime(1968, 6, 12))
                {
                    Endereco = "9303 Lyon Drive Hill Valley CA",
                    Telefone = "555-4385"
                };

                await logAplicacao.WriteLineAsync($"Aluno {aluno.NomeCompleto} foi criado...");

                WriteLine(aluno.Nome);
                WriteLine(aluno.Sobrenome);

                WriteLine(aluno.NomeCompleto);
                WriteLine("Idade: {0}", aluno.GetIdade());
                WriteLine(aluno.DadosPessoais);

                aluno.AdicionarAvaliacao(new Avaliacao(1, "GEO", 8));
                aluno.AdicionarAvaliacao(new Avaliacao(1, "MAT", 7));
                aluno.AdicionarAvaliacao(new Avaliacao(1, "HIS", 9));

                foreach (var avaliacao in aluno.Avaliacoes)
                {
                    Console.WriteLine(avaliacao);
                }

                ImprimirMelhorNota(aluno);

                Aluno aluno2 = new Aluno("Bart", "Simpson");

                await logAplicacao.WriteLineAsync($"Aluno {aluno2.NomeCompleto} foi criado...");

                ImprimirMelhorNota(aluno2);

                aluno.PropertyChanged += Aluno_PropertyChanged;

                aluno.Endereco = "Rua Vergueiro, 3185";
                aluno.Telefone = "555-1234";

                Aluno aluno3 = new Aluno("Charlie", "Brown");

                await logAplicacao.WriteLineAsync("Aluno Charlie Brown foi criado...");

                ListaDeMatricula listaDeMatricula = new ListaDeMatricula
                {
                    aluno,
                    aluno2,
                    aluno3
                };

                WriteLine("ALUNOS DA LISTA");
                WriteLine("===============");

                foreach (var a in listaDeMatricula)
                {
                    WriteLine(a.DadosPessoais);
                }
            }
            catch (ArgumentException e) when(e.Message.Contains("não informado"))
            {
                string msg = $"Parâmetro {e.ParamName} não foi informado!";
                await logAplicacao.WriteLineAsync(msg);

                WriteLine(msg);
            }
            catch (ArgumentException)
            {
                string msg = "Parâmetro com problema!";
                await logAplicacao.WriteLineAsync(msg);

                WriteLine(msg);
            }
            catch (Exception e)
            {
                await logAplicacao.WriteLineAsync(e.ToString());

                WriteLine(e.ToString());
            }
            finally
            {
                await logAplicacao.WriteLineAsync("Aplicação terminou.");

                logAplicacao.Dispose();
            }
        }
Exemplo n.º 3
0
 private static void ImprimirMelhorNota(Aluno aluno)
 {
     WriteLine("Melhor nota: {0}", aluno?.MelhorAvaliacao?.Nota);
 }
Exemplo n.º 4
0
        public async void Main()
        {
            Console.WriteLine("11. Metodos De Extensão Para Inicializadores De Coleção");

            StreamWriter logger = new StreamWriter("LogDoCurso.txt");

            try
            {
                Aluno marty = new Aluno("Marty", "McFly", new DateTime(1968, 06, 12))
                {
                    Endereco = "9303 Lyon Drive Hill Valley CA",
                    Telefone = "555-4385"
                };

                await logger.WriteLineAsync("Aluno Marty McFly criado");

                Console.WriteLine(marty.Nome);
                Console.WriteLine(marty.Sobrenome);
                Console.WriteLine(marty.DadosPessoais);
                Avaliacao melhorAvaliacao = GetMelhorNota(marty);

                Console.WriteLine("Melhor Nota: {0}", melhorAvaliacao?.Nota);

                marty.AdicionarAvaliacao(new Avaliacao(1, "GEO", 8));
                marty.AdicionarAvaliacao(new Avaliacao(1, "MAT", 6));
                marty.AdicionarAvaliacao(new Avaliacao(1, "HIS", 7));

                melhorAvaliacao = GetMelhorNota(marty);

                Console.WriteLine("Melhor Nota: {0}", melhorAvaliacao?.Nota);

                foreach (var avaliacao in marty.Avaliacoes)
                {
                    Console.WriteLine(avaliacao);
                }

                marty.PropertyChanged += (sender, eventArgs) =>
                {
                    Console.WriteLine($"Propriedade {eventArgs.PropertyName} mudou!");
                };
                marty.Endereco = "novo endereço";
                marty.Telefone = "7777777";

                //Aluno biff = new Aluno("Biff", "");


                ListaDeMatricula alunos = new ListaDeMatricula
                {
                    new Aluno("Lessie", "Crosby"),
                    new Aluno("Vicki", "Petty"),
                    new Aluno("Ofelia", "Hobbs"),
                    new Aluno("Leah", "Kinney"),
                    new Aluno("Alton", "Stoker"),
                    new Aluno("Luella", "Ferrell"),
                    new Aluno("Marcy", "Riggs"),
                    new Aluno("Ida", "Bean"),
                    new Aluno("Ollie", "Cottle"),
                    new Aluno("Tommy", "Broadnax"),
                    new Aluno("Jody", "Yates"),
                    new Aluno("Marguerite", "Dawson"),
                    new Aluno("Francisca", "Barnett"),
                    new Aluno("Arlene", "Velasquez"),
                    new Aluno("Jodi", "Green"),
                    new Aluno("Fran", "Mosley"),
                    new Aluno("Taylor", "Nesmith"),
                    new Aluno("Ernesto", "Greathouse"),
                    new Aluno("Margret", "Albert"),
                    new Aluno("Pansy", "House"),
                    new Aluno("Sharon", "Byrd"),
                    new Aluno("Keith", "Roldan"),
                    new Aluno("Martha", "Miranda"),
                    new Aluno("Kari", "Campos"),
                    new Aluno("Muriel", "Middleton"),
                    new Aluno("Georgette", "Jarvis"),
                    new Aluno("Pam", "Boyle"),
                    new Aluno("Deena", "Travis"),
                    new Aluno("Cary", "Totten"),
                    new Aluno("Althea", "Goodwin")
                };
                //alunos.Matricular(new Aluno("Lessie", "Crosby"));
                //alunos.Matricular(new Aluno("Vicki", "Petty"));
                //alunos.Matricular(new Aluno("Ofelia", "Hobbs"));
                //alunos.Matricular(new Aluno("Leah", "Kinney"));
                //alunos.Matricular(new Aluno("Alton", "Stoker"));
                //alunos.Matricular(new Aluno("Luella", "Ferrell"));
                //alunos.Matricular(new Aluno("Marcy", "Riggs"));
                //alunos.Matricular(new Aluno("Ida", "Bean"));
                //alunos.Matricular(new Aluno("Ollie", "Cottle"));
                //alunos.Matricular(new Aluno("Tommy", "Broadnax"));
                //alunos.Matricular(new Aluno("Jody", "Yates"));
                //alunos.Matricular(new Aluno("Marguerite", "Dawson"));
                //alunos.Matricular(new Aluno("Francisca", "Barnett"));
                //alunos.Matricular(new Aluno("Arlene", "Velasquez"));
                //alunos.Matricular(new Aluno("Jodi", "Green"));
                //alunos.Matricular(new Aluno("Fran", "Mosley"));
                //alunos.Matricular(new Aluno("Taylor", "Nesmith"));
                //alunos.Matricular(new Aluno("Ernesto", "Greathouse"));
                //alunos.Matricular(new Aluno("Margret", "Albert"));
                //alunos.Matricular(new Aluno("Pansy", "House"));
                //alunos.Matricular(new Aluno("Sharon", "Byrd"));
                //alunos.Matricular(new Aluno("Keith", "Roldan"));
                //alunos.Matricular(new Aluno("Martha", "Miranda"));
                //alunos.Matricular(new Aluno("Kari", "Campos"));
                //alunos.Matricular(new Aluno("Muriel", "Middleton"));
                //alunos.Matricular(new Aluno("Georgette", "Jarvis"));
                //alunos.Matricular(new Aluno("Pam", "Boyle"));
                //alunos.Matricular(new Aluno("Deena", "Travis"));
                //alunos.Matricular(new Aluno("Cary", "Totten"));
                //alunos.Matricular(new Aluno("Althea", "Goodwin"));

                Console.WriteLine();
                Console.WriteLine("ALUNOS DA TURMA");
                Console.WriteLine("===============");
                foreach (var aluno in alunos)
                {
                    Console.WriteLine(aluno.DadosPessoais);
                }
            }
            catch (ArgumentException exc) when(exc.Message.Contains("não informado"))
            {
                Console.WriteLine($"ERRO: O parâmetro '{exc.ParamName}' não foi informado!");
                await logger.WriteLineAsync("Erro: " + exc.ToString());
            }
            catch (Exception exc)
            {
                Console.WriteLine(exc.ToString());
                await logger.WriteLineAsync(exc.ToString());
            }
            finally
            {
                await logger.WriteLineAsync("O programa terminou.");

                logger.Dispose();
            }
        }
Exemplo n.º 5
0
 public static void Add(this ListaDeMatricula e, Aluno s)
 => e.Matricular(s);
Exemplo n.º 6
0
 private static Avaliacao GetMelhorNota(Aluno marty)
 {
     return(marty.Avaliacoes
            .OrderByDescending(a => a.Nota)
            .FirstOrDefault());
 }