public static Staff CreateStaff(StaffType staffType) { switch (staffType) { case StaffType.teachingStaff: TeachingStaff teachingStaff = new TeachingStaff(); AskCommonDetails(teachingStaff); teachingStaff.Subject = InputStaffProperties.AskSubject(); teachingStaff.AssignedClass = InputStaffProperties.AskClass(); return(teachingStaff); case StaffType.administrativeStaff: AdminstrativeStaff adminStaff = new AdminstrativeStaff(); AskCommonDetails(adminStaff); adminStaff.Post = InputStaffProperties.AskPost(); return(adminStaff); case StaffType.supportStaff: SupportStaff supportStaff = new SupportStaff(); AskCommonDetails(supportStaff); supportStaff.Post = InputStaffProperties.AskPost(); return(supportStaff); default: return(null); } }
public static void ViewDetails(Staff staff) { switch (staff.StaffType) { case StaffType.teachingStaff: TeachingStaff teachingStaff = (TeachingStaff)staff; ViewCommonDetails(teachingStaff); Console.WriteLine("\nSubject : {0}", teachingStaff.Subject); Console.WriteLine("Class Assigned: {0}", teachingStaff.AssignedClass); break; case StaffType.administrativeStaff: AdminstrativeStaff adminStaff = (AdminstrativeStaff)staff; ViewCommonDetails(adminStaff); Console.WriteLine("\nPost : {0}", adminStaff.Post); break; case StaffType.supportStaff: SupportStaff supportStaff = (SupportStaff)staff; ViewCommonDetails(supportStaff); Console.WriteLine("\nPost : {0}", supportStaff.Post); break; } }