public override void InitializeExport(SmartSchool.API.PlugIn.Export.ExportWizard wizard)
        {
            var 匯出代碼   = new SmartSchool.API.PlugIn.VirtualRadioButton("匯出校系代碼", true);
            var 匯出校系名稱 = new SmartSchool.API.PlugIn.VirtualRadioButton("匯出校系名稱", false);

            wizard.Options.Add(匯出代碼);
            wizard.Options.Add(匯出校系名稱);
            int         wishLimint = 5;
            List <分發設定> list       = _AccessHelper.Select <分發設定>();

            if (list.Count > 0)
            {
                wishLimint = list[0].志願上限;
            }
            for (int i = 1; i <= wishLimint; i++)
            {
                wizard.ExportableFields.Add("第" + i + "志願");
            }
            wizard.PackageLimit   = 200;
            wizard.ExportPackage += delegate(object sender, SmartSchool.API.PlugIn.Export.ExportPackageEventArgs e)
            {
                Dictionary <string, SmartSchool.API.PlugIn.RowData> dicRowDatas = new Dictionary <string, SmartSchool.API.PlugIn.RowData>();
                foreach (var refStudentID in e.List)
                {
                    SmartSchool.API.PlugIn.RowData rowData = new SmartSchool.API.PlugIn.RowData();
                    rowData.ID = refStudentID;
                    dicRowDatas.Add(refStudentID, rowData);
                    e.Items.Add(rowData);
                }
                FISCA.UDT.Condition.InCondition condition = new FISCA.UDT.Condition.InCondition();
                condition.Field = "RefStudentID";
                condition.Values.AddRange(e.List);
                var datas = _AccessHelper.Select <推甄學生資料>(condition);
                datas.取得志願組();
                foreach (var item in datas)
                {
                    int index = 1;
                    foreach (var wish in item.志願組)
                    {
                        dicRowDatas[item.StudentRecord.ID].Add("第" + index + "志願", (wish.校系資料 == null ? "校系資料已遺失" : (匯出代碼.Checked ? wish.校系資料.代碼 : (wish.校系資料.校名 + " " + wish.校系資料.系名))));
                        index++;
                    }
                }
                foreach (var item in dicRowDatas.Values)
                {
                    for (int i = 1; i <= wishLimint; i++)
                    {
                        if (!item.ContainsKey("第" + i + "志願"))
                        {
                            item.Add("第" + i + "志願", "");
                        }
                    }
                }
            };
        }
Example #2
0
        public override void InitializeExport(SmartSchool.API.PlugIn.Export.ExportWizard wizard)
        {
            wizard.ExportableFields.AddRange("身分證號", "排名", "總分", "成績內容", "分發校系代碼", "分發學校", "分發科系", "確定分發結果", "組別", "梯次", "備註");
            wizard.PackageLimit   = 200;
            wizard.ExportPackage += delegate(object sender, SmartSchool.API.PlugIn.Export.ExportPackageEventArgs e)
            {
                FISCA.UDT.Condition.InCondition condition = new FISCA.UDT.Condition.InCondition();
                condition.Field = "RefStudentID";
                condition.Values.AddRange(e.List);
                var datas = _AccessHelper.Select <推甄學生資料>(condition);
                foreach (var refStudentID in e.List)
                {
                    SmartSchool.API.PlugIn.RowData rowData = new SmartSchool.API.PlugIn.RowData();
                    rowData.ID = refStudentID;
                    #region 寫入預設值
                    foreach (var field in e.ExportFields)
                    {
                        switch (field)
                        {
                        case "排名":
                            rowData.Add(field, "");
                            break;

                        case "總分":
                            rowData.Add(field, "");
                            break;

                        case "身分證號":
                            rowData.Add(field, "");
                            break;

                        case "成績內容":
                            rowData.Add(field, "");
                            break;

                        case "分發校系代碼":
                            rowData.Add(field, "");
                            break;

                        case "分發學校":
                            rowData.Add(field, "");
                            break;

                        case "分發科系":
                            rowData.Add(field, "");
                            break;

                        case "確定分發結果":
                            rowData.Add(field, "");
                            break;

                        case "組別":
                            rowData.Add(field, "");
                            break;

                        case "梯次":
                            rowData.Add(field, "");
                            break;

                        case "備註":
                            rowData.Add(field, "");
                            break;
                        }
                    }
                    #endregion
                    foreach (var item in datas)
                    {
                        if (item.StudentRecord.ID == refStudentID)
                        {
                            #region 填入真值
                            foreach (var field in e.ExportFields)
                            {
                                switch (field)
                                {
                                case "排名":
                                    rowData[field] = "" + item.排名;
                                    break;

                                case "總分":
                                    rowData[field] = "" + item.總分;
                                    break;

                                case "身分證號":
                                    rowData[field] = item.StudentRecord.IDNumber;
                                    break;

                                case "成績內容":
                                    rowData[field] = item.成績內容;
                                    break;

                                case "分發校系代碼":
                                    rowData[field] = (item.分發結果 == null ? "" : item.分發結果.代碼);
                                    break;

                                case "分發學校":
                                    rowData[field] = (item.分發結果 == null ? "" : item.分發結果.校名);
                                    break;

                                case "分發科系":
                                    rowData[field] = (item.分發結果 == null ? "" : item.分發結果.系名);
                                    break;

                                case "確定分發結果":
                                    rowData[field] = (item.確定分發結果 ? "是" : "否");
                                    break;

                                case "組別":
                                    rowData[field] = "" + item.組別;
                                    break;

                                case "梯次":
                                    rowData[field] = "" + item.梯次;
                                    break;

                                case "備註":
                                    rowData[field] = item.備註;
                                    break;
                                }
                            }
                            #endregion
                            break;
                        }
                    }
                    e.Items.Add(rowData);
                }
            };
        }