private void SetPdfField(IDictionary <string, PdfFormField> fields, S89Xlsx delegation, PdfDocument pdfDoc)
        {
            if (PdfUtil.IsMsjhbdExist())
            {
                //我她X的,SetFont要在SetValue之前
                Console.WriteLine("學生:" + delegation.Name + "\n");
                PdfUtil.SetPdfFeldValueCenter(fields, pdfDoc, S89PdfField.Name, delegation.Name);

                Console.WriteLine("助手:" + delegation.Assistant + "\n");
                PdfUtil.SetPdfFeldValueCenter(fields, pdfDoc, S89PdfField.Ass, delegation.Assistant);

                SetPdfFieldDelegationName(fields, delegation, pdfDoc);

                /*Console.WriteLine("日期:" + delegation.Date + "-" + delegation.Delegation + "\n");
                 * PdfUtil.SetPdfFeldValueSmall(fields, pdfDoc, S89PdfField.Date, delegation.Date + "-" + delegation.Delegation);*/

                SetPdfFieldDelegationCell(fields, delegation, pdfDoc);

                SetPdfFieldClass(fields, delegation, pdfDoc);
            }
            else
            {
                throw new NoFontException();
            }
        }
 private void WriteInPdf(string s89, S89Xlsx delegation, string destFolder, string description)
 {
     using (FileStream fs = new FileStream(Constant.FILE_FOLDER + "//" + s89, FileMode.Open))
     {
         PdfDocument pdfDoc = new PdfDocument(new PdfReader(fs), new PdfWriter(PdfUtil.FileNameExistAddR(destFolder + "//" + description + delegation.Name + Constant.PDF_FILE_NAME_EXTENSION)));
         PdfAcroForm form   = PdfAcroForm.GetAcroForm(pdfDoc, true);
         IDictionary <string, PdfFormField> fields = form.GetFormFields();
         SetPdfField(fields, delegation, pdfDoc);
         pdfDoc.Close();
     }
 }
        private void SetPdfFieldClass(IDictionary <string, PdfFormField> fields, S89Xlsx delegation, PdfDocument pdfDoc)
        {
            Console.WriteLine("班別:" + delegation.Class + "\n");
            switch (delegation.Class)
            {
            case "1":
                PdfUtil.SetPdfCheckBoxSelected(fields, pdfDoc, S89PdfField.Class1);
                break;

            case "2":
                PdfUtil.SetPdfCheckBoxSelected(fields, pdfDoc, S89PdfField.Class2);
                break;

            default:
                Console.WriteLine("班別填錯了吧\n");
                break;
            }
        }
        private void SetXlsxList(ISheet sheet, int rowNum, List <S89Xlsx> s89List, int classInt)
        {
            S89Xlsx s89Model = new S89Xlsx();

            try
            {
                s89Model.Name = sheet.GetRow(rowNum).GetCell(2 + (classInt - 1) * 2).ToString();
                if (string.IsNullOrEmpty(s89Model.Name))
                {
                    return;
                }
            }
            catch (Exception)
            {
                return;
            }
            try
            {
                s89Model.Assistant = sheet.GetRow(rowNum).GetCell(3 + (classInt - 1) * 2).ToString();
            }
            catch (Exception)
            {
                s89Model.Assistant = "";
            }
            s89Model.Header = StringUtil.GetChinesePrintAble(sheet.GetRow(rowNum).GetCell(1).ToString());
            s89Model.Class  = classInt.ToString();
            try
            {
                s89Model.Date = sheet.GetRow(rowNum).GetCell(0).ToString();
                if (string.IsNullOrEmpty(s89Model.Date))
                {
                    s89Model.Date = blockDate;
                }
                else
                {
                    blockDate = s89Model.Date;
                }
            }
            catch (Exception)
            {
                s89Model.Date = blockDate;
            }
            s89List.Add(s89Model);
        }
 private void SetPdfFieldDelegationName(IDictionary <string, PdfFormField> fields, S89Xlsx delegation, PdfDocument pdfDoc)
 {
     if (delegation.Date.Equals(lastDate) && delegation.Header.Contains(lastDelagation))
     {
         sameDelegationCount++;
         Console.WriteLine("日期:" + delegation.Date + "-" + delegation.Header.Replace(lastDelagation, lastDelagation + sameDelegationCount) + "\n");
         PdfUtil.SetPdfFeldValueSmall(fields, pdfDoc, S89PdfField.Date, delegation.Date + "-" + delegation.Header.Replace(lastDelagation, lastDelagation + sameDelegationCount));
     }
     else
     {
         sameDelegationCount = 1;
         Console.WriteLine("日期:" + delegation.Date + "-" + delegation.Header + "\n");
         PdfUtil.SetPdfFeldValueSmall(fields, pdfDoc, S89PdfField.Date, delegation.Date + "-" + delegation.Header);
     }
     lastDate = delegation.Date;
 }
 private void SetPdfFieldDelegationCell(IDictionary <string, PdfFormField> fields, S89Xlsx delegation, PdfDocument pdfDoc)
 {
     Console.WriteLine("委派:" + delegation.Header + "\n");
     if (delegation.Header.Contains(S89chDelegationName.Reading))
     {
         PdfUtil.SetPdfCheckBoxSelected(fields, pdfDoc, S89PdfField.Reading);
         lastDelagation = S89chDelegationName.Reading;
     }
     else if (delegation.Header.Contains(S89chDelegationName.InitialCall))
     {
         PdfUtil.SetPdfCheckBoxSelected(fields, pdfDoc, S89PdfField.InitialCall);
         lastDelagation = S89chDelegationName.InitialCall;
     }
     else if (delegation.Header.Contains(S89chDelegationName.FirstRV))
     {
         PdfUtil.SetPdfCheckBoxSelected(fields, pdfDoc, S89PdfField.FirstRV);
         lastDelagation = S89chDelegationName.FirstRV;
     }
     else if (delegation.Header.Contains(S89chDelegationName.SecondRV))
     {
         PdfUtil.SetPdfCheckBoxSelected(fields, pdfDoc, S89PdfField.SecondRV);
         lastDelagation = S89chDelegationName.SecondRV;
     }
     else if (delegation.Header.Contains(S89chDelegationName.BibleStudy))
     {
         PdfUtil.SetPdfCheckBoxSelected(fields, pdfDoc, S89PdfField.BibleStudy);
         lastDelagation = S89chDelegationName.BibleStudy;
     }
     else if (delegation.Header.Contains(S89chDelegationName.BibleStudy2))
     {
         PdfUtil.SetPdfCheckBoxSelected(fields, pdfDoc, S89PdfField.BibleStudy);
         lastDelagation = S89chDelegationName.BibleStudy2;
     }
     else if (delegation.Header.Contains(S89chDelegationName.Talk))
     {
         PdfUtil.SetPdfCheckBoxSelected(fields, pdfDoc, S89PdfField.Talk);
         lastDelagation = S89chDelegationName.Talk;
     }
     //續訪需避免與第二次續訪衝突
     else if (delegation.Header.Contains(S89chDelegationName.FirstRV2) &&
              !delegation.Header.Contains(S89chDelegationName.SecondRV))
     {
         PdfUtil.SetPdfCheckBoxSelected(fields, pdfDoc, S89PdfField.FirstRV);
         lastDelagation = S89chDelegationName.FirstRV2;
     }
     else
     {
         PdfUtil.SetPdfCheckBoxSelected(fields, pdfDoc, S89PdfField.Other);
         PdfUtil.SetPdfFeldValueSmall(fields, pdfDoc, S89PdfField.OtherText, delegation.Header.Split('(')[0]);
     }
 }