예제 #1
0
 //encapsulando a regra de adicionar
 internal void Adiciona(Aula t)
 {
     this.AulasTreinamento.Add(t);
 }
예제 #2
0
        static void Main(string[] args)
        {
            Curso cSharpCollections = new Curso("C# Collections", "Alexandre Ximenes");

            cSharpCollections.Adiciona(new Aula("Introducao a arrays", 20));
            imprimirIList("imprimindo com IList", cSharpCollections.Aulas);

            //Criando instancias de do objeto treinamento
            var aulaIntro   = new Aula("Introducao a arrays", 20);
            var aulaMetodos = new Aula("Metodos auxiliares de arrays", 50);
            var aulaList    = new Aula("trabalhando com List", 40);

            //Adicionando aulas no cSharpCollections
            cSharpCollections.Adiciona(aulaIntro);
            cSharpCollections.Adiciona(aulaMetodos);
            cSharpCollections.Adiciona(aulaList);

            //Lista sem proteção
            // cSharpCollections.Treinamento.Add(aulaIntro);

            List <Aula> Aulas = new List <Aula>();

            Aulas.Add(aulaMetodos);
            Aulas.Add(aulaIntro);
            Aulas.Add(aulaList);

            //Ordenando titulo com ICamparable
            Aulas.Sort();
            imprimir("treinamento com IComparable, ordenando por titulo : ", Aulas);

            //Ordenando duracao com Lambda
            Aulas.Sort((este, outro) => este.Duracao.CompareTo(outro.Duracao));
            imprimir("treinamento com lambda, ordenando por duração : ", Aulas);

            //Copia da lista Aulas
            List <Aula> AulasCopiadas = new List <Aula>(Aulas);

            //Ordenando a AulasCopiadas por duração do tempo maior para o menor
            AulasCopiadas.Sort((este, outro) => este.Duracao.CompareTo(outro.Duracao));
            AulasCopiadas.Reverse();
            imprimir("treinamento com IComparable, ordenando a copia por titulo : ", AulasCopiadas);

            //Totalizar o tempo de duração do curso
            int TempoTotal = cSharpCollections.TempoTotal;

            Console.WriteLine("tempo total do curso : {0}", TempoTotal);

            //Imprimir o Curso
            Console.WriteLine("Imprimindo curso com ToString: " + cSharpCollections);


            Aluno a1 = new Aluno("Alexandre Ximenes", 123);
            Aluno a2 = new Aluno("Dayane Ximenes", 231);
            Aluno a3 = new Aluno("Arthur Ximenes", 321);
            Aluno a4 = new Aluno("Alexandre Ximenes", 123);

            //Adiciona os alunos no ISet alunos
            cSharpCollections.Matricular(a1);
            cSharpCollections.Matricular(a2);
            cSharpCollections.Matricular(a3);

            //Imprimir os alunos
            Console.WriteLine("\nImprimindo alunos");
            foreach (Aluno aluno in cSharpCollections.Alunos)
            {
                Console.WriteLine(aluno);
            }

            //Limpando o console
            Console.Clear();

            Console.WriteLine($"O aluno {a1.Nome} esta matriculado :");
            Console.WriteLine(cSharpCollections.matriculado(a4));

            Console.ReadKey();
        }