import java.util.ArrayList;
import java.util.List;


public class Program {
	
	public static void main (String[] args) {
		
		
		System.out.println("===============Value Object====================\n");
        Student p1 = new Student("Bavi", "CE", 7);
        Student p2 = new Student("Mike", "CE", 10);
        Student p3 = new Student("David", "CE", 23);

        
        
        List<Student> StudentListCompEngg= new ArrayList<Student>();
        StudentListCompEngg.add(p1);
        StudentListCompEngg.add(p2);
        StudentListCompEngg.add(p3);
        
        School ComputerEngg = new School(StudentListCompEngg);
        
        
        
        Student p4 = new Student("Priya", "CE", 4);
        System.out.println("Computer Engineering  Students \n");
        System.out.println("===============\n");
        
        for (int i = 0; i < ComputerEngg.StudentList.size() ; i++)
        	System.out.println(ComputerEngg.StudentList.get(i).Name + "\t" + ComputerEngg.StudentList.get(i).Department + "\t" + ComputerEngg.StudentList.get(i).StudentId + "\n");


        ComputerEngg=ComputerEngg.add(p4);
        
        System.out.println("Adding Students to computer engineering \n");
        System.out.println("===============\n");
        System.out.println("Computer Engineering Department \n");
        System.out.println("===============\n");
        
        for (int i = 0; i < ComputerEngg.StudentList.size() ; i++)
        	System.out.println(ComputerEngg.StudentList.get(i).Name + "\t" + ComputerEngg.StudentList.get(i).Department + "\t" + ComputerEngg.StudentList.get(i).StudentId + "\n");

        
        ComputerEngg = ComputerEngg.remove(p1);
        
        System.out.println("Removing Student Bavithra from Computer Engineering Department \n");
        System.out.println("===============\n");
        System.out.println("Computer Engineering \n");
        System.out.println("===============\n");
        
        for (int i = 0; i < ComputerEngg.StudentList.size() ; i++)
        	System.out.println(ComputerEngg.StudentList.get(i).Name + "\t" + ComputerEngg.StudentList.get(i).Department + "\t" + ComputerEngg.StudentList.get(i).StudentId + "\n");
        
        
        Student p6 = new Student("Dev", "CS", 10);
        Student p7 = new Student("Made", "CS", 6);
        Student p8 = new Student("jason", "CS", 5);

        List<Student> StudentListCompSci= new ArrayList<Student>();
        StudentListCompSci.add(p6);
        StudentListCompSci.add(p7);
        StudentListCompSci.add(p8);

        
        School CompScience = new School(StudentListCompSci);
        System.out.println("Computer Science \n");
        System.out.println("===============\n");
        
        for (int i = 0; i < CompScience.StudentList.size() ; i++)
        	System.out.println(CompScience.StudentList.get(i).Name + "\t" + CompScience.StudentList.get(i).Department + "\t" + CompScience.StudentList.get(i).StudentId + "\n");
        
        
        TransferStudent SPL = new TransferStudent(ComputerEngg, CompScience);
        SPL.transfer(ComputerEngg, CompScience, p3);
        ComputerEngg = SPL.From;
        CompScience = SPL.To;
        
        
        System.out.println("===============Transfereing David From Computer Engineering to Computer Science=============== \n");
        // Console.WriteLine("===============\n");
        System.out.println("Computer Engineering \n");
        System.out.println("===============\n");
        
        for (int i = 0; i < ComputerEngg.StudentList.size() ; i++)
        	System.out.println(ComputerEngg.StudentList.get(i).Name + "\t" + ComputerEngg.StudentList.get(i).Department + "\t" + ComputerEngg.StudentList.get(i).StudentId + "\n");
        
        System.out.println("Computer Science \n");
        System.out.println("===============\n");
        
        for (int i = 0; i < CompScience.StudentList.size() ; i++)
        	System.out.println(CompScience.StudentList.get(i).Name + "\t" + CompScience.StudentList.get(i).Department + "\t" + CompScience.StudentList.get(i).StudentId + "\n");
        
        
	    }

	
}
