public SuggestSubjectForm(SubjectListForm ss)
 {
     InitializeComponent();
     _ss = ss;
     _bgWorker.DoWork += new DoWorkEventHandler(_bgWorker_DoWork);
     _bgWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(_bgWorker_RunWorkerCompleted);
     _bgWorker.RunWorkerAsync();
 }
        public static void Main()
        {
            // 更新 UDS UDT 方式            
            if (!FISCA.RTContext.IsDiagMode)
                FISCA.ServerModule.AutoManaged("http://module.ischool.com.tw/module/137/Retake_Shinmin_dep/udm.xml");

            #region 自訂驗證規則
            FactoryProvider.FieldFactory.Add(new FieldValidatorFactory());
            FactoryProvider.RowFactory.Add(new RowValidatorFactory());
            #endregion
            _bgLLoadUDT.DoWork += new DoWorkEventHandler(_bgLLoadUDT_DoWork);
            _bgLLoadUDT.RunWorkerCompleted += new RunWorkerCompletedEventHandler(_bgLLoadUDT_RunWorkerCompleted);
            _bgLLoadUDT.RunWorkerAsync();
            MotherForm.AddPanel(RetakeAdmin.Instance);
            
            // Add ListView
            RetakeAdmin.Instance.AddView(new RetakeViewTree());

            RetakeAdmin.Instance.SelectedSourceChanged += delegate
            {
                FISCA.Presentation.MotherForm.SetStatusBarMessage("選擇「"+RetakeAdmin.Instance.SelectedSource.Count+"」個課程");
            };

            RibbonBarItem item08 = Shinmin.RetakeAdmin.Instance.RibbonBarItems["編輯"];
            item08["刪除課程"].Image = Properties.Resources.刪除課程;
            item08["刪除課程"].Size = RibbonBarButton.MenuButtonSize.Large;
            item08["刪除課程"].Enable = UserAcl.Current["K12.Retake.Shinmin.DeleteCourse"].Executable;
            item08["刪除課程"].Click += delegate
            {
                DeleteCourse();
            };

            RibbonBarItem item08A = Shinmin.RetakeAdmin.Instance.RibbonBarItems["編輯"];
            item08A["新增課程"].Image = Properties.Resources.新增課程;
            item08A["新增課程"].Size = RibbonBarButton.MenuButtonSize.Large;
            item08A["新增課程"].Enable = UserAcl.Current["K12.Retake.Shinmin.AddCourse"].Executable;
            item08A["新增課程"].Click += delegate
            {
                Form.AddCourse ac = new Form.AddCourse();
                //ac.ShowDialog();
            };


            RibbonBarItem item01 = Shinmin.RetakeAdmin.Instance.RibbonBarItems["前置作業"];
            item01["建議重補修名單"].Image = Properties.Resources.建議重補修名單_filter_data_add_64;
            item01["建議重補修名單"].Size = RibbonBarButton.MenuButtonSize.Large;
            item01["建議重補修名單"].Enable = UserAcl.Current["K12.Retake.Shinmin.SuggestListForm"].Executable;
            item01["建議重補修名單"].Click += delegate
            {
                Form.SuggestListForm slf = new Form.SuggestListForm();
                slf.ShowDialog();
            };


            RibbonBarItem item02 = Shinmin.RetakeAdmin.Instance.RibbonBarItems["前置作業"];
            item02["科目管理"].Image = Properties.Resources.重補修科目管理_project_64;
            item02["科目管理"].Size = RibbonBarButton.MenuButtonSize.Large;
            item02["科目管理"].Enable = UserAcl.Current["K12.Retake.Shinmin.SubjectListForm"].Executable;
            item02["科目管理"].Click += delegate
            {
                Form.SubjectListForm slf = new Form.SubjectListForm();
                if (slf._isShowForm)
                    slf.ShowDialog();
                else
                    slf.Close();
            };


            RibbonBarItem item03 = Shinmin.RetakeAdmin.Instance.RibbonBarItems["前置作業"];
            item03["課表管理"].Image = Properties.Resources.重補修課表管理_schedule_write_64;
            item03["課表管理"].Size = RibbonBarButton.MenuButtonSize.Large;
            item03["課表管理"].Enable = UserAcl.Current["K12.Retake.Shinmin.CourseTimetableForm"].Executable;
            item03["課表管理"].Click += delegate
            {
                Form.CourseTimetableForm ctf = new Form.CourseTimetableForm();
                ctf.ShowDialog();
            };

            RibbonBarItem item05 = Shinmin.RetakeAdmin.Instance.RibbonBarItems["前置作業"];
            item05["選課開放時間"].Enable = UserAcl.Current["K12.Retake.Shinmin.RetakeJoinForm"].Executable;
            item05["選課開放時間"].Size = RibbonBarButton.MenuButtonSize.Medium;
            item05["選課開放時間"].Image = Properties.Resources.time_frame_refresh_128;
            item05["選課開放時間"].Click += delegate
            {
                Form.RetakeJoinForm ccif = new Form.RetakeJoinForm();
                ccif.ShowDialog();
            };

            RibbonBarItem item04 = Shinmin.RetakeAdmin.Instance.RibbonBarItems["前置作業"];
            item04["開課"].Image = Properties.Resources.開課;
            item04["開課"].Size = RibbonBarButton.MenuButtonSize.Large;
            item04["開課"].Enable = UserAcl.Current["K12.Retake.Shinmin.CourseTimetableForm"].Executable;
            item04["開課"].Click += delegate
            {
                Form.CreateCourseInfoForm ccif = new Form.CreateCourseInfoForm();
                ccif.ShowDialog();
            };

            RibbonBarItem item11 = Shinmin.RetakeAdmin.Instance.RibbonBarItems["前置作業"];
            item11["時間表設定"].Enable = UserAcl.Current["K12.Retake.Shinmin.ReSetSubjectDate"].Executable;
            item11["時間表設定"].Size = RibbonBarButton.MenuButtonSize.Medium;
            item11["時間表設定"].Image = Properties.Resources.lesson_planning_clock_64;
            item11["時間表設定"].Click += delegate
            {
                if (RetakeAdmin.Instance.SelectedSource.Count > 0)
                {
                    Form.ReSetSubjectDate ccif = new Form.ReSetSubjectDate();
                    ccif.ShowDialog();
                }
                else
                {
                    MsgBox.Show("請選擇課程!!");
                }
            };


           

            RibbonBarItem item09 = Shinmin.RetakeAdmin.Instance.RibbonBarItems["資料統計"];
            item09["匯入"].Image = Properties.Resources.Import_Image;
            item09["匯入"].Size = RibbonBarButton.MenuButtonSize.Large;
            item09["匯入"]["匯入課程"].Enable = UserAcl.Current["K12.Retake.Shinmin.ImportCourse"].Executable;
            item09["匯入"]["匯入課程"].Click += delegate
            {
                new ImportCourseExtension().Execute();
                RetakeEvents.RaiseAssnChanged();
            };

            RibbonBarItem item10 = Shinmin.RetakeAdmin.Instance.RibbonBarItems["資料統計"];
            item10["匯入"]["匯入修課學生"].Enable = UserAcl.Current["K12.Retake.Shinmin.ImportSCAttend"].Executable;
            item10["匯入"]["匯入修課學生"].Click += delegate
            {
                new ImportSCAttend().Execute();
                RetakeEvents.RaiseAssnChanged();
            };

            RibbonBarItem itemRpt01 = Shinmin.RetakeAdmin.Instance.RibbonBarItems["資料統計"];
            itemRpt01["報表"]["課程點名單"].Enable = UserAcl.Current["K12.Retake.Shinmin.Report.CourseStudentSCReport"].Executable;
            itemRpt01["報表"].Image = Properties.Resources.Report;
            itemRpt01["報表"].Size = RibbonBarButton.MenuButtonSize.Large;
            itemRpt01["報表"]["課程點名單"].Click += delegate
            {
                if (RetakeAdmin.Instance.SelectedSource.Count > 0)
                {
                    Report.CourseStudentSCReportForm cssf = new Report.CourseStudentSCReportForm(RetakeAdmin.Instance.SelectedSource);
                    cssf.ShowDialog();
                }
                else
                {
                    MsgBox.Show("請選擇課程!");
                }
            };

            RibbonBarItem itemRpt02 = Shinmin.RetakeAdmin.Instance.RibbonBarItems["資料統計"];
            itemRpt02["報表"]["課程缺曠名單"].Enable = UserAcl.Current["K12.Retake.Shinmin.Report.CourseStudentAttendReport"].Executable;
            itemRpt02["報表"].Image = Properties.Resources.Report;
            itemRpt02["報表"].Size = RibbonBarButton.MenuButtonSize.Large;
            itemRpt02["報表"]["課程缺曠名單"].Click += delegate
            {
                if (RetakeAdmin.Instance.SelectedSource.Count > 0)
                {
                    Report.CourseStudentAttendReportForm csscf = new Report.CourseStudentAttendReportForm(RetakeAdmin.Instance.SelectedSource);
                    csscf.ShowDialog();
                }
                else
                {
                    MsgBox.Show("請選擇課程!");
                }
            };

            RibbonBarItem itemRpt03 = Shinmin.RetakeAdmin.Instance.RibbonBarItems["資料統計"];
            itemRpt03["報表"]["缺曠通知單"].Enable = UserAcl.Current["K12.Retake.Shinmin.Report.StudentAttendanceReportForm"].Executable;
            itemRpt03["報表"].Image = Properties.Resources.Report;
            itemRpt03["報表"].Size = RibbonBarButton.MenuButtonSize.Large;
            itemRpt03["報表"]["缺曠通知單"].Click += delegate
            {
                if (RetakeAdmin.Instance.SelectedSource.Count > 0)
                {
                    Report.StudentAttendanceReportForm sarf = new Report.StudentAttendanceReportForm(RetakeAdmin.Instance.SelectedSource);
                    sarf.ShowDialog();

                }
                else
                {
                    MsgBox.Show("請選擇課程!");
                }
            };

            RibbonBarItem itemRpt04 = Shinmin.RetakeAdmin.Instance.RibbonBarItems["資料統計"];
            itemRpt04["報表"]["及格人數"].Enable = UserAcl.Current["K12.Retake.Shinmin.Report.StudentPassReport"].Executable;
            itemRpt04["報表"].Image = Properties.Resources.Report;
            //itemRpt04["報表"].Size = RibbonBarButton.MenuButtonSize.Large;
            itemRpt04["報表"]["及格人數"].Click += delegate
            {
                Report.StudentPassReport spr = new Report.StudentPassReport();
                spr.Main();
            };

            RibbonBarItem itemRpt05 = Shinmin.RetakeAdmin.Instance.RibbonBarItems["資料統計"];
            itemRpt05["報表"]["課程缺曠統計表"].Enable = UserAcl.Current["K12.Retake.Shinmin.Report.CourseAttendanceRpt"].Executable;
            itemRpt05["報表"].Image = Properties.Resources.Report;
            itemRpt05["報表"].Size = RibbonBarButton.MenuButtonSize.Large;
            itemRpt05["報表"]["課程缺曠統計表"].Click += delegate
            {
                if (RetakeAdmin.Instance.SelectedSource.Count > 0)
                {
                    Report.CourseAttendanceRpt car = new Report.CourseAttendanceRpt(RetakeAdmin.Instance.SelectedSource);
                    car.Run();

                }
                else
                {
                    MsgBox.Show("請選擇課程!");
                }
            };


            RibbonBarItem Results = RetakeAdmin.Instance.RibbonBarItems["成績"];
            Results["評量設定"].Size = RibbonBarButton.MenuButtonSize.Medium;
            Results["評量設定"].Image = Properties.Resources.barchart_64;
            Results["評量設定"].Enable = UserAcl.Current["K12.Retake.Shinmin.GradingProjectConfigForm"].Executable;
            Results["評量設定"].Click += delegate
            {
                Form.GradingProjectConfigForm gpcf = new Form.GradingProjectConfigForm();
                gpcf.ShowDialog();
            };

            RibbonBarItem item06 = Shinmin.RetakeAdmin.Instance.RibbonBarItems["成績"];
            item06["成績輸入區間"].Enable = UserAcl.Current["K12.Retake.Shinmin.ResultsInputForm"].Executable;
            item06["成績輸入區間"].Size = RibbonBarButton.MenuButtonSize.Medium;
            item06["成績輸入區間"].Image = Properties.Resources.time_frame_refresh_128;
            item06["成績輸入區間"].Click += delegate
            {
                Form.ResultsInputForm ccif = new Form.ResultsInputForm();
                ccif.ShowDialog();
            };

            Results["成績輸入"].Size = RibbonBarButton.MenuButtonSize.Medium;
            Results["成績輸入"].Image = Properties.Resources.marker_fav_64;
            Results["成績輸入"].Enable = UserAcl.Current["K12.Retake.Shinmin.RetakeResultsInputForm"].Executable;
            Results["成績輸入"].Click += delegate
            {
                if (RetakeAdmin.Instance.SelectedSource.Count > 0)
                {
                    Form.RetakeResultsInputForm rrif = new Form.RetakeResultsInputForm(RetakeAdmin.Instance.SelectedSource);
                    rrif.ShowDialog();
                }
                else
                {
                    MsgBox.Show("請選擇課程!");
                }
            };

            Results["成績結算"].Size = RibbonBarButton.MenuButtonSize.Medium;
            Results["成績結算"].Image = Properties.Resources.brand_write_64;
            Results["成績結算"].Enable = UserAcl.Current["K12.Retake.Shinmin.ClearingForm"].Executable;
            Results["成績結算"].Click += delegate
            {
                Form.ClearingForm cf = new Form.ClearingForm();                
                cf.ShowDialog();
            };


            RibbonBarItem item07 = Shinmin.RetakeAdmin.Instance.RibbonBarItems["缺曠"];
            item07["缺曠登錄"].Enable = UserAcl.Current["K12.Retake.Shinmin.AttendanceForm"].Executable;
            item07["缺曠登錄"].Size = RibbonBarButton.MenuButtonSize.Medium;
            item07["缺曠登錄"].Image = Properties.Resources.desk_64;
            item07["缺曠登錄"].Click += delegate
            {
                Form.AttendanceForm ccif = new Form.AttendanceForm();
                ccif.ShowDialog();
            };

            RibbonBarItem item07a = Shinmin.RetakeAdmin.Instance.RibbonBarItems["缺曠"];
            item07a["扣考查詢"].Enable = UserAcl.Current["K12.Retake.Shinmin.StudentNotExamSearchForm"].Executable;
            item07a["扣考查詢"].Size = RibbonBarButton.MenuButtonSize.Medium;
            item07a["扣考查詢"].Image = Properties.Resources.desk_64;
            item07a["扣考查詢"].Click += delegate
            {
                if (RetakeAdmin.Instance.SelectedSource.Count > 0)
                {
                    Form.StudentNotExamSearchForm snesf = new Form.StudentNotExamSearchForm(RetakeAdmin.Instance.SelectedSource);
                    snesf.ShowDialog();
                }
                else
                {
                    MsgBox.Show("請選擇課程!!");
                    return;
                }

            };


            RibbonBarItem itemEp01 = Shinmin.RetakeAdmin.Instance.RibbonBarItems["資料統計"];
            itemEp01["匯出"].Image = Properties.Resources.匯出;
            itemEp01["匯出"].Size = RibbonBarButton.MenuButtonSize.Large;
            itemEp01["匯出"]["課程學期成績匯入檔"].Enable = UserAcl.Current["K12.Retake.Shinmin.ExportCourseScore"].Executable;
            itemEp01["匯出"]["課程學期成績匯入檔"].Click += delegate
            {
                if (RetakeAdmin.Instance.SelectedSource.Count > 0)
                {
                    ImportExport.ExportCourseScore ecs = new ImportExport.ExportCourseScore(RetakeAdmin.Instance.SelectedSource);
                }
                else
                    FISCA.Presentation.Controls.MsgBox.Show("請選擇課程!");
            };

            RibbonBarItem itemEp02 = Shinmin.RetakeAdmin.Instance.RibbonBarItems["資料統計"];
            itemEp02["匯出"].Image = Properties.Resources.匯出;
            itemEp02["匯出"].Size = RibbonBarButton.MenuButtonSize.Large;
            itemEp02["匯出"]["學生選課清單"].Enable = UserAcl.Current["K12.Retake.Shinmin.ExportStudentCourseSelect"].Executable;
            itemEp02["匯出"]["學生選課清單"].Click += delegate
            {
                if (RetakeAdmin.Instance.SelectedSource.Count > 0)
                {
                    ImportExport.ExportStudentCourseSelect escs = new ImportExport.ExportStudentCourseSelect(RetakeAdmin.Instance.SelectedSource);
                }
                else
                    FISCA.Presentation.Controls.MsgBox.Show("請選擇課程!");
            };

            //其它
            MenuButton MenuItem09 = Shinmin.RetakeAdmin.Instance.ListPaneContexMenu["刪除課程"];
            MenuItem09.Enable = UserAcl.Current["K12.Retake.Shinmin.DeleteCourse"].Executable;
            MenuItem09.Click += delegate
            {
                DeleteCourse();
            };

            // 報表 重補修缺課(含扣考)通知單( 在學生>
            var studItemRpt01 = K12.Presentation.NLDPanels.Student.RibbonBarItems["資料統計"]["報表"]["新民重補修報表"]["重補修缺課(含扣考)通知單"];
            studItemRpt01.Enable = UserAcl.Current["K12.Retake.Shinmin.Report.StudentCourseAttendanceRptForm"].Executable;
            studItemRpt01.Image = Properties.Resources.Report;            
            studItemRpt01.Click += delegate
            {
                if (K12.Presentation.NLDPanels.Student.SelectedSource.Count > 0)
                {
                    Report.StudentCourseAttendanceRptForm scarf = new Report.StudentCourseAttendanceRptForm(K12.Presentation.NLDPanels.Student.SelectedSource);
                    scarf.ShowDialog();
                }
                else
                {
                    MsgBox.Show("請選擇學生!");
                }
            };



            // 建議重補修名單
            Catalog catalog01 = RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalog01.Add(new RibbonFeature("K12.Retake.Shinmin.SuggestListForm", "建議重補修名單"));

            // 重補修科目管理
            Catalog catalog02 = RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalog02.Add(new RibbonFeature("K12.Retake.Shinmin.SubjectListForm", "科目管理"));

            // 重補修課表管理
            Catalog catalog03 = RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalog03.Add(new RibbonFeature("K12.Retake.Shinmin.CourseTimetableForm", "課表管理"));

            // 重補修開課
            Catalog catalog04 = RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalog04.Add(new RibbonFeature("K12.Retake.Shinmin.CreateCourseInfoForm", "開課"));

            //選課開放時間
            Catalog catalog05 = RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalog05.Add(new RibbonFeature("K12.Retake.Shinmin.RetakeJoinForm", "選課開放時間"));

            //成績輸入區間
            Catalog catalog06 = RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalog06.Add(new RibbonFeature("K12.Retake.Shinmin.ResultsInputForm", "成績輸入區間"));

            //課程缺曠登錄
            Catalog catalog07 = RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalog07.Add(new RibbonFeature("K12.Retake.Shinmin.AttendanceForm", "缺曠登錄"));

            //課程扣考查詢
            Catalog catalog07a = RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalog07a.Add(new RibbonFeature("K12.Retake.Shinmin.StudentNotExamSearchForm", "扣考查詢"));


            // 刪除課程
            Catalog catalog08 = RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalog08.Add(new RibbonFeature("K12.Retake.Shinmin.DeleteCourse", "刪除課程"));

            // 新增課程
            Catalog catalog08A = RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalog08A.Add(new RibbonFeature("K12.Retake.Shinmin.AddCourse", "新增課程"));


            //匯入課程
            Catalog catalog09 = RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalog09.Add(new RibbonFeature("K12.Retake.Shinmin.ImportCourse", "匯入課程"));

            //匯出課程成績
            Catalog catalogSc01 = RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalogSc01.Add(new RibbonFeature("K12.Retake.Shinmin.ExportCourseScore", "課程學期成績匯入檔"));

            //匯出學生選課清單
            Catalog catalogSc02 = RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalogSc02.Add(new RibbonFeature("K12.Retake.Shinmin.ExportStudentCourseSelect", "學生選課清單"));

            //匯入學生修課
            Catalog catalog20 = RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalog20.Add(new RibbonFeature("K12.Retake.Shinmin.ImportSCAttend", "匯入學生修課"));

            //時間表設定
            Catalog catalog21 = RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalog21.Add(new RibbonFeature("K12.Retake.Shinmin.ReSetSubjectDate", "時間表設定"));

            // 報表 課程點名單
            Catalog catalog22= RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalog22.Add(new RibbonFeature("K12.Retake.Shinmin.Report.CourseStudentSCReport", "課程點名單"));

            // 報表 課程缺曠名單
            Catalog catalog23 = RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalog23.Add(new RibbonFeature("K12.Retake.Shinmin.Report.CourseStudentAttendReport", "課程缺曠名單"));

            // 報表 缺曠通知單
            Catalog catalog24 = RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalog24.Add(new RibbonFeature("K12.Retake.Shinmin.Report.StudentAttendanceReportForm", "缺曠通知單"));

            // 成績 評量設定
            Catalog catalog25 = RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalog25.Add(new RibbonFeature("K12.Retake.Shinmin.GradingProjectConfigForm", "評量設定"));

            // 成績 成績輸入
            Catalog catalog26 = RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalog26.Add(new RibbonFeature("K12.Retake.Shinmin.RetakeResultsInputForm", "成績輸入"));

            // 成績 學期結算
            Catalog catalog27 = RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalog27.Add(new RibbonFeature("K12.Retake.Shinmin.ClearingForm", "學期結算"));

            // 報表 及格人數
            Catalog catalog28 = RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalog28.Add(new RibbonFeature("K12.Retake.Shinmin.Report.StudentPassReport", "及格人數"));

            // 報表 課程缺曠統計表
            Catalog catalog29 = RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalog29.Add(new RibbonFeature("K12.Retake.Shinmin.Report.CourseAttendanceRpt", "課程缺曠統計表"));

            // 報表 重補修缺課(含扣考)通知單
            Catalog catalogP01 = RoleAclSource.Instance["重補修"]["功能按鈕"];
            catalogP01.Add(new RibbonFeature("K12.Retake.Shinmin.Report.StudentCourseAttendanceRptForm", "重補修缺課(含扣考)通知單"));


            // 課程基本資料 資料項目
            FeatureAce UserPermission = FISCA.Permission.UserAcl.Current["K12.Retake.Shinmin.DetailContent.CourseInfoContent"];
            if (UserPermission.Editable)
                RetakeAdmin.Instance.AddDetailBulider(new DetailBulider<DetailContent.CourseInfoContent>());

            // 課程修課學生 資料項目
            UserPermission = FISCA.Permission.UserAcl.Current["K12.Retake.Shinmin.DetailContent.CourseStudentContent"];
            if (UserPermission.Editable)
                RetakeAdmin.Instance.AddDetailBulider(new DetailBulider<DetailContent.CourseStudentContent>());

            // 課程時間表 資料項目
            UserPermission = FISCA.Permission.UserAcl.Current["K12.Retake.Shinmin.DetailContent.CourseTimeSectionViewContent"];
            if (UserPermission.Editable)
                RetakeAdmin.Instance.AddDetailBulider(new DetailBulider<DetailContent.CourseTimeSectionViewContent>());



            // 資料項目權限註冊
            Catalog detailItem = RoleAclSource.Instance["重補修"]["資料項目"];
            detailItem.Add(new DetailItemFeature("K12.Retake.Shinmin.DetailContent.CourseInfoContent", "課程基本資料"));
            detailItem.Add(new DetailItemFeature("K12.Retake.Shinmin.DetailContent.CourseStudentContent", "課程修課學生"));
            detailItem.Add(new DetailItemFeature("K12.Retake.Shinmin.DetailContent.CourseTimeSectionViewContent", "課程時間表"));
        }