From 4b7715cc8a5a4ed9f97d5e56c9baba38c99ee565 Mon Sep 17 00:00:00 2001 From: Kittapath Date: Tue, 2 May 2023 14:36:27 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=80=E0=B8=9E=E0=B8=B4=E0=B9=88=E0=B8=A1ex?= =?UTF-8?q?cel=E0=B8=9C=E0=B8=B9=E0=B9=89=E0=B8=9E=E0=B8=B4=E0=B8=81?= =?UTF-8?q?=E0=B8=B2=E0=B8=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Controllers/DisableController.cs | 100 ++++++++++++++++++++++++++++--- Services/CandidateService.cs | 2 +- Templates/ExamList.xlsx | Bin 0 -> 10323 bytes Templates/PassAExamList.xlsx | Bin 0 -> 10377 bytes Templates/PassExamList.xlsx | Bin 0 -> 10468 bytes 5 files changed, 94 insertions(+), 8 deletions(-) create mode 100644 Templates/ExamList.xlsx create mode 100644 Templates/PassAExamList.xlsx create mode 100644 Templates/PassExamList.xlsx diff --git a/Controllers/DisableController.cs b/Controllers/DisableController.cs index 2bd1291..5a47a15 100644 --- a/Controllers/DisableController.cs +++ b/Controllers/DisableController.cs @@ -471,6 +471,12 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers Note = req.Note, AnnouncementDate = req.AnnouncementDate, CheckDisability = true, + CreatedAt = DateTime.Now, + CreatedUserId = UserId ?? "", + CreatedFullName = FullName ?? "System Administrator", + LastUpdatedAt = DateTime.Now, + LastUpdateUserId = UserId ?? "", + LastUpdateFullName = FullName ?? "System Administrator", }); await _context.SaveChangesAsync(); @@ -523,6 +529,9 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers data.ExamDate = req.ExamDate; data.Note = req.Note; data.AnnouncementDate = req.AnnouncementDate; + data.LastUpdatedAt = DateTime.Now; + data.LastUpdateUserId = UserId ?? ""; + data.LastUpdateFullName = FullName ?? "System Administrator"; await _context.SaveChangesAsync(); @@ -693,6 +702,9 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers CreatedAt = DateTime.Now, CreatedUserId = UserId ?? "", CreatedFullName = FullName ?? "System Administrator", + LastUpdatedAt = DateTime.Now, + LastUpdateUserId = UserId ?? "", + LastUpdateFullName = FullName ?? "System Administrator", ImportHostories = new List { new DisableImportHistory @@ -701,6 +713,9 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers CreatedAt = DateTime.Now, CreatedUserId = UserId ?? "", CreatedFullName = FullName ?? "System Administrator", + LastUpdatedAt = DateTime.Now, + LastUpdateUserId = UserId ?? "", + LastUpdateFullName = FullName ?? "System Administrator", } } }; @@ -767,6 +782,12 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers Amphur1 = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.Amphur1)]?.GetValue() ?? "", Province1 = "", ZipCode1 = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.ZipCode1)]?.GetValue() ?? "", + CreatedAt = DateTime.Now, + CreatedUserId = UserId ?? "", + CreatedFullName = FullName ?? "System Administrator", + LastUpdatedAt = DateTime.Now, + LastUpdateUserId = UserId ?? "", + LastUpdateFullName = FullName ?? "System Administrator", }); // payment @@ -787,7 +808,13 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers PaymentType = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.Type)]?.GetValue(), ChequeNo = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.ChequeNo)]?.GetValue() ?? "", Amount = (decimal)workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.Amount)]?.GetValue(), - ChqueBankCode = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.ChqBankCode)]?.GetValue() ?? "" + ChqueBankCode = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.ChqBankCode)]?.GetValue() ?? "", + CreatedAt = DateTime.Now, + CreatedUserId = UserId ?? "", + CreatedFullName = FullName ?? "System Administrator", + LastUpdatedAt = DateTime.Now, + LastUpdateUserId = UserId ?? "", + LastUpdateFullName = FullName ?? "System Administrator", }); // occupation @@ -798,6 +825,12 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers Workplace = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.Workplace)]?.GetValue() ?? "", Telephone = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.WorkplaceTelephone)]?.GetValue() ?? "", WorkAge = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.WorkAge)]?.GetValue() ?? "", + CreatedAt = DateTime.Now, + CreatedUserId = UserId ?? "", + CreatedFullName = FullName ?? "System Administrator", + LastUpdatedAt = DateTime.Now, + LastUpdateUserId = UserId ?? "", + LastUpdateFullName = FullName ?? "System Administrator", }); // certificate @@ -806,7 +839,13 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers CertificateNo = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.CertificateNo)]?.GetValue() ?? "", Description = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.CertificateDesc)]?.GetValue() ?? "", IssueDate = Convert.ToDateTime(workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.CertificateIssueDate)]?.GetValue().ToDateTime(DateTimeFormat.Ymd, "-")), - ExpiredDate = Convert.ToDateTime(workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.CertificateExpireDate)]?.GetValue().ToDateTime(DateTimeFormat.Ymd, "-")) + ExpiredDate = Convert.ToDateTime(workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.CertificateExpireDate)]?.GetValue().ToDateTime(DateTimeFormat.Ymd, "-")), + CreatedAt = DateTime.Now, + CreatedUserId = UserId ?? "", + CreatedFullName = FullName ?? "System Administrator", + LastUpdatedAt = DateTime.Now, + LastUpdateUserId = UserId ?? "", + LastUpdateFullName = FullName ?? "System Administrator", }); r.Educations.Add(new DisableEducation() @@ -819,7 +858,13 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers GPA = (double)workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.GPA)]?.GetValue(), Specialist = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.SpecialList)]?.GetValue() ?? "", HighDegree = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.HighDegree)]?.GetValue() ?? "", - BachelorDate = Convert.ToDateTime(workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.BachelorDate)]?.GetValue().ToDateTime(DateTimeFormat.Ymd, "-")) + BachelorDate = Convert.ToDateTime(workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.BachelorDate)]?.GetValue().ToDateTime(DateTimeFormat.Ymd, "-")), + CreatedAt = DateTime.Now, + CreatedUserId = UserId ?? "", + CreatedFullName = FullName ?? "System Administrator", + LastUpdatedAt = DateTime.Now, + LastUpdateUserId = UserId ?? "", + LastUpdateFullName = FullName ?? "System Administrator", }); r.PeriodExam = imported; @@ -1020,6 +1065,9 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers CreatedAt = DateTime.Now, CreatedUserId = UserId ?? "", CreatedFullName = FullName ?? "System Administrator", + LastUpdatedAt = DateTime.Now, + LastUpdateUserId = UserId ?? "", + LastUpdateFullName = FullName ?? "System Administrator", }); //await _context.DisableImports.AddAsync(imported); @@ -1083,6 +1131,12 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers Amphur1 = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.Amphur1)]?.GetValue() ?? "", Province1 = "", ZipCode1 = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.ZipCode1)]?.GetValue() ?? "", + CreatedAt = DateTime.Now, + CreatedUserId = UserId ?? "", + CreatedFullName = FullName ?? "System Administrator", + LastUpdatedAt = DateTime.Now, + LastUpdateUserId = UserId ?? "", + LastUpdateFullName = FullName ?? "System Administrator", }); // payment @@ -1103,7 +1157,13 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers PaymentType = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.Type)]?.GetValue(), ChequeNo = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.ChequeNo)]?.GetValue() ?? "", Amount = (decimal)workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.Amount)]?.GetValue(), - ChqueBankCode = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.ChqBankCode)]?.GetValue() ?? "" + ChqueBankCode = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.ChqBankCode)]?.GetValue() ?? "", + CreatedAt = DateTime.Now, + CreatedUserId = UserId ?? "", + CreatedFullName = FullName ?? "System Administrator", + LastUpdatedAt = DateTime.Now, + LastUpdateUserId = UserId ?? "", + LastUpdateFullName = FullName ?? "System Administrator", }); // occupation @@ -1114,6 +1174,12 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers Workplace = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.Workplace)]?.GetValue() ?? "", Telephone = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.WorkplaceTelephone)]?.GetValue() ?? "", WorkAge = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.WorkAge)]?.GetValue() ?? "", + CreatedAt = DateTime.Now, + CreatedUserId = UserId ?? "", + CreatedFullName = FullName ?? "System Administrator", + LastUpdatedAt = DateTime.Now, + LastUpdateUserId = UserId ?? "", + LastUpdateFullName = FullName ?? "System Administrator", }); // certificate @@ -1122,7 +1188,13 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers CertificateNo = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.CertificateNo)]?.GetValue() ?? "", Description = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.CertificateDesc)]?.GetValue() ?? "", IssueDate = Convert.ToDateTime(workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.CertificateIssueDate)]?.GetValue().ToDateTime(DateTimeFormat.Ymd, "-")), - ExpiredDate = Convert.ToDateTime(workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.CertificateExpireDate)]?.GetValue().ToDateTime(DateTimeFormat.Ymd, "-")) + ExpiredDate = Convert.ToDateTime(workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.CertificateExpireDate)]?.GetValue().ToDateTime(DateTimeFormat.Ymd, "-")), + CreatedAt = DateTime.Now, + CreatedUserId = UserId ?? "", + CreatedFullName = FullName ?? "System Administrator", + LastUpdatedAt = DateTime.Now, + LastUpdateUserId = UserId ?? "", + LastUpdateFullName = FullName ?? "System Administrator", }); r.Educations.Add(new DisableEducation() @@ -1135,10 +1207,19 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers GPA = (double)workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.GPA)]?.GetValue(), Specialist = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.SpecialList)]?.GetValue() ?? "", HighDegree = workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.HighDegree)]?.GetValue() ?? "", - BachelorDate = Convert.ToDateTime(workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.BachelorDate)]?.GetValue().ToDateTime(DateTimeFormat.Ymd, "-")) + BachelorDate = Convert.ToDateTime(workSheet?.Cells[row, GetColumnIndex(cols, CandidateFileHeader.BachelorDate)]?.GetValue().ToDateTime(DateTimeFormat.Ymd, "-")), + CreatedAt = DateTime.Now, + CreatedUserId = UserId ?? "", + CreatedFullName = FullName ?? "System Administrator", + LastUpdatedAt = DateTime.Now, + LastUpdateUserId = UserId ?? "", + LastUpdateFullName = FullName ?? "System Administrator", }); r.PeriodExam = imported; + r.LastUpdatedAt = DateTime.Now; + r.LastUpdateUserId = UserId ?? ""; + r.LastUpdateFullName = FullName ?? "System Administrator"; _context.Disables.Add(r); //imported.Disables.Add(r); @@ -1220,6 +1301,9 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers CreatedAt = DateTime.Now, CreatedUserId = UserId ?? "", CreatedFullName = FullName ?? "System Administrator", + LastUpdatedAt = DateTime.Now, + LastUpdateUserId = UserId ?? "", + LastUpdateFullName = FullName ?? "System Administrator", }); // create new file import @@ -1273,7 +1357,9 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers r.ExamStatus = workSheet?.Cells[row, 24]?.GetValue(); r.Number = workSheet?.Cells[row, 25]?.GetValue() ?? ""; r.Major = workSheet.Name; - + r.LastUpdatedAt = DateTime.Now; + r.LastUpdateUserId = UserId ?? ""; + r.LastUpdateFullName = FullName ?? "System Administrator"; imported.Scores.Add(r); row++; diff --git a/Services/CandidateService.cs b/Services/CandidateService.cs index 3430924..84eaf56 100644 --- a/Services/CandidateService.cs +++ b/Services/CandidateService.cs @@ -650,9 +650,9 @@ namespace BMA.EHR.Recurit.Exam.Service.Services PositionExam = position, CreatedAt = DateTime.Now, CreatedUserId = UserId ?? "", + CreatedFullName = FullName ?? "", LastUpdatedAt = DateTime.Now, LastUpdateUserId = UserId ?? "", - CreatedFullName = FullName ?? "", LastUpdateFullName = FullName ?? "", UserId = UserId ?? "", }; diff --git a/Templates/ExamList.xlsx b/Templates/ExamList.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..e6bf09558b4d428010f979a9fd0fa7b0f2b4f989 GIT binary patch literal 10323 zcmeHtg;yNe_I2Y;aEAcF-7P?X;MTai)4?UUySo!KK!QtfmtetyLvV*cfCP8@I+=OD z%rNu)1@Bd_u3FtyXRoSLXWz5$Iag5z1{NCt4*&uH05X6ucfhDE6aWAV2LNCJfY3Uk zcD7DnTPFimcYCm-9kLpmL@Z*=yQ)`I`ZCEp3Ybj6~A{9oL zI~)nzNxc;hcweR-T@x3{m4lCRZ~#A9halTHZ_I2-{yKxrNf*&{*j0*6wbvxl zyMq(hIeJy*1TREMge=OSifq_PkU2sS(W}_7k4eq^;8`e^ng<)%pLEZ=c^U3W;x}h) zRMa~g-0}sC$3>~-C`?zoHd$`QBAui;p6qk>=a+{w4Qhk;v1gr$mnB&^w4nr|R5zhj=$hs4-JKJh7ScfK*o_y!eV2 zXUMSr$orxW=CkKfL|3H?s7qOS!X&FHN2rAN5S~3ezyK8gM$M67(G5L|&Yf9+3lTFb_l6;RV6 zD&NaPDjT?Sb`wW4d}mS$zM%+)@yhN`q~Y{C8k@~kc=cP8on1XuQ!(eYs5H)YctP%N zU~2vGL@c8N>&}ZwKC@q$oD=hseN?iKD(B2syO#54D9gQv8?n2z|8O86lB8%ElCl0t z61~-r#FH=p00ANZfCll5n>CB8or9IJot@RsJXWSAZ1+wAyIo_~S7;Ft8Qxkk69>O6 z8v6rzpPcrW>Be2LxZd44X7P-6BJIW4%L4(hq28B{UF(<%6P8!jxn55&<#8E*$ zeI*x9xo_pL0C(OblMy6IwINn&0_IqAVTVda+9B3Zsurc801TpJHZp!0HN8nju5M{& zJ9Hu!AiN%9Lfj>18GFJB3Xp>Ct58Q&V&48(^&xsAa?L`CqDVRp;C0q}#11QAFdb6X zWJV^tSC+`El_|&yUJ&U%9zJk63$~!`T{Wd??Rz92*s+=n{)7`PdzkNuxsj#QaVn;JIcxeqnsu zLBt_88j5tsv9;$F3e&og0ugkyy6FiYN`o-W8OQK?o=~6?d+BAHJd?qZ39UZ(>|ISs z$MhAi)|f2K6H5b8U!g@SEg?<~QG*$%1HI!VQ4Q@8oOD97-g}dEOtKj%8jppOP)*kE ze$ONP@hxwb*eGw}>eZBBAiLfw6*kIy3>(jD>=Jf2Pr-?JURFlYaoO@he04**WlhP5 zAM+F|$DN!)2c%D4@sjo8#5RbazY(4DD>+D`c3aYl`>HB^>UQ5&f2Y!OJ3cnI94^(H z?3xy*c1252mGnhJ`q}ujqIw+a_@aP8h4zLT<`F)pnH7Aa^|^lHCN=!0{{6^{94^?J zT(1wY9_ePY&Fi}YI&Azh8mj_&->mxKGAv>xwTGmq&q?0Xvi8NAieE)7hIqvDWra(OJ&H=Z$I?T~Yz#p>zF^>S)1%dOqBv4bzG*5Bogo5z@k39L;QQ$v06AB_} zA*0BD_g1DXC({FwbV&E1tgaa@I2dzIEadxYduYIcTDk>lG7g{96+-%EJo8bnoeV`0n6MsL)(3oWcEcybFhJw)<<9~n;jl3GclS!aBcY}{Vl}-? z=x5Bv=J|R_OGOa+u7F(Zv}q!Q({hB>ncdQHjCc@|Glpt6{jP&l_R9lm8yZN{>0WI; zG>I;p!@mu1CmBB>K$PZ3aR-d=Op!5Mc8Z?^k6UkF$+?eMb-ues-XbcMc~-(D;1%LT z8rm;O;!Bs{xRsaIqIR(6ByuxI*RgQSICOgOYIC4(dIj>P{~0o9(72VBkYHj$008hI zSNxeW9L>RCCr6fF2ezNNBQsGtHiH$r?;!b_IPL&yzmmZe8wJbRR;_Soj*VKg^UeH7 zLCH!RT0grQvpMBQwAE|QhGc^n$)rYiOcyG!jEY*c(g)?yUbA*2J8C67TiNdg5&CgnddyfEzCV#ucMCnJI4B>-cpw z|HL=9;zQzeIo;msF<;eU)Oi@b_UkZ*TwT#!jwD5436Jq$C{p+|_?(4oLPn53jKn&7-mP*I1)tF?=q3d5L{Sfk zzA+)lb9dN&&y0HeK;~^0f_eXI-1!wrUU9;xU8LyZA4I+a^5LSYaw)ZO^#e((n62eH zOB!4&(6Z>+lYE9_^SRG7f&>>Z>ipb}lM!dV_JCvUx|LbmLW8_c+gpegZOq>Fs z$t*?iaR)yIGbpf%_=mG*CFO+|;&B$Wv|pUDkVt92P+o~uJldQ#3=qGsBb~zMr_@R_ zRNWl^(AFPl^UXTn*(WGF-JNrJAET#kNt+?GVToK*dzMK#xe2%SiG8N+AEls3Ex zIzS}F2X$i4K!5Sx7vejw9yWP*hE|aaTJYE8^D3^n6Po68GIvL}(NY#>F)WV$b>7p7 zhu$s^;pQjOpXG^P{B$x0+kjbq?SD~oUu!s$kQ=)L?^+Pq(e;*VBbI7;b<{d>iPAJH ziKwoAUrC*VJ)xBl3z~}eOquq5eyWI_K+=Q|3`*N+EFxv?H`lPxj-s1KV5eF{6!DYx- zF2|=xxYQ3YR`m2{C!^R$Ne20P7Pl&_vBis^MA5EjlvGjWR&8`wi-ZO5DE}ZPn?E+n zX5)Ld?m2Nmi;3xDenoY+jn}|}JFZSGwgs;xYMb-G-Xv@2r8(|+{H@b+f)p62?U`=? zQ>5E>ws)u9Q9n@#WzHFpTu?vzVlUY?&Im>EdOEj7<3Mc)cX`Y}ucnE(BsO>^N7c77 zgao;HRUGMqFx^Yt?$E4Pg=Tv*IoJj|-7_-Z^%WaVtrW$i9U4QJgX=6^o91y$yLMu* zmXQO6+Y;zTmEurJ_mx#-HOaZRw4;8ozXbR}D^p6Z5A-4{i~*|~BWZb8dlslBftYq7 znAC=is&ptIwaX7L{qGAXBI;S$-zV!ChHDZkpSv0N49M2sGUQBild@zBc-|j=I|=O& z@IBqR>Ncous-u^&MW9kq`7s@9@NjpBw`|aHf4F;r_G&1#^g7 z4okcD@$t7rycO@WZG~9k`2`~4H-}{5RfiR8CI{4!M*gTbM^J)UJ**-<2|^eP#2gqX#RM3+2%uck=3+-mnnr2Gj$`q{eSa1Oo~C&kJ0E%+)1N<|SQA=0r1zqMT4t#pxIet~>=}IQYWfTfmIc1I!xDH|5|ExZoDZWb zSq1PLg#e!*<1Gb*;oR$rWtD1M|47Q1&3KLmgDs)nhLyM(-8&jyO>^ry_{Wv zTc)*o`43Vb9PeZ+v{r3#kR|;Xg6nM&arK669gjj_Em}}&rfIT-8X><-=X%4qm_)&} z@tRtYhJ8ME3|U(gy!0_MLiSA6je|PJI!QIzk9|FzKLQ=2QN>h(S<-d+xF7cD1`v8I#ev_g>It! zAUs?A8_%R3CIcqlWE9SEqC6W04L|gk+8gOY3?vz^(Vh7E-Pk)REJBv>m9phY{MS?} z?C(o@SBT3f=ZL!6NTOrgU|wuGN&xkuaUCOm9E4%W1XBcSqFJC@s`- zFanVkrk-EgI7{#d997T=_Gf+8b{1mX17%%a4=%P&zd~^J=l8JpOfZwRL;eyFAa9VS0B2o)ZKNaM_VCE>L32KqOvIHrmG9lJYOIc6^NMlDUThU+^xZmKQ-}Z zbsam1CiZz-`(SvLJ>2sy;x{(;Tn4Wru;NC-pha*Z`)Kt7NfwP-$ejV-V#?`{g zB~#yymJ3K~nz0tmHoWM(;2;WTp`a>CRW=1eGBzxkv0X3+m3*BuGNqZ{Nx(QTN$GN zeO!Sxtc|NVrSBuPg2opsU-jFT8eHuqtPuiXjnn%9EE2y5nAK+;aOY7c(u@eA*&-7J zC19vhbE1{~r@-`}YkX!jnT|7ktLl@$ol)-Eh?>EOhW0lgxHHQ)Y70m5x2)0$T5h-= zW=7aO!Ymt>r)Jf8#O3Tnp?A57o|>H=BX+x+lMV^4 z!xrUFLUWrIz5UwKT{fuuu2C?4Omy2b^)_CmB!;eB2|7x^6O5hCVC(b!(2rI`sBYao z>k8xW`-s-CNd{<<&DVYpi?$?}0&=^Rgz*Jyd^+~^Ng;E*W>$1NhJz|aMMe?NK{W@f zmNHeb^!49oD<__UW`#l%c6Yb!ux~}>)ej&1CQ41%#}T_Yq9$_Q=t zmFbnd8;F7?99M?s2@CEJINr_Q^~muU_|S{B_+aK|dD!hfw3hp211xzwBdHTYlj!fW za_e`VtzUm_tuJP#w=(uI zCL$@G#`%_MwpqvgHSOZ89-VnWws@(sBszaYcsglbWiBeXl<=KOD#6B(NSWk#0j;ww zuT068>o<1xU*>Nsx%fKj5|}k67=k2&=(>oz2)Y=PSXLsi^`*yS@1k4^feOHFU;~h3 zR*y^;eYtxJbIo_bTk|1AXoR;*&Mw3(DA

eJ7JK7^e6wndKln<9iHN^zma_rfd_* z?=#tz+mx+v9IsynZANw&FzoD2<3XJDPj~X!u*-Bp&WJ$VN%4m}e^!Y8ob>-uGWtFB z|5Y#witUW(V#OA}fVmfS^Gy5_j4Z0cP2Q-s4P$&g55JHacY%H9SwjT=xV2?Jy7fHc zhQFBb6>2==R5Nt&rU{;T<)P<1Q-^RB&+Z~NA`^d{(Ij(wI*hzLD7-ID69=g(Sc&ou zzuTv0t||txIPT@wIq7hB)`6=?!m+XvOPgZ@gjyE)x&y{dZ;ikg0?JzV`!U`m{I>5p zMx>5MgQR)m3}5C+@%D>g-g7@WEwK4KbaDFnJRhW37^x$zOZfTrv5IY@EOJNpP}<}US;Lhvvvv%$Oyn22;&E3jX~ zhg@t6f4KTFDEej0fXT!nC8R}pwu-rj<(Q(RXCV;bl49ji+ah|evY41>P~O&=k*Ts=m{NZIylAmLbu2`eNz1L~%lLzb%zD zl6+dKnx_0FA4fSuKIibHc7P;si&7?$kcteG&*A%QFrP+Kt3(gQK})gqM2O4~O2_pA z_rC^chbWCB2=aP7A#-93NFmeI&P36{&fby5#LfZyXG{Kn^-GBBq7w9Ex>@mq58xg| z2fR~#=$_7_s=90$R)(+ZNiCQ6ehs9oS?J)lY0yp!NFCrkNOaUs7)8rNeAzjxJpkQX z1B4?@Td!Nh*#Xx84-^fFlQW-#MEqk6$6H(52h*r!2{Z}vI~$)`uS!o~79gqe79xI1 zQ6nwNat}RSS0@n85=fnN1sFH7 z?uNTz_W_1t{{u`L`|F5#;<^K;2tKgm^RRa}hI`|)_20|nZt!3FMy;fb?zLNL4%uoT zE2cS0yn)(HqMPy5qZ^>tMkoc*Sy;&E#n8mqW}wvBe#7f1_ZK93c-qW)oqBED?f4Of zBpJDPWYFsRvQ{gHJv@Oks+zTFPK-eMKsu?-mDlI9>v$;AYtV_EaY~#uh#zK<$iOT0 z80p`}hvn#8j3Gz>f*{%t{jULNWN-h!_=5!ApIc^Pr!5v6B@bS*BnmcNy zPlPX1kuWpm2T4O~r|W(LON`)-qGiYRAbMu$XMe~dS|KZMHAQVA4?V-Cld2b%_K zD$qJRz$M$iqundQ{-h4QG0t2}_k?P#r+?@P=R`NBKwhQ981E*+8FSoecq04*Hz#-X zmg9D$9I-#Ir}j*K0`vycl?+w+>w=G)bJ`*UJBp_9wy4Jw^oxf{<7@H5`Lsq)1Kr6$ z2vN&ivvgrD<{Y_Y8)co+FqqMDnI43FE>a2HUBZ!x@e-O;oDyYUzK}FGml12<&(9(? zKnwMmbDj=Y5P5{wd3^56BE!A;^gIV4yzAwe0+s{Lm}QP!qdFva~GG z-jTz0nMTTIS=4G{rGZ{^LA#NAZh(m7uDfKb&;rjF%}@y@WY<&S^ zG*5a7+6cry#c#WTz5UrJ{v$y`K{G+r)xR%{`p*mh&+%WDNh!+w9pLXvHvVJy^H>OB z)n68HJT`pX#{O;k8UFt|6#r>zKQ{h*5A3%o0Py+AFXR7DN9-}q#0DuhnP(#8PkLu^I{|CvN(WU?Z literal 0 HcmV?d00001 diff --git a/Templates/PassAExamList.xlsx b/Templates/PassAExamList.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..31b9ebac21574476dd52e2dd67b86da2208afc0b GIT binary patch literal 10377 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 literal 0 HcmV?d00001 diff --git a/Templates/PassExamList.xlsx b/Templates/PassExamList.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..ebcbf4ecb5645c294cf772c4c66abc61dd9d37f4 GIT binary patch literal 10468 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 NsK9AlLizLC{{wEvD0Bb- literal 0 HcmV?d00001