///
        static IList <UnsignedReportCard> GetAllReportCards()
        {
            List <UnsignedReportCard> reportCards = new List <UnsignedReportCard>();

            //we gave this report card to the student to take home
            var rptCard = new UnsignedReportCard()
            {
                ClassName    = "History"
                , Instructor = "Dr. Jones"
                , Grade      = 3.4M
                , FirstName  = "Peter"
                , LastName   = "Parker"
            };

            //after parent returned the report card
            var signedRptCard = new SignedReportCard(rptCard);

            signedRptCard.DateSigned = new DateTime(2018, 7, 5);
            signedRptCard.ParentName = "Uncle Ben";

            //we are now sending this report card to the university
            var submittedRptCard = new SubmittedReportCard(signedRptCard);

            submittedRptCard.UniversityName = "American University";
            submittedRptCard.DateSubmitted  = new DateTime(2018, 10, 16);

            reportCards.Add(rptCard);
            reportCards.Add(signedRptCard);
            reportCards.Add(submittedRptCard);

            return(reportCards);
        }
 public SignedReportCard(UnsignedReportCard obj)
 {
     this.ClassName  = obj.ClassName;
     this.FirstName  = obj.FirstName;
     this.LastName   = obj.LastName;
     this.Grade      = obj.Grade;
     this.Instructor = obj.Instructor;
     this.TitleCard  = "\n============================="
                       + "\nThe Signed Report Card"
                       + "\n=============================";
 }