From 5f35f82bfe0a8cb25b6eacbc2fb05d687074b0dc Mon Sep 17 00:00:00 2001 From: Arush25 Date: Tue, 31 Mar 2020 23:22:05 +0530 Subject: [PATCH] Arush 1710991142 G-01 --- Library/bin/AdminLogin$1.class | Bin 0 -> 701 bytes Library/bin/AdminLogin$2.class | Bin 0 -> 1547 bytes Library/bin/AdminLogin.class | Bin 0 -> 4159 bytes Library/bin/AdminSuccess$1.class | Bin 0 -> 711 bytes Library/bin/AdminSuccess$2.class | Bin 0 -> 748 bytes Library/bin/AdminSuccess$3.class | Bin 0 -> 703 bytes Library/bin/AdminSuccess$4.class | Bin 0 -> 750 bytes Library/bin/AdminSuccess$5.class | Bin 0 -> 745 bytes Library/bin/AdminSuccess.class | Bin 0 -> 3758 bytes Library/bin/BookDao.class | Bin 0 -> 1421 bytes Library/bin/BooksForm$1.class | Bin 0 -> 696 bytes Library/bin/BooksForm$2.class | Bin 0 -> 1682 bytes Library/bin/BooksForm.class | Bin 0 -> 5335 bytes Library/bin/DB.class | Bin 0 -> 941 bytes Library/bin/DeleteLibrarian$1.class | Bin 0 -> 726 bytes Library/bin/DeleteLibrarian$2.class | Bin 0 -> 1379 bytes Library/bin/DeleteLibrarian$3.class | Bin 0 -> 765 bytes Library/bin/DeleteLibrarian.class | Bin 0 -> 3746 bytes Library/bin/IssueBookDao.class | Bin 0 -> 2485 bytes Library/bin/IssueBookForm$1.class | Bin 0 -> 716 bytes Library/bin/IssueBookForm$2.class | Bin 0 -> 1735 bytes Library/bin/IssueBookForm$3.class | Bin 0 -> 757 bytes Library/bin/IssueBookForm.class | Bin 0 -> 5322 bytes Library/bin/LibrarianDao.class | Bin 0 -> 2271 bytes Library/bin/LibrarianForm$1.class | Bin 0 -> 716 bytes Library/bin/LibrarianForm$2.class | Bin 0 -> 1864 bytes Library/bin/LibrarianForm$3.class | Bin 0 -> 753 bytes Library/bin/LibrarianForm.class | Bin 0 -> 5794 bytes Library/bin/LibrarianLogin$1.class | Bin 0 -> 721 bytes Library/bin/LibrarianLogin$2.class | Bin 0 -> 1586 bytes Library/bin/LibrarianLogin.class | Bin 0 -> 4195 bytes Library/bin/LibrarianSuccess$1.class | Bin 0 -> 731 bytes Library/bin/LibrarianSuccess$2.class | Bin 0 -> 768 bytes Library/bin/LibrarianSuccess$3.class | Bin 0 -> 723 bytes Library/bin/LibrarianSuccess$4.class | Bin 0 -> 772 bytes Library/bin/LibrarianSuccess$5.class | Bin 0 -> 726 bytes Library/bin/LibrarianSuccess$6.class | Bin 0 -> 769 bytes Library/bin/LibrarianSuccess$7.class | Bin 0 -> 766 bytes Library/bin/LibrarianSuccess.class | Bin 0 -> 4230 bytes Library/bin/Library$1.class | Bin 0 -> 686 bytes Library/bin/Library$2.class | Bin 0 -> 715 bytes Library/bin/Library$3.class | Bin 0 -> 674 bytes Library/bin/Library.class | Bin 0 -> 3811 bytes Library/bin/ReturnBook$1.class | Bin 0 -> 701 bytes Library/bin/ReturnBook$2.class | Bin 0 -> 1398 bytes Library/bin/ReturnBook$3.class | Bin 0 -> 739 bytes Library/bin/ReturnBook.class | Bin 0 -> 4812 bytes Library/bin/ReturnBookDao.class | Bin 0 -> 2024 bytes Library/bin/ViewBooks$1.class | Bin 0 -> 692 bytes Library/bin/ViewBooks.class | Bin 0 -> 2888 bytes Library/bin/ViewIssuedBooks$1.class | Bin 0 -> 722 bytes Library/bin/ViewIssuedBooks.class | Bin 0 -> 2917 bytes Library/bin/ViewLibrarian$1.class | Bin 0 -> 712 bytes Library/bin/ViewLibrarian.class | Bin 0 -> 2908 bytes Library/bin/books.sql | 54 ++++++++ Library/bin/issuebooks.sql | 50 +++++++ Library/bin/librarian.sql | 51 +++++++ Library/src/AdminLogin.java | 121 +++++++++++++++++ Library/src/AdminSuccess.java | 117 ++++++++++++++++ Library/src/BookDao.java | 20 +++ Library/src/BooksForm.java | 172 ++++++++++++++++++++++++ Library/src/DB.java | 14 ++ Library/src/DeleteLibrarian.java | 113 ++++++++++++++++ Library/src/IssueBookDao.java | 63 +++++++++ Library/src/IssueBookForm.java | 181 +++++++++++++++++++++++++ Library/src/LibrarianDao.java | 47 +++++++ Library/src/LibrarianForm.java | 193 +++++++++++++++++++++++++++ Library/src/LibrarianLogin.java | 122 +++++++++++++++++ Library/src/LibrarianSuccess.java | 141 +++++++++++++++++++ Library/src/Library.java | 95 +++++++++++++ Library/src/ReturnBook.java | 148 ++++++++++++++++++++ Library/src/ReturnBookDao.java | 50 +++++++ Library/src/ViewBooks.java | 78 +++++++++++ Library/src/ViewIssuedBooks.java | 78 +++++++++++ Library/src/ViewLibrarian.java | 77 +++++++++++ Library/src/books.sql | 54 ++++++++ Library/src/issuebooks.sql | 50 +++++++ Library/src/librarian.sql | 51 +++++++ 78 files changed, 2140 insertions(+) create mode 100644 Library/bin/AdminLogin$1.class create mode 100644 Library/bin/AdminLogin$2.class create mode 100644 Library/bin/AdminLogin.class create mode 100644 Library/bin/AdminSuccess$1.class create mode 100644 Library/bin/AdminSuccess$2.class create mode 100644 Library/bin/AdminSuccess$3.class create mode 100644 Library/bin/AdminSuccess$4.class create mode 100644 Library/bin/AdminSuccess$5.class create mode 100644 Library/bin/AdminSuccess.class create mode 100644 Library/bin/BookDao.class create mode 100644 Library/bin/BooksForm$1.class create mode 100644 Library/bin/BooksForm$2.class create mode 100644 Library/bin/BooksForm.class create mode 100644 Library/bin/DB.class create mode 100644 Library/bin/DeleteLibrarian$1.class create mode 100644 Library/bin/DeleteLibrarian$2.class create mode 100644 Library/bin/DeleteLibrarian$3.class create mode 100644 Library/bin/DeleteLibrarian.class create mode 100644 Library/bin/IssueBookDao.class create mode 100644 Library/bin/IssueBookForm$1.class create mode 100644 Library/bin/IssueBookForm$2.class create mode 100644 Library/bin/IssueBookForm$3.class create mode 100644 Library/bin/IssueBookForm.class create mode 100644 Library/bin/LibrarianDao.class create mode 100644 Library/bin/LibrarianForm$1.class create mode 100644 Library/bin/LibrarianForm$2.class create mode 100644 Library/bin/LibrarianForm$3.class create mode 100644 Library/bin/LibrarianForm.class create mode 100644 Library/bin/LibrarianLogin$1.class create mode 100644 Library/bin/LibrarianLogin$2.class create mode 100644 Library/bin/LibrarianLogin.class create mode 100644 Library/bin/LibrarianSuccess$1.class create mode 100644 Library/bin/LibrarianSuccess$2.class create mode 100644 Library/bin/LibrarianSuccess$3.class create mode 100644 Library/bin/LibrarianSuccess$4.class create mode 100644 Library/bin/LibrarianSuccess$5.class create mode 100644 Library/bin/LibrarianSuccess$6.class create mode 100644 Library/bin/LibrarianSuccess$7.class create mode 100644 Library/bin/LibrarianSuccess.class create mode 100644 Library/bin/Library$1.class create mode 100644 Library/bin/Library$2.class create mode 100644 Library/bin/Library$3.class create mode 100644 Library/bin/Library.class create mode 100644 Library/bin/ReturnBook$1.class create mode 100644 Library/bin/ReturnBook$2.class create mode 100644 Library/bin/ReturnBook$3.class create mode 100644 Library/bin/ReturnBook.class create mode 100644 Library/bin/ReturnBookDao.class create mode 100644 Library/bin/ViewBooks$1.class create mode 100644 Library/bin/ViewBooks.class create mode 100644 Library/bin/ViewIssuedBooks$1.class create mode 100644 Library/bin/ViewIssuedBooks.class create mode 100644 Library/bin/ViewLibrarian$1.class create mode 100644 Library/bin/ViewLibrarian.class create mode 100644 Library/bin/books.sql create mode 100644 Library/bin/issuebooks.sql create mode 100644 Library/bin/librarian.sql create mode 100644 Library/src/AdminLogin.java create mode 100644 Library/src/AdminSuccess.java create mode 100644 Library/src/BookDao.java create mode 100644 Library/src/BooksForm.java create mode 100644 Library/src/DB.java create mode 100644 Library/src/DeleteLibrarian.java create mode 100644 Library/src/IssueBookDao.java create mode 100644 Library/src/IssueBookForm.java create mode 100644 Library/src/LibrarianDao.java create mode 100644 Library/src/LibrarianForm.java create mode 100644 Library/src/LibrarianLogin.java create mode 100644 Library/src/LibrarianSuccess.java create mode 100644 Library/src/Library.java create mode 100644 Library/src/ReturnBook.java create mode 100644 Library/src/ReturnBookDao.java create mode 100644 Library/src/ViewBooks.java create mode 100644 Library/src/ViewIssuedBooks.java create mode 100644 Library/src/ViewLibrarian.java create mode 100644 Library/src/books.sql create mode 100644 Library/src/issuebooks.sql create mode 100644 Library/src/librarian.sql diff --git a/Library/bin/AdminLogin$1.class b/Library/bin/AdminLogin$1.class new file mode 100644 index 0000000000000000000000000000000000000000..ee5c56f78139c0da4beeaafbf3008dfa85cb380c GIT binary patch literal 701 zcmZuuU279T6g`t{y6tw_m^6vD+G;gw(t<_wEh0#%AZ!&(2&hk!&6rNz%!b{K_>X+9 zLJJE10DqKtb`wk<9GH(g_ndprocaCd$1ea+apymYE^gmWtyP0i3#>dd)}+q`imi5Ez&VbF+CvfR5-wH+%D%Ds^>jSY zac{<``ca_5zKTs2&o70_+M)FPMI zoeZ@tv4fi=Cpzt$#N>*d*86tf!!B;S*b~@Vyz1mjpeLz`ti+vM`y@6t?WQXD)QeTX z4uZ4p|A#@T8#(Y)P3BMXy3sTa^h=Z3R9?t`l+k%}VuLVBj2)fo^eh@mw9ux3V`Z#B zqxE5_O*f^GQ71E4zOq)w$Dv9Rolqt%;wywGvd$xE07SGmE8G>%DXFUeMjvZYR)BYe8sANc!^sVIk$ouy)3d4_#2s! zeRjD^_wS*OCbsb)@6?!8n|G>H!9G!fs7!XD=VI4knI^*m?vn&UDtL$ko;(7x*Kqs= DB1VS# literal 0 HcmV?d00001 diff --git a/Library/bin/AdminLogin$2.class b/Library/bin/AdminLogin$2.class new file mode 100644 index 0000000000000000000000000000000000000000..b1a608d085e0f03cd29111886cdb8f42a54dc790 GIT binary patch literal 1547 zcmaJ>e|Hl_6ur{~HeE+j0s_S%sZ>ZpX=p&LrXnRxp*3j>X`@nqFiocE;$}DQZd&{( zeggm2qp`>3yokW0^>^{|vz`#j?OJP(U26=s;oglx|2rSpBSbm@#?FpO=_AP(r zCKaq4S1eL|(Q>TdjzBUq{32Tyh?m@^9*4l&5(W|`Vn|AiV?rR7;e=$xa`bw)y{o+~ zwQFmERK;y5yRJNopQB)$mlilRRDY&GOD9!`aZ`JHuGiL0fy0;s3B;!I{X^Gl4uE8kGmsUyI09rO zOX50a1>PbsgE(zbCc9HIF^8K5@*~pdgOiv?ffyVpyQ??$h-qf0^coHc+!i>YSZZAD zBZ-f(K;qCpc9l(g_fE7iL#iugA1ClBQ|4LogTamT=C1I^aD;f6?jj=O}ktt=;8 z|J4p=>*LhJdlDri2*#eL+M2ssmRMo68BNRYxV}!{fxvXl^}L^E)7!rG97;^PUV6}w zblLM|`H=>1bl4=D%Fz-V*c3SJ@4JUpl96iZWlPy^OJH$G zlqI*_aUB-p5R1MGha-_PR zZlIPjefC`FnPExNu5==Wk$Y=_YWz@Doyd-6&Fy*(y<)LplgB=q<1!Q}I}O|QN!e8$ z?7QSjx$4jnQnIO{_K~IoAx75;h=~b47wE7WqidX4l00d&K+ha8bJzcX%>9W|zlJ%d zITpU**>{nmXGwE7dIo3dPC~=EsLBh(=?gr`{SJAA^F3Uu_J>z`xORja>$9m_J$(2x zrf#G@2?u9le`D?l#ow^h!}2e<#`&rHsnysKzKF`C9`;a+>hSnW#ufu(%MlLX9&spP z63gVbG76-?1>8pw59ogtHLT%#QWIm(_3=g62`Rq9*CG0CJjM<&ouoP6&?ts)DPLmj gUla|@(eDbyzN6R}ReM7BILSQ;MI-Ja_k=$G1JsjrcmMzZ literal 0 HcmV?d00001 diff --git a/Library/bin/AdminLogin.class b/Library/bin/AdminLogin.class new file mode 100644 index 0000000000000000000000000000000000000000..2b93e1d8dbee4cc44383a7c88f394eef0d49be70 GIT binary patch literal 4159 zcmbVPTXa-c8UA)I%w#x_lcW?vp@v&KxsV|!CQB|Nr;j|GabK)z<-h2-iKR5b*Ux;)WSaL=Dq}DuMd5+N^dVkeoBjXkd82(&D;6 z^=Wrif=kq00xPEzrmdUym}ZjbwqVgyc^D&6jjdm>2Mj$H5m;ADGMT#}*{T^WnVd^l zku2$kV$!j~Tas7BHNzCR-GAJn3&b?SovMg0-F_V z!B$!>soMwj(^@KK_r(%P{qT%#X||D|4XXS@62HJ*3hsuV7AI|QB4tL%+~XhOPjkqF zmQvq34)UQH4K;kcU4aK)4*~*r7Wy$vm*`fYKR#n$>~;1&w4+1X&@Uf{29GpQdtjE0AC!jh$ zZgQfyX&_<6edt8D#CSkpO`)IiAyR{09Q2@%5b_T1OT-eEf_@Cps)OS_Q{?RW*hRzJ zF3I_jf*}kuW(l6s^r$7RO;2VeEm2F{K@#Rg3{WL6Mj3sR+L=UL^Wh$hNuWnc0xAns z`c8_RP%w#m=}$+bY10-3!X#JP$cy_Jr2WiEt7(*p+vx>WsC5r=8Pw^)aVAcokB9S# z=)*BL93D_m1E2gnr9hJr=yN<3OU2Ek2h-U+$+>vAH)Y!i(+gQF95?t7Mz;rNiW6|B z4^f4%0q^8^&ron^bWmVRQ6(!7u=I#gmBK>`K7mitu+x^#3NxlzS}dl=oCg9ySNWX5 zmuJ&lR#Xu;N8G~-9>Jqb4_DlTem+I`hL#i9>Mzf>$u@=ral)lbU;i{XGY%xDWIA zya%5XxVxOuO4ulP9A98&(Dj4bj6fR;TUmul-cqG`d{M!d@MT6EIrJssGYOL#33M04 zP5!v+R#;!flO8-Fu&taXMdnrTReX&hAoY;pBygy_^Bjuz0aL`8T3*H1rIz0i*msL+ zm2#TLHzm?<2@L=L@NRZP3g3}|{9S>O@@(_z(siu7A4&mV#rLJ^KM**utm?ASm5rBD zX7l)=f*;{omLVrvvYo~WyzOk74`elt-P>`04RWc6gmThnNv$2TKQOE^LVy`wmttXRPcW^)|Za77cmU>{p zn+}1N_j{8=?erGD^GzgD*0erg$eFKp$t3NvZczCllZ~t|##vUU*=q7x;K82+HkKzP>C{s>J1Yr~Bt4faeRq&!3E4ZtWvz@cDsXHs1pF>fDRai~>T7K;zo#47M z19fT<^)KW07aiga{O#in)3DYFUxSrWQ4# zM(V_yb)qeeZ7mrzlYQ#~+FD*hTL$e@Uj8g%M;bd@37)khX_y0faWDud`0 zQ5k8(NIOGXYXQj&Qd3gwBIY`)8~N`VE~fEdV|5yzk{_SWeW;hy_-tz$SJL>3bE`J+ zAV)&jPi^P_G@e!ix%0|2zD?dqo=Zp-b$G7s!S~Ym9;wJh(w=h;p2_j7L&iO5tWs~N zA@xQYKd!@*Wa!ZU)CHKwB;ly*v*KPPQVGM+{zip-D+Q?=3hpIDiAXKDub1~y+%`v? zI+ll&#!Dn_liDukgF&oDADzCP5!TKzF~Gl_c3?9)_?N&=?B(wP?7|3k;{=END5ux+ zJiUy495}jh1qbjn4zu=-VF5?5h;jT96L^aQ?jLb4t|NrM;y(P1`@iET{(&j{lXK|5 za2)@}{rC^}|0U=5@PP2*q^QLyv61^G92HwIDei(M+A$$I5Ei>RsCFYFhB=px@q2<} zb_h{%lym7R7(&NcVQ>^R5fihBi%T%Yquf8n5%h7)h$nDfJOxWU!~L^JisxaASCA5K z@ae&ePPwsDo2SS=m-0yh_(TUnpdr>$?#D1AxMu0RR91 literal 0 HcmV?d00001 diff --git a/Library/bin/AdminSuccess$1.class b/Library/bin/AdminSuccess$1.class new file mode 100644 index 0000000000000000000000000000000000000000..ed5c6f3499c2f9e898b8c8be8c723a033447c845 GIT binary patch literal 711 zcmZuvU279T6g`t{y6twGnly=~Hm%jFNedRyw}>F6g0NLEA)r1@He)()X^AISiD*(lc#z@?4s5;rN%~8z+H4Xs9<%4TirziHw8)`BRL_T z@->8R7T0vKiQ58BtdfC_bnoPMg9~h(=eZTssAiE! z;6ySaTddNe{@bWy2Tknel^Qd&d8IlT?BXsF?lFTuWZy>1BFrAm0`B7hPm3TAvCo^s Jz^og7e*xZ6i$(wd literal 0 HcmV?d00001 diff --git a/Library/bin/AdminSuccess$2.class b/Library/bin/AdminSuccess$2.class new file mode 100644 index 0000000000000000000000000000000000000000..4a7c1c53e74abe3c956c84986879295a439cb598 GIT binary patch literal 748 zcmaJm%wWRU<{QQV~jNL0N4fk}rOmY^Lp$-C3EL)ZeAx z13`a)KT5o_37CMmaG9Aq_nv#snf>+q`%eIm@gP8np|&&1ls)ULOaIF;*IStqqL42$kW+4duXjAt>o>E^l8%DrG{ zM)Oyl0YhasAIT~hmN^0}g(#!WQALBH9QlHJth9VH&W6&w6~k0Ati*XD(t$9_pQp)+ zA5YxpCbTzcd|ebw52ZQEO(sVS>rwnqF?(Lvc4rXa@|+8OXOun;aTTipt`XH(4UHeK z_X&|>4cAFXCX{AqMeioyg@2Pyf~?{OZUwl>z-QgzxQ!)-g(D*}8B)z1j=NraFjDq? zZb>bpSp6SghOnQHO(OS|cc(dv|Iq6s3-)x9=9WafmhL1c3;0V-ueO^CYo(>R9KapSw6V1>?{dVKagF3`$w5v?i8 zD_T8Dt^5O*zTwIztbalKFH((I08fd*7MAg>Kx<7prfAfQdx!|9j1JY7(8UI=71B`0 MecE}(em;GF0OZu3>;M1& literal 0 HcmV?d00001 diff --git a/Library/bin/AdminSuccess$3.class b/Library/bin/AdminSuccess$3.class new file mode 100644 index 0000000000000000000000000000000000000000..f3613b586d538368d8fca3be3ce4cf2f9448d618 GIT binary patch literal 703 zcmaJ;T~8W86g>mfh3!_rD%KWiTWJfJh>1R!_)&<_#AN%C(D2fyVHsh}GMmf}`n!BE zZA|nB^hY(`S$F_rI?3eD{W|yDGk^cx-UHahX9p>U#dd!rRc9OoB95y&4l)dd3x3I) zAyb4N>h%aplXN zwiJ|y3f|HpBQ6y~srG9Ep6EB}BuL70Js@?;{~OKVcA~Kk#HqB47H5UrvXp6?6BUF} zOnklyGmQEUJ~DW-h2)+o`jX?2$FYdJvVeFj!2SdHoXQ*?81Df*mVd*s`Q+t|E; z*Z7Ua>!hY=V@bw#A7Y7ok9utMC6>uDte`YSX_2)k+4LP&|6uJg#uu91N-#>3x+w;A aV13H+J@u#X0UKm9s3MO~^s+qdR5}kVxtFv6 literal 0 HcmV?d00001 diff --git a/Library/bin/AdminSuccess$4.class b/Library/bin/AdminSuccess$4.class new file mode 100644 index 0000000000000000000000000000000000000000..7f2ea460ae52c2b7904072e7403ce9ab160d416b GIT binary patch literal 750 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 H+wl7b5&?yG literal 0 HcmV?d00001 diff --git a/Library/bin/BooksForm$2.class b/Library/bin/BooksForm$2.class new file mode 100644 index 0000000000000000000000000000000000000000..a5f6e64de66b12a18d9dfba642721f38b991d2af GIT binary patch literal 1682 zcma)6ZC4XV6n=&THi=t6DhL*9u-GPuMiHq6YO4WiG`zH-v8`C0BtuwPcGKMr$e-!g zer`{-IXy>zKz~%*XLfU7seEWocK6ORckX@e+x+$SpKk%oLK)~0ICI~1cl{OD+nby* zkQ5kvA@^m$mQJ&n@noj%nrC{NxNB56F<$%jF|_Vd5)+M~gHwib)e!;v8;j@DmfcI5?xhDHB)Y;4KYaGjTl*&Sr1}Ec8u* zv&V%lIe}^_&%`avGTfH*d__!PxSO;%t9&VgIovVuDFe`{T9U4b&oIxT`f{IzDxY%d z-RS-gQp%T7SQHowOOln1hH7N}c36(>wrw9yWN;T>8u&us{E1Yrw{(MUNJp8thx-iI z-*FFCSw`7ZOO~|Vra(T{6GeBgdiU?n%sQx4ijkniVRWSVc;pciWSDO4n@N#D<;&qha|i*HnA@p!66M;;{ZF_aKV(D@2 zKN_>^`V41w*{R#E&(2>}q{5jsOAc?BqAh)2`N;CNNbu=}7#!4>2CuOmK51l#o}qMy zYmH>4uD*gf^#}TY4Ry|HEZotjzr_&OCeLW}eVpT$t&Wk%ig-kwG_n1u-(hxe{xvSH zM&d^l*CO#_iu1`x&TF|hlBc!YH`dodVa}MoHkKUg9X2|+J(n6z{fu#~G_=sc=ZQBc zcCh>#9=*oeFC?oszUGEzoPcILkAA)%GqUflZt^P8e+NyQ%2NDeeViUCs8iDwJ(%iq7R C#EPT< literal 0 HcmV?d00001 diff --git a/Library/bin/BooksForm.class b/Library/bin/BooksForm.class new file mode 100644 index 0000000000000000000000000000000000000000..c993dcdb06a21a9b95c6d6f8f8edfe0e0bb9abd4 GIT binary patch literal 5335 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 Hu_W?8?mh8E literal 0 HcmV?d00001 diff --git a/Library/bin/DB.class b/Library/bin/DB.class new file mode 100644 index 0000000000000000000000000000000000000000..77e3a688340a3698c76b9f4bc50e44cb3afde5fe GIT binary patch literal 941 zcmZuwO>+`K5Ph?d3|}$05u))Ui5dlB*eDt;usj6fB@nH`!t<~h$>M(C?vgS`e~nl5 zpeYaj0DqL)vrCMa6jeQR_jJG4^Ll^&`u+pJLp-BCIP6D+-|=fz=Je zR)ZXPL0GTVHn)sW24M^~?H_zI2RhyC0Elf5GbdSKO_9qU#!T6tF=B zs(q0dC=d-P`lTtSmL(g(6)CEbXJ9kB$#EYKs6&msJhb1`hH?5R$!u_nZ&6&s<3FP+ B*_QwS literal 0 HcmV?d00001 diff --git a/Library/bin/DeleteLibrarian$1.class b/Library/bin/DeleteLibrarian$1.class new file mode 100644 index 0000000000000000000000000000000000000000..e2d335f406d5f09ea18e33e7dd83942e332a15a3 GIT binary patch literal 726 zcmZuv(M}UV6g|^!Sy&darL9seh@!TTNQ}PK_=1?2ESlJ+3Gy^u#xl5_ZFZ-|Kk^w( zAkoAR@S}`pw~d(UCbKhl?!D)nd++@G_3a0Mr`UB-5GcP;k+Le#gG44;n(fCf9D(a+ z@}t~~q#5qL8Jwxmx>yjXT;0B%7$XOf5?FYqjkeDPimi5Ez}b&al!qdgeYjW@SPisM zuP38{N_x|bN)U%K>SugJm|Z&dRHp)K!9RjJgia>LMTKBs03jIIVZ>zK13@U2IUnRgnjuLN&HJHa_m;rHm78Y}d;0 zLobmbX#`g-_)i8!ujGM;ay+Zh>&BBLR4;Ybwd!0Uk1`C_cVNOOPPG{xDtj8A_-LWc zrjDdG0`=DMUtC>FHN#HUbpMqxD%p=@nyQpq*)gsX=Um|87-%i=^n|a_ z{=Gb`0f){N+Ws^M*RV>9ui+0s%E%0|@g3!(ORRlG^$V)b1#W)EVz7IG+vj<18C5p4 zNF;DBnUE$~HaLP!)F^NrcXOutjCsmbqk=7Z1nx0|@3ZHk=@4d{W&!u{fV)GGhuGoC JV_;Sdzu&FUkrV&` literal 0 HcmV?d00001 diff --git a/Library/bin/DeleteLibrarian$2.class b/Library/bin/DeleteLibrarian$2.class new file mode 100644 index 0000000000000000000000000000000000000000..48ff6fac44523141a659216b39ef897130acd15b GIT binary patch literal 1379 zcmaJ>TT|0O7(Gj)DJ5E{c;g~LtF%z5Rz#p&Z9xkyASe&MZPT?xLxM>P`cr)I)n{iE z86SM~!5`uOa7G=!O*0M_#?0(w^WFA*=R2EkzdwHgFoq2kZ46ySVF_Q9&8o{?liSIh z3WcHbIp5=1i`(_=TJ^awd=;k|`U5N9_p@S8*nW1w@J+`qo1QOh;WC`|w@oj3i>j7e z%I3*AZQ7J$`lg1%lHn>GZoev2( zGVFZ%X%tx+W2vSa+#d4vs?e(x@FIrWxT7M+aPc41Yr9ej>)aL^N$W19dfU!^g?Qn0 zQ8c;b)EUx8s4h4=yN)d>KGIWDY60o@FsWjK>IB0Hu$63I)P<{I3N*>+E_Xdaww4Y; zUecu)W-zCM1gHH~cab|9=CMHS*8<%WJ*iT<6h(odZ$lW4Thp7Kn(j4%!9HtP*6YD2 z78!b;*ivY^?}R~m-6WalW^Isxks$m2rzO&{XOiL)M>-DCGPFq#E73CP25kD=cv0cI zp`>G*PQx|Ck|{;s-6F$L$q=b?(Kal{BTZCp67On?`^OVU_O` zd5Ub6;SbObaq$5CmCRSfGY7bqNF8AK4dT+37(K+TcSvOpF+SUWi0N_Vyz(~m-4A?P z5LcwV1QLM+G8#hdz$9J2DH3#^WIj!ro{t^}2$rB>2@e9e z_wf)V0-Pawma#%-D^$0&5Xp;Alg({AWp`F~CiQnI z_<^85z#k>v*#yKWE?j2j&b{ZJb7p`1{Q4chBi#2;5?Fdh30aENFqgTKy1nJ0BG5RK z=dzbbebRe1Jfqlpm={U;(-&(llOF-WQLU-kUh=VhhSgx8}2637&1JX zUFVpCXf)h&@Gn#1sKV#$1>Qa8v&;D1&5sDWpHX{X)GWDNapSu8vCQXydt7z}Oq7n{6R PSVJB6c;^_q`TYF?y*Z`F literal 0 HcmV?d00001 diff --git a/Library/bin/DeleteLibrarian.class b/Library/bin/DeleteLibrarian.class new file mode 100644 index 0000000000000000000000000000000000000000..6e6e078e56a7064c0389516de2b9a64c5c858378 GIT binary patch literal 3746 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 L;mx6ARt?v01M-b? literal 0 HcmV?d00001 diff --git a/Library/bin/IssueBookForm$2.class b/Library/bin/IssueBookForm$2.class new file mode 100644 index 0000000000000000000000000000000000000000..36383db15ebd285e0d17afbbac87e91754617f4d GIT binary patch literal 1735 zcmZ`(ZC4vb7`@X3HiWgI*cVd421T1tYznQFLPgsEk{SvUibAz^vKhj{W|y>yOG@&$Us9XlAi zMa;@6&{=NXw_Q7&6Bx|@XRoj!kSuw1)dzvMOc+R|kwC^o9|i;xd3_*Lv0e4J)vPIh zUDg~$oQh{jXG8k7UU!U1O+etn=_kgfNFXC4va8D9rc6~AxR$THQO|*^?6w3SnzP2*kU3|teqtlvI+!o(=v z6EGSo)VBmK<_j^+C>YhyCn8~nFlOR|ZXT0qTt~q`p88LsS9U|yP`-(A+#u(D=?987 zflD3r-LQqS2L8yz&2Hc+ZMHGIg%z&{;2J(O*op}SL@>%g`EroIlp9*C4dpTRDb3GTdqVR0D9OuPo8lT~TfzJi5 zoO1ihzE0p(=_(TsQKIL99q(|NVU-OvZ%fB(2r#x^})F*_5F@Fn#(rR_2$@=v=^JE1OY^wIsxCLSXt(6jB!rqTgf zHSv|M52J1e`(B_@s8U_k^ZgeSxt6PoA{TnGH%3!fqOm7sUz0! zsDNMuhEJ4sS9n|z0_hqZ%&OycU4SQ9*5S&y2VtvD_t>m2Q5NX$tX;AeINw=Wo*S|p zdBkRMRXN{Vmiti+8;}B5kNtgy1xZxBmT##=JL&?*xu=`gO?{80zTjGp7qC#4Rk-7k zidlBqph}Jm0u>;~Mw8&z12Hh5`whF{IevXe)7sD3G}qda9>4Jl=J>BT|5J44g0@9F z`t}M2xi)!6Ti?b-j!bu4j#0!tB#90jj{gF)jVrG)vK&v}=d_Iv=i=1_S2M|YUexoR zi8iKw!1TmOHks{dWBP9IrQRPgtd9)dZ(}a;JLcP1{27(kSb2$|Xk(2VFUeLPTIXC- zPC!$hLx%rrlvYI+>+Bm(Sj}Hk<|azm!V;b`nZCt0_zutTJtUrE7Z#eR;{c6F=29%B zBa@=AK?LnChxaz=lq~OV5h+3ZHKJ`&{v;NOxk+c0*qxqnx0m=}7fk%aXAA?vz;grh g9Om@^{DuA$F={+@jvVS7lg#%F6lXd>+THy93vKhIZ2$lO literal 0 HcmV?d00001 diff --git a/Library/bin/IssueBookForm$3.class b/Library/bin/IssueBookForm$3.class new file mode 100644 index 0000000000000000000000000000000000000000..87d8fbd97122d30101b16d1c7127517e21fce08b GIT binary patch literal 757 zcmaJ_OvOwTLBsj?PGq* z2RT=VgID8Yk+}ei4C`f-zjp(1DwG>M&79OKmDUL*48x*3lD7MRFw+X?Hl-d*CEXK- z)#R^SZ^Y2p(G$@G!*YZGOCjorBQ()ws3*Q4PNfnrr^Q&9H+-B6!bx?;^AR`F-{--G zC%~{$9nsw)0x>Viz82zs?Sn^?4Wx2MbIe5}m)?h~xiJ)#~TJ&SX+Gn_|f zj`Ey#kJ74t$Az!B^bs4M(fxzeA{IbF3>223OSI0cV~$3>xPydn>gZ8z4Sj6V-XIMz M?$XIK_Velc4bs)4cmMzZ literal 0 HcmV?d00001 diff --git a/Library/bin/IssueBookForm.class b/Library/bin/IssueBookForm.class new file mode 100644 index 0000000000000000000000000000000000000000..af256272709b2c7af35613ec37d183b7ee314863 GIT binary patch literal 5322 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 literal 0 HcmV?d00001 diff --git a/Library/bin/LibrarianForm$1.class b/Library/bin/LibrarianForm$1.class new file mode 100644 index 0000000000000000000000000000000000000000..30a84047c8021c5673ef64856f8b9a391165786d GIT binary patch literal 716 zcmZuvU279T6g`t{y6tvjx@i(^wSKf!Hw{=s-y*)07KE*W2?6zKvK`Z@o7u3t5&x0T zRcJxMAK;G?&u)S>;=p{|nRCxQ_ul#W>)Q_iPtmba5~u}wn8-v+a}+1z-N!a8fweRF zQSL|5jP_p*&s3P%SQ4mT-M*e0BZrX^SbC<7&YlaD{q{h>I*3n{gECfK*jO(3je0p9 z4^`5idDMeAl+hrMNrw5Qm7VHTzzhD7(V zEpl{o;D(D$+!Sz9l?`;N3+a~swmopLg*!HG3#?zIclaq(lT63P#oZ!_Nuo{G%VhYW zpU99w1ZOk&j|T-;3*fPw%yV;k@iYn5k9Ia1YyL*r5l1W#7h@MVeijCEO4Hh+_Kw3&KLaAZ^rE=3?s#2*Z$w@LWnPJULpgid> z@zrNtiY(V^e}F$q{mx8E6VT<0NhY(;KIiQHef##upTEBZFomXp9)bR4tL#b7lFp** zHAf~5#03Vn<(|yj(y8ay%G;_E7)S_Q3$=1T$g4f&1o^p2V7bn+ zt^$2a;6gSR!3>j83_Mz-nJXAE@eba7jpMe!_}KI#XiS;7+ZoPD&F#L4 z2c610S~+cErc*hkm9r)ubt>*lnD_!of!>-Yn@VTkiHR?DqZ(Dq-*tVJ#MiV?bUp82EYosycV+@NqXR!I zAQ=6j*I+y6NYr-(;n1>f@Q_kxidgKs?Gh#eMX)ygGMFC2!HX3uIH029Isv<#&MZER z=-DFIJ1cTG91{i_?UK)*9AzN{fmG3Lc@?#2MT4euK2B&*oF)rS#ddx6;))6yE~kmP zRV0&iCL7fgeq%Aaks{A9ZfXgV;g(e!FOC~u1_OAZLVa- z7(5Nxws>!gkxBFBGfFYq-lX*{#OYy;KDHRKSvGo^Qi9&@qe97`&n!JFW}!w8H_-DJ lUG^Ce2I>YTPW%|_B#m1<+Cy+Ve8*Ym{je$N^yy^q^EWU|#m4{u literal 0 HcmV?d00001 diff --git a/Library/bin/LibrarianForm$3.class b/Library/bin/LibrarianForm$3.class new file mode 100644 index 0000000000000000000000000000000000000000..bf14d1f2fd9b3e90eba7b54506b436b97391dd89 GIT binary patch literal 753 zcmaJvsSTaW6ngpx)C%E3KC1Ftg*@Mtb{0|9-)ecKsojWBx%%($#|&jYdK66ae7%I(}5?>c%H0y z0s?D`PqcPOpe_rtuarHaOf?eNihKXmbKte@wg&+&E*R0ztv1IYE@LCW6@h4PG}fj+ zNfPB;giTzfkg?Q8pc%iJVHXb08i`oNHQWerojMo%iEtAu0!v3$j#bE_TM=%1@xe&D zx0$0{!L{)}z5-!Co7hAh>X|)%PW8SQN)HZ9l4g!7o~!&MqX*Gb!^!QZ(mCb$F#YCQ zf@n1SAo!b-@;6-gf=eH;^$D%tNHwwmax$1;71IK(IqR6Cu@`p`6Q_(eYfI>0n|p;C>bT33 JXYAkS_Y0x^q2&Mo literal 0 HcmV?d00001 diff --git a/Library/bin/LibrarianForm.class b/Library/bin/LibrarianForm.class new file mode 100644 index 0000000000000000000000000000000000000000..8d3e086b9ff5f197209a921c8e1eb9e8d3d97aae GIT binary patch literal 5794 zcmbVQ3wRXO75?u`lG!YyY!HpBD5$Z9KnwgfI8pGv|HI zJ@;I8?|JGO0JB8C21Q_>P_)A~?5JTi#O*E(c>)v8GS(RDDtgyOt<7GrBmDdI2ea$m?W^D3_yjk)~Tpp!>}w%mzvJP|Be9n$ALVm63=!b+LG_xwPA~4JR6B81hORrTqeBI;LSd zlSSIvc*2TMxK`T8pQ&vcj?S$NH@AM2qqvaF$LP@D)4<#unppxJ%!+AO)OU3|eYGy^ zM*+Y_QDL$lQ37V*w=JVj0owkfObD2^%Of4;MCgG5t20GB@M9^KOKVr;lvK)EnLVlUBpoM%_Gqq3%V9J!lu4Y`2`LDuRxH|$|&N>jW_LnqH!W<4w(I`4k0 z@=E6{9fk1AZA?d(tX999)mWm->Xo$>*D(%$3H9jEJ*Zd5J|2|Nu`m1@)(RYyr73N@ z+Z6m*<7qov$9M!ZY)Bo|bd@cxO*l^6@?$;fG@Lu)>{t4+5$DT5U*Lvrs9a>@bgObb zF4D0H7Yh^_kw{Hg9I|;p2=DxyjsI$BdnO|$E7%5 z!xc<+rn8G!K;0puFP?Dx=*Lyk&UuBn2G?o0R^YHPXiI8h(N3$2*66q%H!!QqTWT6Z zjZG}=BeI%khJs-x)^a~?((yIi%xH#flbx;Eu#H&EjJXT~AG0@9aYw6W_hHzetbvA3wV+3k^TFGxE(!PUcl*tnQDNeb%Io$ z+6u87-`DUx&LWv5>-Du(r!Quf4Ao$B%m|xa=Xwc0;8nGvsii(tv%H?S_VldU{A_l& z3B0W1M|j0cdb4e=GHu)R4){sgsrwvRU%WhIFZi*JpSVr8wx+e7O}Ae9|5F`5lm2Ka zZ)8orAJ=9vv<|nk6-HemCRm%*=sXxC(4o2&5WGWey!sz{KlKpydVf1oKZC% zZi!(To$kEFJIpyV$_a9OtRq$vi40wrBi;z^7{;kwBcYr;I6)9fU*0_G+_`fH=K@cb z96LOEId!mQ5uF-3n&RAcI98Ln*1OMnQDhZE>YA7ONG7jY4so5am0^}D8=m)y31+dl zG4T8&o6iV`slQ}~z|_*5*HCu)hew?ZHoj}hKZh;tx;wXIuvQK$pE(Tj`I9zjHY3y; zPuO9zA?m#vG9PzG%Ol0;G+LZT>SBBonT%rL&;+1ikH8_B=PtwX5*Oy2msPyUW zPCL+qnlqtfoE$cYk;fQ^alTXeH1+W}9|eRI`J`}H&WG;GG0PgY5Rm_YT$qYv?kH!5}ZPUB`)+8LQO7oI-#mO7d%6P z`7YQY!2%bINKm5{t7yfUyAY+yXuzMu>S3HkoRx#?CayaNXA@`V;2h$dG;R%btlNdY zL9BQEIj71O^bKNTJA-px5*G%2u6vu^@0SeVoT|cL;UF%R-!JF)LG-s%-i!fUS>+G% zcPFk+;>IA&y(KU)iQ6US9yN*k%ay?VqH{k@;=$=j>ye_HY}_R}}9?y*9(*Ea)uqlh=#S}@Q%f8L~mc;X3bnZz^}Hgw8@SX7ltOOK1-N zi(oEa>Q#JeSK~CyLnn?$4{ERhb=Zu0Ucrm_m}tcPSd1MA;b~Gn&-e7pXvXVk!P{uX zU$6onp-l*!EOeYAiupt?L0n8nkC+2nEW|po41J;%XNyy@UYx;~rHONdg^gkz-;o<| zp4g1@#npT_Zo!4(UVht#i^Rj&BnJ3cd>)&{tGGnG#dqKPxKwOJkT|e zmj_usz=xx-^yRV~lELziQMFjPEWr$xe~!x1oy&4i2Ft%jWwCQv4$fftXjB#_mt|6# zg+ckZ8=C*%W3IKld?#|1KO4P;|6$?%T*IgCe-{Mt3D-~a1mA`I46opP+b?9KcMC=2 HEeQS(ZC`l) literal 0 HcmV?d00001 diff --git a/Library/bin/LibrarianLogin$1.class b/Library/bin/LibrarianLogin$1.class new file mode 100644 index 0000000000000000000000000000000000000000..5952559b90610502a7a4d7df409ba9d36b25abf8 GIT binary patch literal 721 zcmZuuU279T6g`t{y6txRkxy;4)z+v<3l`D0h%cpruvIW2P<@(gr|HzqY}nn1|H$Vm zw4mS*@JESfHo@BB!tBhQIrrRi&;9lL`%eJRvFoBBuo~z=A`>l55D&F!K6T;n_Dp_~ zdyzE5y|;ri6=p8x1S(gz?J65TMXvc+#~lGLRasxBI#=(s-naW6HgM0yra<+o!-LPE8fQ8-KJMpzj1z6LZYINz zy+nqrBDm_oe=;a}DF+_P@vJ?s8&8r@z0%gQ>h(6BSPB|-V8SR)wHY3&>@+_1(L$Ss zj-)mMjn;>MN_8`e8FsAU{%d1YvLDGbRVk&?F0K+sT;Spe7%lMhjJx1o+PQ>xovBHQ}{v}9>w3O>VP(Hdu^&4tmQFAVE`wQlS-3#13&vVPD(a$28 zz^PavTdcCp2|Pd@O|0QjUa2uAm zv0jr5vAimaTFGFi=fD^?5X@dDfZ+*(&?9`jOHywrU6&Px^NIX{CFM+clgUyPCvnQc zAj8qld>p57h9M%#W$F4Qr}mfS=YExOcWi3o+=_hV&DgS5nT+Bb;ug*`95-*@@4+#I z9~rEw^h^}PKqA=!>QAKTY05}xPGXqjC;a>k$T&m#|9~tB*WFRNvIi!Cl!YY2sSYq5 zUL2zsWB7pp?b&H$iR4-~iZm`+$aGMq1(0JL6I8{vsBOu`4XQS=mOZeJ%eZ3UR|fvI z$cWsw=faj&Y^qdmW1Bv{pKT z`=&6Xt(IXZiaF#h%rl(m==fs8sA)+!lB0kHhCX*w?G%V#qAI6tQBzfhsW!%DRlT7c z!_>AaT5@f-1az5AmLgbUfT7TgMfT58HS z!t({yJ|dc7BcL3~yXcAX9|h3}^cpRyEnSu~wo!Ed*ZKSXN}E(9+niIbDVHc;klv;u z+45P3&YNtFvPu_mIyFLc9|G&`HHQbCZe4VDQ>DaNT3w@OV~M6l--D+<;OHCQr_b2@ z9TR;UF?!|{W32rcpnryAI38sAgfLw|DfJG#i4(gxTWBpW>|&&eiwk2HoA~7~^oRaI zx{2#=@!Kx$zQ&00isfSWLQTvD!Lh|%{2oM`^{PP>fttCB?fV-g(^Ty_~?4zW1h!DJfivrDdsV)LRcezj;_xbw~(gq1+qOM XTNj?<8U2Te=skE&E7LpE3Htm8@nnbU literal 0 HcmV?d00001 diff --git a/Library/bin/LibrarianLogin.class b/Library/bin/LibrarianLogin.class new file mode 100644 index 0000000000000000000000000000000000000000..b299f4d0c20f4089f3f2be7a5c89b0cf7c05e9f8 GIT binary patch literal 4195 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 literal 0 HcmV?d00001 diff --git a/Library/bin/LibrarianSuccess$1.class b/Library/bin/LibrarianSuccess$1.class new file mode 100644 index 0000000000000000000000000000000000000000..6899ce56daa7b4a8d64f733cfdd9d15102a023ae GIT binary patch literal 731 zcmZuvU279T6g`t{y6tvrO`47UO8u&uv|tf^i}+G12wMdc0@bI#FBv1?WAeE_>raOruW$pG87mmQq zQ~62m#nKG--V9Dvl)0E=_T}x{i7|2zD}lM^+UV?sK)KcK3po49vGP#Hq7N7I0?VN` z>h)waP-$=aq828RjQe?6BFrwG>_l6EdU%~thuG=FxTulX)v$*u78ke$J{q_sQ2CI` z5qZ_FA$9WHH6QEP5b&(Z`r7KE2dDL}-S^PMZ5LYtE0=v9e2&yO(~0qMr|4#!YLj&{ z8GY=fGGZOU6@>qJLE1}2;-MVRn)JHKB#qQdoeLLSZRK$eLctD96em`j;i1Y-l4Bn& zv?=UJY9r8Sz5l0JHzS>4Cl}s-WsFMqV`;6jBumk_Djar+i=&{oz|&J&L0j3mfOl4e zeePb7whD*ACHnp}2{*7zkHY^2u*}RM*MFdTbb*y`sDDM>ImhZ3%!j+@*gPxVR#B&- zWg>x-$%$;R$|h&fM1U=hDtU zfuKLYA0^(|1jJNaxXjF*d(S=R%>MlK?FWGSxE-LtFxQqn!;R#sGfY!qZGAI9iJ^MJ zPkAfj>ZrBfI}xc1FwL->XZd^A5~o7B*0a<}t=iH$p@d4%)RH$N;M~Vi7r}+NhP42zggNO_jO&FhI6bK?`@<`Gf-_=-y(vGN)9KS*U_0X!fE4>5~JIa+PhF-D_atRo?uA{ta%Koc9ZmPkVd Mw`k`X`}y?!2A74WWB>pF literal 0 HcmV?d00001 diff --git a/Library/bin/LibrarianSuccess$3.class b/Library/bin/LibrarianSuccess$3.class new file mode 100644 index 0000000000000000000000000000000000000000..d78760cdac90d49dffef995c525cddb374dff26f GIT binary patch literal 723 zcmaJJoS|^k+4CC%X+VV#aJBqtY**&SG+h>@o zJWX#l7;?wDCGudHj1XWVL>7ezc@!D46<<)ONhMCZou)9qcry`xkdArM@CwKu26LVU z!|anOb9z>sf9(Ld7q z%0^hiG70H$sTfL?vjK3r$3YjtQJ$MNZE5kju?%5dcTFt5N-uP7bfMdxGO0OHaiT5p z`7YdrZUtB)uA{{a(KkiE=s4ll3X8Y2|eb4jW?qh`!xGYicuQW4Kb(# aD?^s6)StmSyeFGO83nA<&GYnA>3alsw4gBn literal 0 HcmV?d00001 diff --git a/Library/bin/LibrarianSuccess$4.class b/Library/bin/LibrarianSuccess$4.class new file mode 100644 index 0000000000000000000000000000000000000000..9fefc331c912df68dacfa72e1832bbad10de86f1 GIT binary patch literal 772 zcmaJ<+iuf96r4@cx-o7NN*iu1SUTF>v**m2nf1?K-+ln-;I@Z?z)DXKQ<-XM`jaS9);2mGN&>Yb zc`VzpGzaaM!y^@C9u@^Q@~nKHwbijQS^Hs>>BRK3&6H88z+!f&ZR4(koyXng?R{-@ z_CR1QJbB$52$Xh`kt#!AIe>>HA4OCHlu;8XhOVI6(?-3RjE5?HEr+pkgOW(b1E+xJ zS+eA42&|r%(&&&zRpzW;sdPU{$7&?78TS4uY}bk0ZVo)0`^%AjmTGh0;{w(_TqNB+ zYbWYalDzE_F~9~cQOsCsBTx_DOu=(6r=5f><1(&#xI)}{rvhBVlEA`#D#yxa-Sq%B zoCn@W+johjYQb3lA7=r-pG?w7b+vP8ZGOfbr!G1j~4uqt&M!Gc@+%CPLyA(PV7_Eo^Zu PQ9~8CxO0r%e15+H=xC`% literal 0 HcmV?d00001 diff --git a/Library/bin/LibrarianSuccess$5.class b/Library/bin/LibrarianSuccess$5.class new file mode 100644 index 0000000000000000000000000000000000000000..a068a7ecf0b6aaf1e01199c5d60099fc056e2f9c GIT binary patch literal 726 zcmaJ81CG!bI!dx_YXIB0M_t1Ku%!1q1vfTmDJ5%9Fw)x^#BEd@|irB z^+f8E`eFNwVi#aUU@nWw3sY$xQ2Oe~X@pMd>Au;66~ zOgv$!uCt7i%v2vy`rD*k>Ilr&8qW^4Z_ZUvbBXCqCQDt!`S2D1U)F=9*6#h$f2 z>ijh3kBu;g_dHHlDlJf{{p!PK+wAu;sDNPov;Sij2%Dyt#?k zV_DKZxl_{#@R8*X7Yjstn*Y*vBCREh1>SR>&kKlh*{_>lMUGDqAxB^GZG(Lu30J;c zB3ik^tG`*zYah!pzIz|z>_^<=qi-<5mbIcXK>5Meqm1TnF?Ef%!x)FmeUxET`gH>g b?!f#&jy(jFeXSa(G)dQtHe*+>jI0{U9-Ez-z5oZ zO!No%ql~lHCdOjCWU{-nGjHB|dq01D`vKrS?gYp&%(i6La3i^D50XS!TiXawV5l7P z6W&a@I&8k^9*e{Um}FSWvizfKiW8w+b1QLDtCqA*C}9{T-I27ldmeTicav@(N+sPR zhWYsXb-lw-*w#H!1jBTM08=6IC`Txw!jO-BLAfQBcs}TNg?Yuhsqlkz!qbjdK<81i z;At?-otskIAR1+!v3@Dcfi`{7V_1$`{}i_4MQ+wR0WSaLNZT2y4nr(pF~C)Za8I~_ zQIEBLA7KgCNJ*bd#ZZmk4Usb=hi!yc#C6;VutK2YHbuCJDTavy!}}tnx?2%ey#YZ_ z+7H^2WJa<0Kf*+)tp_F%Po%eKetgDVFP41RQAw&TDcKe7NRtoIQ$^3XopNi1rP*XV z#ROQT;@^XQn;bBCTy&qA!>X<=~GrS<8#@K?|zM0I!DywvllT(E3ra# zgz}75k5bBi$EB~ha*E~8sQp1I5ewiAF?fq<>}P1zVaEuKda;I>aPp{AZ4M2r(^?=6 NW!$EnXYA+G_ZtO=sBQoN literal 0 HcmV?d00001 diff --git a/Library/bin/LibrarianSuccess$7.class b/Library/bin/LibrarianSuccess$7.class new file mode 100644 index 0000000000000000000000000000000000000000..b1ed67b9a9d9d9f684c197570f06e1d3c2e2371a GIT binary patch literal 766 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 EAIYzQi~s-t literal 0 HcmV?d00001 diff --git a/Library/bin/Library$2.class b/Library/bin/Library$2.class new file mode 100644 index 0000000000000000000000000000000000000000..796d67e138f7a44bcb7dc19a5b5ea8c7aa0d3406 GIT binary patch literal 715 zcmaJm3;BjWHU{t?9P_iX~mya z!3To=0DqKtXR|7TxNx~MXXc)J&fWR`b>WmzmSNT%=%RbivsH9k1U}M6yT=S7`i=I6 z42_+9tO77B2yo1WsG}tipv_Q^{DoGmje2pMjg);YN2y|1jPpdMLus|&S75_8Wtjg( z-rb<4Em=x?rR;ugGc{&djpBc*-}O$mdP9y2f7#x1R+~wPOIYT(%n)vmGi~C0qK&`` zu8@IDYQxZp-b|UxX-&(BFThn?=eWket62!#z#PNOzLl8@>G-C=EpL~Pb#aszWROuT z|4%3B*vpS?qMm3!5K&RDdu!x+*Cc6PknZQo9pvO%JT>%Zc2Zdss-TuMTZ$R5cH0k~ z9zcyEKuG93tsc_eBVm8-14RE5ny2NRGaf5XeDx+4X)mb8qf0nTnc*Bd70WZqo~2p; ziu0dw@jX^QqWg!bNh*N*q~HM-sHbP^Oe-ojs>N+Y#8XF)PHX66jdFuLv~Y)3Ua{{_ F-%oo>k@Elm literal 0 HcmV?d00001 diff --git a/Library/bin/Library$3.class b/Library/bin/Library$3.class new file mode 100644 index 0000000000000000000000000000000000000000..1da02418c0e710ba3d5ffc3907a7cf04deffe16f GIT binary patch literal 674 zcmaJ;VNVl55Pj1Yj$RL1t5!u2)CvU?N>V?Vpn@Tgkeo__=@&n3uWQ-nx|i%N7=D%? z2*gBw06&T_dp%4fgiAKF^LFOVn|GI2e=Y#L!?K40p&Y875$2@X@lYbvhT>SXW1$D_ zZ@r<6tcOX$e1?i&wk?mPw(ZZ6Rf!H&YNeKjFli4}+FW;RIo$?>ACy-16Cr5*Lszsz*Td8Q);_RC>4A?~%z1cDm>F-RgbtH|(gEi2 zf|nQxr3sDJk1>1Z*tnHB`CXU+`!RRlY=VD~9GOV&Dz{{iTes%q@+Lbvij$PJe3AAr z>3euX@bVh2-qURTb}Z6VrdVV@Y&8UJ0|$wJ~AgSwNl@K{9u!Fh|*9LpTt1NtP1{kC z!88Lpo*m2y!~=K*j^OEl6mVL_EbgJIz5qurIx^4%QH>a%m+!K<5Y8Ksm>Md(u5Cqd zFTp&xTr#Y#j9oOW7_t~pa9>TT9ExEPXQavZ3#iFza!Nb1IIH5rI46+MmX`1a58SpN1jWZAGAuFHKYB8}9nz9#!!Pe3JMfhhe+4Vq4T+ z;O-iPRJRA-4eQ78X$7AWIMB?JI#;Ur44x2(NIN8Q1SXmX%BQ%FGIg8>B9C1t2LpR_f6Tk3O3&b})h{5^r8O&xq)?=>nH#S8eMf*%N^YLOZ|U32c5 zsdrZsVAj;~e(6&2Bm9`J;Jq{1(ahld=m;~fE?(Ea?q}XlRs0M;54=0;=mp(z^dN~B z>%;gCyxv_LeyQSDG7fRZVL^9XgH4a`W7#SEM#XROV$dlBQUz|VadEI0RB&1GSqR

}BuO%Kp3s5p2O$f5yJgAESsu_Ga6-Iz|e?aa#py zZXG*bLC1?e(M|k~@et_bxSzjZPwkW9J-C@Gh98N5P0M3swuM_Osdc z<*wuW@wQI>UB-hRRyx}}xOI#8Ne>VAdic19$NbX-p5%_C`E09)FZA|9SXg zpPVP~M6mMk72e@*{G7k>b$|6-gD?-@lHB86WZDF4^WzmAX9 zu=s^kTAyfaSCs4q^8udcNn5~K zVYAtkI6D$x3737~j)@e0hnI-7qKM*UYS}`q-^My;t^9wLI{%(_w{Ru_U%?+Z4iW4s rNBJ!V1AENiyTH2r$CI6SjpOTWf_^CA&*ZX+9 zLJJE10DqKtb`wk<9GH(g_ndprocaCd$1ecSvG1ZFAWw9XM)p-0UNoP&a0G6gtIz5n zP=tVv!96kF|qfO8n0Y7a%MO1M}SD0hw3Z`1Km zNBt?I+6{db3{+&Ycy{R|XC@X{?=EWTuxgZA7gYgop72n?>I#>-L<2VkN}nP%rWU!t z?qsMzFcW5od|tS>UAQj8=Gh#$9kP?OnsW%+r#qm&118 zFuBH9PC-~lnGt{fUxAp&tmM{DRNh}><2!2KP;;(u>noPK`&YPgnR6?s(aRz$fxnRn z*=3jebpHYBXkrtO@=lFuwOOY+73>lvh{|La`YyH|mT599;2}vMq=LuTik5|xfb&en!!UTL^^3(7 z3mJjJbNNzMd>QmAJMHJH6I(bYa51sU!?>besvxdB=)|55>RuG9K!pOw;sY;Qyv~I6 zNyatW?|Fe2uM6ah(~eS0AXC*{m4m<+4lHDCq>*=!LqQ;2Gy(a#7pSMhep`imvh6E@ z*}CpXza>M@ypN3;Q(EA}RQ|;kmd?ur4EXWQ5`Ev=PWHqPR_g>wS- zqzMNXFfWjmosNo<7O#HVN|N(cB|7v-+2cL+D&F#x-(9nD39g090&}M7|05hM;41;E zr($zU;8d|R0+_Jhj6-H*nzLAR@bxr^8#cZ{$wE=!^!;`-536!QrRn`504$O$A z*coY)L$knHPlsC(_uC?;r*&^h=K4=BIB^a9h}FH>2^oR?ZTvR-wt zfvmvHekl9O%wfyHBco5N>qP?{sVr(-jiwI6*Guj&Frsv0J?6u0lbZzrK@R6fHU7Il zBjHhQCX~wd18qb;8R;00KrV`hT~gpt#)3tK$FVhI*?G~BgYhERO+5@dYRfaLlAp|U z+2o^TGwAp_qNW-uKG00$)B-MV)t6DEBDh?|G`}+tg@V~g{!OI#&B3PiI8V3vZY*~B z+B-PqKXBsrB<7^CB_4CTidnupyko3i;uN3MAm+wdJ}`2Iw(as;I7c}19v2&<;}sr{ zaCLo&ze~3=r!&7|-gstLjHi>l$=Qt@B z+uWNPmhqTce1bJJu#Ttn>?RmjM>xh9iHLDe5|sB*XKadDDvaM@eiudF+Cc_CvBq(v fK4RU%T_Lh`KBFmxCieKuP$zl(%#)$bkigHslyyqp literal 0 HcmV?d00001 diff --git a/Library/bin/ReturnBook$3.class b/Library/bin/ReturnBook$3.class new file mode 100644 index 0000000000000000000000000000000000000000..d5b380ce7f24957c74763c03d903d7084ed2d5fa GIT binary patch literal 739 zcmaJHT4?;!IQb9RiFeQlf%jU9ew_bK-cT<0t zf-eaA1N>3q>?M#2;=!;x&&)hC&+PsB{rx9^ySNpg#1Op_Ze-LWt=~1b0#q34$NYqM za;^?LFZ#zKa{*=l`!wt0sL(<$RN;rFGI?g2xb zoDQ^l43!-{5LGbDM+h(%qKr5~6?KMk;uGRjD)D?Y>%Pz)GWlJuW4cDF@LeVaWS!0aShi4tTKet)kL^~Ifj`7!-pcIjI{{sUV1Q) z_Pw?wmXR&}Z(t(q>XFIBW9gR@PuXvKnS|`BEZ3GaJQMCn(*~j^ik@pH=hg~KU1`;1 zGhp?)e*^k4N@P`pgr1?>J@P#gwl_Z`YJWxTW07;#V@1SQzs3Uj5!HBf5$EV+IFH7J zrB?od3*T_*6IQ;UIc2KR6u=vrU?1~%Td+086%#h9#Rd}MDWgTXCA6_gXN5Gx MxJfrZvF}gcAC#+{YybcN literal 0 HcmV?d00001 diff --git a/Library/bin/ReturnBook.class b/Library/bin/ReturnBook.class new file mode 100644 index 0000000000000000000000000000000000000000..f9146d6c41bea4ac5db29ae1860014d754acf287 GIT binary patch literal 4812 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 literal 0 HcmV?d00001 diff --git a/Library/bin/ReturnBookDao.class b/Library/bin/ReturnBookDao.class new file mode 100644 index 0000000000000000000000000000000000000000..8082b4f3fc647d8e06b29f3b858a910d2e1c631d GIT binary patch literal 2024 zcmaJ>-%}e^6#i~@lN(?WObay-+O$<66bOQ-{0JyeG)O6hg4&{XNp2w}WYg?MVaB)4 zIDK#&$2VX4>WeS>pp6gy0sc4s0gB(oSa?Uu`31rU0*c4gMzD1w*;N#{drYX9^HC}*3P1D zd6hzGe>R)Sw&P`7kcbI{mKQBtL=TbgD{sjul?brllmspfr2=2~aWQ?iG20IAS$G9; zf%a-SZ+mKw*$VW$AXX|HMZdswfG7E|;v6Llu3Pn8+~k)Bs-lwGoyiqTPG%u#m-0#1 ztL9b7E95f^9T>nBiOT{P{6t#8SV-b387@~;*{-N9k6@1IDKP#bFlYH}1P=M8$7~0# z<28v_1^SwS&YiOGItB&WT;&C1YKF7tDNgO^>rxhmaf8+1@vH_F9?E8etx*eONRxDR zta4RPZTmd>ddTXO->@*Dg%Hja9aptcUT;ZEwP?*CqPng(i^O_ zhN$c#7HkG{5|l+iVe7Vq3@Aid)*eOHy`_wSU}sZ167M$reI?&K&Z%-Bl=idwX`PfsWgbcVU(t9SMPB!B#YO*4RyTKe%P#xvBC+1e zpWh8pY)~vN+a>2EA6IRv&N~_LC7KW9s zP|Khh)0yBZ=Yhcq2tFxTMEI2aO7kuF4iEo^=+87lXy;RJa}gbUT6Nn(C%@Y861upe zo&VxxVZK+4%yV?F4?jn5Ch-h|qp`jk5+Tf(anl^G;hKTC8SbxPNEOj5zx60kSaJT@tJKkZWu7iNp9ClR{$P6j2xw zw**;|Sdaw5ks72gp3*VOxd7RUH`b2ilm}D|;lFEKf zWdu*~b(6|f#QelUOgVxCsk%(UuJD({5Y;h3Lg&~oE1aFH7{oSLA0UN84o43o_=?4N zLbZH{ai8X0GQrI2G>5pZ$z^xoTkO_p{suNJgXfQZ!c9gz@(B;~_WQ^~5z98CJ!BCi qo{~*n1k*3VFw9fBNuPaP3yJHJErzL6#x{dxzbb8vyH7MB9Q+G?3A|ST literal 0 HcmV?d00001 diff --git a/Library/bin/ViewBooks$1.class b/Library/bin/ViewBooks$1.class new file mode 100644 index 0000000000000000000000000000000000000000..8e29f8830cf957283c37240c7022d9cf21c3bbb2 GIT binary patch literal 692 zcmZuvT~8B16g^Y6Y}szX7FsBN0iw2&NQ}N=e2`#bvZ%3S6ZL7jjAdXu+w5-r_(eYR z0*NO60DqM6%$Bq~xXH|&d+)ht&b_mL{{H+8;2F9uN&?kTtFJGUPCqL1dKrOf?Wsjuk*tlp2EKK7b>ZsbS>7#{J0WVW|s54#2 zaXKHnp@%kZx>y%jo=HCV7O7FL6XWAnA#9XtllO8NogJkzVk_m(sT|T)XCf#;FwzYE z!^2#yC_j{=t1i4=GEO7)O54dSP9;CK)f~lviQ**FW^kzTljPXP13cu&hEf}WR_D{T zTY5Rw4fgCv{ny5*bU&6^rZQ}RQ{gJ}{YqRMGQ9}Ga?b&|8WeK9GVToViS_{{qix5z@ z->o`%8aGnI{B=(lxc;+X1cf%S8LQ${?zYg1HUnGevl)*m*UM`!GgK=3^ZmivL>fI( z!!A+ISok7ttUDE18VD;>hrMPZ)FwCvZc<1#${g-z?RmHAo7j$9#C9(Uz|bYJ&A8RV zZP*d|2;~$u)T%E)g?l5mV^3?34x|{jTet%RcO{E4&`h^FY@#R!q)|=jF7zANrO-0i zZ(#s~3M-}qWk=`2Qm;#OhnQC$D2j6Jpf85q#Id4_6x@{Fbl7uCo2H}(61W?C3=G$4 zwOr4_USt(kmpxs!Jw5J|SS4~!VS6*TYOH28K6O48s^l9weF=(i4*v~wB_Rp>D02UYr4&aXqc0^@`MEgF$1SLFq`Mfp7EUL7K<{3 zOgxDni1i^$q--82ja+`3j1?v0QP zyjZVLz@VYIoG#bqsDFQf6El%*+!u1q2@NiqW zvwboWS;Wl?_)=On7SN}%YUDNS9PQ~CYL9%-9{F$yUyfo&v@^Pd5rrMCovlk4=c28% zZ3&YKy++dbC+-`G_QuX2xiuM!<~!Sxu_f3o7(X6U$ym~O`QraXjTO9CoTnTe6Yf_!*?4z2+IL-;#`PPntB;nlzX2fEY4W(iB7QACD_hG;tCo_U4k8zXljc!6k1$xrjc z0sJ3D7g5@bb+{ha;s$=yr7(zYWU+;}%T|nG8|PRCdEWUYUez4eZ2!a2MXjF1*L*2fSWCefwlvHS8Bxmt6{G2)DdG-tZlJS@DG=7C&lYKLIoU#0d zEIh{1_*>S)uzCZx;tyQK@fJU|s7L}K&};R3mkNC-Nq`pFXiuj4%H;nv2k&u6gf$>$@-ZLPYx3qvaITdM2=~_SwWN| zc;52=!^T*>Bsq|ii@KbCoF}1rp^IKMXXHODI9S!538OgGW^|ykqj>1z9`3W1W2ucm zyZipHyZRZGj&_PxyZgqdWH*v&s#2_jed4V0bt{}~KD{g4J*E}3)d%NrPRp>%)hS_3 zSPa(byHgOZVv!#Iz#oDyL>83o@9^H9^NqHwGc>=V=5L*0<+RMJ6W^hLg1KFaSZ4kT znLB)*RkYaX;+Az{3dHo58j&|~iwquhtd&LFW}JWXwT+HN@CMxq?qHMFBJ3`@+&N4s HYU20}#|n@C literal 0 HcmV?d00001 diff --git a/Library/bin/ViewIssuedBooks.class b/Library/bin/ViewIssuedBooks.class new file mode 100644 index 0000000000000000000000000000000000000000..43c31a9dc9df8bb88ad36d0cc25b866c16b09420 GIT binary patch literal 2917 zcmaJ@Yiu0V89mp#_Uw))an@u>Oi~Ecf%PWNLI4+H3dE0qleJ^w)YM5|;7)~Drf1T`6-XP{sBneEl(Xl8-0&FR;x^FFASQ+$h!r*JZXC+ z5vp&-ZEwb>!^`AhB8CnV3RhdW2HO-i`#KoX$Lv};7%aQKK3LVB9h6)aBAywM_!X|R z@JVzlBq=-K)|?`Z8<`RQdL|8AzZR0P+$Of8BT3~R3$17~u!BCEQJHqVqV{sbm1?js z5Ux#R(JM9V7Ui6U8*x*^smRhmRG9|&brX>`Au@2YLVBgl(SF`uaBG2y-MCe3_mKt+ zT@u@l+brCUJ&}({PGL*E`T|t6H)=cfjP~e2igAa9PlMpDXE6qwN!Nf)6y<@% z0Rwv#T80KJ3}Q%O-At(L=t5NLO_`nubN|7zDAy1A6WA9*RHopz?6zZ`TiI5Uewdba zXve+SZ(yXst<}mF4j`|vq3Y?X?dget?5dD>3cH&LRwp=1@^J*?kxFqzr@tLz7&mZG z;i|B{;_4D93-{rWf~Dtmp%!Q|+*^=-YO;Jt`()aL4ruW(h}dW9?8%A6l~W7%WG0av0Pz# zO|36xr!5pvY``XJW8u_EvqPGCwO&fe?3jfaJis0*+kRyJh-@FXa63t>74-8Z}#ExF3e?`Ny;7c?~8i`!WZq34M=+V*hfiPpE1>$+}pAy&-EaQTh}0|^6XI5nGx z%l?Ui=a$PdiA+3!C&l{rKAx;mi&m~h4D4!bQ2mBSjVYSI5BEhL+}l3Q7|XmnpYtA!`pdHg?0(BoGK%nirygm$=5!v zCHOIZDYWn(ua|H|CWOxt9FbtD(?l{xx|BY~=H5ba7=x zqPPlM_{L5_Dl*e@jx?h=mCG(+Yc{@!Ph>X~HxyIquPL>25!YrfU^~sxq0dMgZ{Ulg@xH`aq<5wh@nTn7I+SshB7X2H%QsF2 z#qc!Il9Hd{mjw7fj&7o~9h-1HuEP!d;>%zNJ;-ARZP?gB>4?IgMv@nua@Em^59Ev>q1)gX86+DF( z@Jq697LPNQUy+3;IVN9XjSM`7t$3NM1fx5EUx%x=aT|WaRTA&;+e=PO6{qZPX+6e> z+VMO5o<9D-DE1<8k%=Y^CLawOjUOU;5uJ#wh>FV7 T{C-Bn^mF(V4N5~;eDe1{QJdiA literal 0 HcmV?d00001 diff --git a/Library/bin/ViewLibrarian$1.class b/Library/bin/ViewLibrarian$1.class new file mode 100644 index 0000000000000000000000000000000000000000..74ceb65e1dc6152807d711e3a4247b9930872a1e GIT binary patch literal 712 zcmZuvT~8B16g^Y6Y+bgN7FsBNfPmUcA~E`g@r7VwvZ%3S6ZL7j3}tXT+w5-r_(eYR z0*NO60Dctl%$A5XZZdP{&OP_sbMNfM<&R$go}ufaBv1>r`V#1VDpM`Z<`Wl=!2F5) zEVpB62HS7?Co0Na%nCHFZ{LlLk^NW+%s$sf=Pv|iI^9sf*-Z|WhZ)TIa8V(DppAMx z9`;pwFv(~HNhIUY)+58!rIR1)OrRe8BWH)i>Dahv2vnzH9_pC0Thm7iO9Eb|@=#~G zkmYnfbVCnq+;XuZuy8GX?`xz+xlW9a+l9bUs!iU@W%TJFl@VJiAEk0gTbmX`DT24n z;6Gf9RSSxJIlAh|>m}nfQZKcgQe#T`W6MDPJrl)Arp;hq<;TgPj|X_j5e}s`0ez;hh#?pSxGU7U3{h zrSDHbxQQA)zWpD9Z$w(k)=$*mpJO4|a?Y^$9hG3~49llQUX}PZ1z6@*A!3R7%Vciz zX;#qWkZqMUVk}}(r9$K#+$BSuI#!D&?lI0k@~w-uL-0D?5;m|&>kxJy9iBX<*q-?P E1~-a}!TZFCPr5mF}+7+vn zA1!VA2$YhNKIntecT1bL&;lv3aZ~ug3^NR!=}c$(pJDo=Go4|E-wf06on6UDB!e>X z-o5vn@4UWq?!Ni|zr70JM!aO8O<~=1Q7>eRv!3l0ZO1@Vq5HT!Z!c!53q@xxb6}rm zm$gD7?>fGA{7Kv4+s15*jBJ*M6xw}zwsh(7VcF$zv}_k0g)37>1NBVFrhzHnqn)9? zX`YX`1#MuRLT8Ity}M0V=(Ml_T?!q0i%!wMO(Bx%n>KL;k_I*^Tp=E1>;*qFHcvnA zsp*=wa3wa;_o6fJp3qs_*Pgl!nGDY zg zfjbr2Mu#noV3eeu3zQw54^zD<)fd*h`cO%f>jy(I>?0qlx21e6x4f;?=!FFK zT)!iI{cE4HVne3Gk7-YE<;^Q+EoX5>Q$CPS6Nn$A!HIZPTjsBl$~ zUNLovl!be6NWs#JI$!fO3GOXPGc_R}(p3^|O8Z1S3>NI(I(agJxOQscK75vK!7NQ^ z-yXGnTZ(@CBX{Q^yT_f$0juYwCM} zowblhp;0wa%LOAR$p&d^)p{x=vSSwJ@E}{LWLHD@BeH$m!U?h8LHmc?1=%WFaAasC zX7w@G)BB2E)i+S#1Uq_}_7x4!LRGwp6C^Y#yEO~*fkj6z`ofGw3rhmro|m?c<4gFm zfrncoT&j{27QTX$OaZ%u-4n)BbXne_Bly}b51IHHzG2|&4W_joTR4SBI1wtMQR3i8 zHWTdN>~WGe=+19`bW#NK%EY7imbB*M3h7i!)OFqFM6AKdZ27hY12F?<*d)!f<-k9}d>AL(3J{VL#Bb7@lNJM);yV84EwO@FV<~DX|O8b6?Xy7;zg~ zO?6*$$-qw<844IQwwTwI`YiPyEOKggW?SwJxpE2txjXW%@QOBhjjffTwWBHBRw2mN zkLy&*c$5k6zt*l2YhJa?keU!KX%Ug4GsIAwEUG9iZRmt3* zz`w?jZmI8vr!wgkY)wa(@rm??!iGYZdaX(3*VehH}yNYBLh zTLBMug*yW?k;n>eT*hb8vayUIl~ofj6wD+{H zVv387o{m+_C=41&;}twG5gm-3MRI2{7A^F2Bx9?v+c0%1rjoIw@yx~li5jzbpFCN) z!I&&ctQU`8hufBo493qQ6&*CsV)Kq~@T;5#`9ufO~I%lN^IOy4B=6Twrg zmZba)KO(^YQS`D(+p!7P;aXhJ54{vd(T6Or{~UH;68)TKyHG#|W$fly8^B52fJZ2K z8aLr-KA*wOc#ai5k3IN1_TqKk$#38``~$b+U$_JR;qx5~<6Z8(Cl@ZpR04OY&DgJc zaX{_j%#ne|uoZvcDn{?_#vg;#8}#>2T*dKEes;;JsiKs9mgo_Bl)#_y z7utB9UfhY;MFtu-pbWSMUNErVK+eEn14k4?>3Sdi>V34Ujqf3T5#5NaiHgco{A@E literal 0 HcmV?d00001 diff --git a/Library/bin/books.sql b/Library/bin/books.sql new file mode 100644 index 0000000..2765a2a --- /dev/null +++ b/Library/bin/books.sql @@ -0,0 +1,54 @@ +-- phpMyAdmin SQL Dump +-- version 3.4.5 +-- http://www.phpmyadmin.net +-- +-- Host: localhost +-- Generation Time: Jul 19, 2016 at 07:40 PM +-- Server version: 5.5.16 +-- PHP Version: 5.4.0beta2-dev + +SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; + +-- +-- Database: `test` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `books` +-- + +CREATE TABLE IF NOT EXISTS `books` ( + `id` int(10) NOT NULL AUTO_INCREMENT, + `callno` varchar(100) NOT NULL, + `name` varchar(100) NOT NULL, + `author` varchar(100) NOT NULL, + `publisher` varchar(100) NOT NULL, + `quantity` int(10) NOT NULL, + `issued` int(10) NOT NULL, + `added_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `callno` (`callno`), + UNIQUE KEY `callno_2` (`callno`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; + +-- +-- Dumping data for table `books` +-- + +INSERT INTO `books` (`id`, `callno`, `name`, `author`, `publisher`, `quantity`, `issued`, `added_date`) VALUES +(1, 'A@4', 'C In Depth', 'Shrivastav', 'BPB', 2, 2, '2016-07-19 19:37:56'), +(2, 'B@1', 'DBMS', 'Korth', 'Pearson', 3, 0, '2016-07-18 18:39:52'), +(3, 'G@12', 'Let''s see', 'Yashwant Kanetkar', 'BPB', 10, 0, '2016-07-18 23:02:14'); + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/Library/bin/issuebooks.sql b/Library/bin/issuebooks.sql new file mode 100644 index 0000000..6876bec --- /dev/null +++ b/Library/bin/issuebooks.sql @@ -0,0 +1,50 @@ +-- phpMyAdmin SQL Dump +-- version 3.4.5 +-- http://www.phpmyadmin.net +-- +-- Host: localhost +-- Generation Time: Jul 19, 2016 at 07:40 PM +-- Server version: 5.5.16 +-- PHP Version: 5.4.0beta2-dev + +SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; + +-- +-- Database: `test` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `issuebooks` +-- + +CREATE TABLE IF NOT EXISTS `issuebooks` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `bookcallno` varchar(50) NOT NULL, + `studentid` int(11) NOT NULL, + `studentname` varchar(50) NOT NULL, + `studentcontact` varchar(20) NOT NULL, + `issueddate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ; + +-- +-- Dumping data for table `issuebooks` +-- + +INSERT INTO `issuebooks` (`id`, `bookcallno`, `studentid`, `studentname`, `studentcontact`, `issueddate`) VALUES +(4, 'A@4', 23, 'kk', '932992932', '2016-07-19 18:43:16'), +(6, 'A@4', 335, 'Sumedh', '95676565756', '2016-07-19 18:44:34'), +(7, 'A@4', 87, 'abhishek', '9329882382', '2016-07-19 18:46:12'); + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/Library/bin/librarian.sql b/Library/bin/librarian.sql new file mode 100644 index 0000000..15fe1ab --- /dev/null +++ b/Library/bin/librarian.sql @@ -0,0 +1,51 @@ +-- phpMyAdmin SQL Dump +-- version 3.4.5 +-- http://www.phpmyadmin.net +-- +-- Host: localhost +-- Generation Time: Jul 19, 2016 at 07:40 PM +-- Server version: 5.5.16 +-- PHP Version: 5.4.0beta2-dev + +SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; + +-- +-- Database: `test` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `librarian` +-- + +CREATE TABLE IF NOT EXISTS `librarian` ( + `id` int(5) NOT NULL AUTO_INCREMENT, + `name` varchar(100) NOT NULL, + `password` varchar(100) NOT NULL, + `email` varchar(100) NOT NULL, + `address` varchar(200) NOT NULL, + `city` varchar(100) NOT NULL, + `contact` varchar(20) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ; + +-- +-- Dumping data for table `librarian` +-- + +INSERT INTO `librarian` (`id`, `name`, `password`, `email`, `address`, `city`, `contact`) VALUES +(1, 'Prabhakar', 'ppp', 'prabhakar@gmail.com', 'javatpoint', 'noida', '9998328238'), +(4, 'sumedh', 'sumesh', 'sumesh@gmail.com', 'Kuch Bhi', 'noida', '93823932823'), +(6, 'abhi', 'abhi', 'abhi@gmail.com', 'javatpoint', 'noida', '92393282323'); + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/Library/src/AdminLogin.java b/Library/src/AdminLogin.java new file mode 100644 index 0000000..1001924 --- /dev/null +++ b/Library/src/AdminLogin.java @@ -0,0 +1,121 @@ +import java.awt.BorderLayout; +import java.awt.EventQueue; + +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.border.EmptyBorder; +import javax.swing.GroupLayout; +import javax.swing.GroupLayout.Alignment; +import javax.swing.JLabel; +import javax.swing.JOptionPane; + +import java.awt.Font; +import java.awt.Color; +import javax.swing.JTextField; +import javax.swing.JButton; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; +import javax.swing.JPasswordField; + +public class AdminLogin extends JFrame { + static AdminLogin frame; + private JPanel contentPane; + private JTextField textField; + private JPasswordField passwordField; + + /** + * Launch the application. + */ + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + frame = new AdminLogin(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the frame. + */ + public AdminLogin() { + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setBounds(100, 100, 450, 300); + contentPane = new JPanel(); + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + setContentPane(contentPane); + + JLabel lblAdminLoginForm = new JLabel("Admin Login Form"); + lblAdminLoginForm.setForeground(Color.GRAY); + lblAdminLoginForm.setFont(new Font("Tahoma", Font.PLAIN, 18)); + + JLabel lblEnterName = new JLabel("Enter Name:"); + + JLabel lblEnterPassword = new JLabel("Enter Password:"); + + textField = new JTextField(); + textField.setColumns(10); + + JButton btnLogin = new JButton("Login"); + btnLogin.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + String name=textField.getText(); + String password=String.valueOf(passwordField.getPassword()); + if(name.equals("admin")&&password.equals("admin123")){ + AdminSuccess.main(new String[]{}); + frame.dispose(); + }else{ + JOptionPane.showMessageDialog(AdminLogin.this, "Sorry, Username or Password Error","Login Error!", JOptionPane.ERROR_MESSAGE); + textField.setText(""); + passwordField.setText(""); + } + } + }); + + passwordField = new JPasswordField(); + GroupLayout gl_contentPane = new GroupLayout(contentPane); + gl_contentPane.setHorizontalGroup( + gl_contentPane.createParallelGroup(Alignment.TRAILING) + .addGroup(gl_contentPane.createSequentialGroup() + .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING) + .addGroup(gl_contentPane.createSequentialGroup() + .addGap(124) + .addComponent(lblAdminLoginForm)) + .addGroup(gl_contentPane.createSequentialGroup() + .addGap(19) + .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING) + .addComponent(lblEnterName) + .addComponent(lblEnterPassword)) + .addGap(47) + .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING, false) + .addComponent(passwordField) + .addComponent(textField, GroupLayout.DEFAULT_SIZE, 172, Short.MAX_VALUE)))) + .addContainerGap(107, Short.MAX_VALUE)) + .addGroup(gl_contentPane.createSequentialGroup() + .addContainerGap(187, Short.MAX_VALUE) + .addComponent(btnLogin, GroupLayout.PREFERRED_SIZE, 86, GroupLayout.PREFERRED_SIZE) + .addGap(151)) + ); + gl_contentPane.setVerticalGroup( + gl_contentPane.createParallelGroup(Alignment.LEADING) + .addGroup(gl_contentPane.createSequentialGroup() + .addComponent(lblAdminLoginForm) + .addGap(26) + .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) + .addComponent(lblEnterName) + .addComponent(textField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addGap(28) + .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) + .addComponent(lblEnterPassword) + .addComponent(passwordField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addGap(18) + .addComponent(btnLogin, GroupLayout.PREFERRED_SIZE, 37, GroupLayout.PREFERRED_SIZE) + .addContainerGap(80, Short.MAX_VALUE)) + ); + contentPane.setLayout(gl_contentPane); + } +} diff --git a/Library/src/AdminSuccess.java b/Library/src/AdminSuccess.java new file mode 100644 index 0000000..1c040fd --- /dev/null +++ b/Library/src/AdminSuccess.java @@ -0,0 +1,117 @@ +import java.awt.BorderLayout; +import java.awt.EventQueue; + +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.border.EmptyBorder; +import javax.swing.GroupLayout; +import javax.swing.GroupLayout.Alignment; +import javax.swing.JLabel; +import java.awt.Color; +import java.awt.Font; +import javax.swing.JButton; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; +import javax.swing.LayoutStyle.ComponentPlacement; +import java.sql.*; +public class AdminSuccess extends JFrame { + static AdminSuccess frame; + private JPanel contentPane; + + /** + * Launch the application. + */ + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + frame = new AdminSuccess(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the frame. + */ + public AdminSuccess() { + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setBounds(100, 100, 450, 371); + contentPane = new JPanel(); + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + setContentPane(contentPane); + + JLabel lblAdminSection = new JLabel("Admin Section"); + lblAdminSection.setFont(new Font("Tahoma", Font.PLAIN, 22)); + lblAdminSection.setForeground(Color.GRAY); + + JButton btnNewButton = new JButton("Add Librarian"); + btnNewButton.setFont(new Font("Tahoma", Font.PLAIN, 15)); + btnNewButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + LibrarianForm.main(new String[]{}); + frame.dispose(); + } + }); + + JButton btnViewLibrarian = new JButton("View Librarian"); + btnViewLibrarian.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + ViewLibrarian.main(new String[]{}); + } + }); + btnViewLibrarian.setFont(new Font("Tahoma", Font.PLAIN, 15)); + + JButton btnDeleteLibrarian = new JButton("Delete Librarian"); + btnDeleteLibrarian.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + DeleteLibrarian.main(new String[]{}); + frame.dispose(); + } + }); + btnDeleteLibrarian.setFont(new Font("Tahoma", Font.PLAIN, 15)); + + JButton btnLogout = new JButton("Logout"); + btnLogout.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + Library.main(new String[]{}); + frame.dispose(); + } + }); + btnLogout.setFont(new Font("Tahoma", Font.PLAIN, 15)); + GroupLayout gl_contentPane = new GroupLayout(contentPane); + gl_contentPane.setHorizontalGroup( + gl_contentPane.createParallelGroup(Alignment.TRAILING) + .addGroup(gl_contentPane.createSequentialGroup() + .addContainerGap(150, Short.MAX_VALUE) + .addComponent(lblAdminSection, GroupLayout.PREFERRED_SIZE, 151, GroupLayout.PREFERRED_SIZE) + .addGap(123)) + .addGroup(Alignment.LEADING, gl_contentPane.createSequentialGroup() + .addGap(134) + .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING) + .addComponent(btnLogout, GroupLayout.PREFERRED_SIZE, 181, GroupLayout.PREFERRED_SIZE) + .addComponent(btnDeleteLibrarian, GroupLayout.PREFERRED_SIZE, 181, GroupLayout.PREFERRED_SIZE) + .addComponent(btnViewLibrarian, GroupLayout.PREFERRED_SIZE, 181, GroupLayout.PREFERRED_SIZE) + .addComponent(btnNewButton, GroupLayout.PREFERRED_SIZE, 181, GroupLayout.PREFERRED_SIZE)) + .addContainerGap(109, Short.MAX_VALUE)) + ); + gl_contentPane.setVerticalGroup( + gl_contentPane.createParallelGroup(Alignment.LEADING) + .addGroup(gl_contentPane.createSequentialGroup() + .addComponent(lblAdminSection, GroupLayout.PREFERRED_SIZE, 40, GroupLayout.PREFERRED_SIZE) + .addGap(11) + .addComponent(btnNewButton, GroupLayout.PREFERRED_SIZE, 49, GroupLayout.PREFERRED_SIZE) + .addGap(18) + .addComponent(btnViewLibrarian, GroupLayout.PREFERRED_SIZE, 49, GroupLayout.PREFERRED_SIZE) + .addGap(18) + .addComponent(btnDeleteLibrarian, GroupLayout.PREFERRED_SIZE, 49, GroupLayout.PREFERRED_SIZE) + .addGap(18) + .addComponent(btnLogout, GroupLayout.PREFERRED_SIZE, 49, GroupLayout.PREFERRED_SIZE) + .addContainerGap(21, Short.MAX_VALUE)) + ); + contentPane.setLayout(gl_contentPane); + } +} diff --git a/Library/src/BookDao.java b/Library/src/BookDao.java new file mode 100644 index 0000000..eb2ad95 --- /dev/null +++ b/Library/src/BookDao.java @@ -0,0 +1,20 @@ +import java.sql.Connection; +import java.sql.PreparedStatement; + +public class BookDao { +public static int save(String callno,String name,String author,String publisher,int quantity){ + int status=0; + try{ + Connection con=DB.getConnection(); + PreparedStatement ps=con.prepareStatement("insert into books(callno,name,author,publisher,quantity) values(?,?,?,?,?)"); + ps.setString(1,callno); + ps.setString(2,name); + ps.setString(3,author); + ps.setString(4,publisher); + ps.setInt(5,quantity); + status=ps.executeUpdate(); + con.close(); + }catch(Exception e){System.out.println(e);} + return status; +} +} diff --git a/Library/src/BooksForm.java b/Library/src/BooksForm.java new file mode 100644 index 0000000..a519d0b --- /dev/null +++ b/Library/src/BooksForm.java @@ -0,0 +1,172 @@ +import java.awt.BorderLayout; +import java.awt.EventQueue; + +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.border.EmptyBorder; +import javax.swing.GroupLayout; +import javax.swing.GroupLayout.Alignment; +import javax.swing.JLabel; +import javax.swing.JOptionPane; + +import java.awt.Font; +import java.awt.Color; +import javax.swing.JTextField; +import javax.swing.JButton; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; +import javax.swing.LayoutStyle.ComponentPlacement; + +public class BooksForm extends JFrame { + static BooksForm frame; + private JPanel contentPane; + private JTextField textField; + private JTextField textField_1; + private JTextField textField_2; + private JTextField textField_3; + private JTextField textField_4; + + /** + * Launch the application. + */ + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + frame = new BooksForm(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the frame. + */ + public BooksForm() { + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setBounds(100, 100, 450, 404); + contentPane = new JPanel(); + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + setContentPane(contentPane); + + JLabel lblAddBooks = new JLabel("Add Books"); + lblAddBooks.setForeground(Color.GRAY); + lblAddBooks.setFont(new Font("Tahoma", Font.PLAIN, 18)); + + JLabel lblCallNo = new JLabel("Call No:"); + + JLabel lblName = new JLabel("Name:"); + + JLabel lblAuthor = new JLabel("Author:"); + + JLabel lblPublisher = new JLabel("Publisher:"); + + JLabel lblQuantity = new JLabel("Quantity:"); + + textField = new JTextField(); + textField.setColumns(10); + + textField_1 = new JTextField(); + textField_1.setColumns(10); + + textField_2 = new JTextField(); + textField_2.setColumns(10); + + textField_3 = new JTextField(); + textField_3.setColumns(10); + + textField_4 = new JTextField(); + textField_4.setColumns(10); + + JButton btnAddBooks = new JButton("Add Books"); + btnAddBooks.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + String callno=textField.getText(); + String name=textField_1.getText(); + String author=textField_2.getText(); + String publisher=textField_3.getText(); + String squantity=textField_4.getText(); + int quantity=Integer.parseInt(squantity); + int i=BookDao.save(callno, name, author, publisher, quantity); + if(i>0){ + JOptionPane.showMessageDialog(BooksForm.this,"Books added successfully!"); + LibrarianSuccess.main(new String[]{}); + frame.dispose(); + + }else{ + JOptionPane.showMessageDialog(BooksForm.this,"Sorry, unable to save!"); + } + } + }); + + JButton btnBack = new JButton("Back"); + GroupLayout gl_contentPane = new GroupLayout(contentPane); + gl_contentPane.setHorizontalGroup( + gl_contentPane.createParallelGroup(Alignment.TRAILING) + .addGroup(gl_contentPane.createSequentialGroup() + .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING) + .addGroup(gl_contentPane.createSequentialGroup() + .addGap(150) + .addComponent(lblAddBooks)) + .addGroup(gl_contentPane.createSequentialGroup() + .addGap(18) + .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING, false) + .addComponent(lblName, GroupLayout.PREFERRED_SIZE, 37, GroupLayout.PREFERRED_SIZE) + .addComponent(lblCallNo) + .addComponent(lblAuthor, GroupLayout.PREFERRED_SIZE, 37, GroupLayout.PREFERRED_SIZE) + .addComponent(lblPublisher, GroupLayout.DEFAULT_SIZE, 67, Short.MAX_VALUE) + .addComponent(lblQuantity, GroupLayout.PREFERRED_SIZE, 55, GroupLayout.PREFERRED_SIZE)) + .addGap(47) + .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING) + .addComponent(textField_4, GroupLayout.PREFERRED_SIZE, 167, GroupLayout.PREFERRED_SIZE) + .addComponent(textField_3, GroupLayout.PREFERRED_SIZE, 167, GroupLayout.PREFERRED_SIZE) + .addComponent(textField_2, GroupLayout.PREFERRED_SIZE, 167, GroupLayout.PREFERRED_SIZE) + .addComponent(textField_1, GroupLayout.PREFERRED_SIZE, 167, GroupLayout.PREFERRED_SIZE) + .addComponent(textField, GroupLayout.PREFERRED_SIZE, 167, GroupLayout.PREFERRED_SIZE)))) + .addContainerGap(125, Short.MAX_VALUE)) + .addGroup(Alignment.LEADING, gl_contentPane.createSequentialGroup() + .addGap(161) + .addComponent(btnAddBooks, GroupLayout.PREFERRED_SIZE, 101, GroupLayout.PREFERRED_SIZE) + .addContainerGap(162, Short.MAX_VALUE)) + .addGroup(gl_contentPane.createSequentialGroup() + .addContainerGap(359, Short.MAX_VALUE) + .addComponent(btnBack) + .addContainerGap()) + ); + gl_contentPane.setVerticalGroup( + gl_contentPane.createParallelGroup(Alignment.LEADING) + .addGroup(gl_contentPane.createSequentialGroup() + .addComponent(lblAddBooks) + .addGap(18) + .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) + .addComponent(lblCallNo) + .addComponent(textField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addGap(18) + .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) + .addComponent(lblName) + .addComponent(textField_1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addGap(18) + .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) + .addComponent(lblAuthor) + .addComponent(textField_2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addGap(18) + .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) + .addComponent(lblPublisher) + .addComponent(textField_3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addGap(18) + .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) + .addComponent(lblQuantity) + .addComponent(textField_4, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addGap(30) + .addComponent(btnAddBooks, GroupLayout.PREFERRED_SIZE, 31, GroupLayout.PREFERRED_SIZE) + .addPreferredGap(ComponentPlacement.RELATED) + .addComponent(btnBack) + .addContainerGap(53, Short.MAX_VALUE)) + ); + contentPane.setLayout(gl_contentPane); + } + +} diff --git a/Library/src/DB.java b/Library/src/DB.java new file mode 100644 index 0000000..aadf93f --- /dev/null +++ b/Library/src/DB.java @@ -0,0 +1,14 @@ +import java.sql.Connection; +import java.sql.DriverManager; + +public class DB { + public static Connection getConnection(){ + Connection con=null; + try{ + Class.forName("com.mysql.jdbc.Driver"); + con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","",""); + }catch(Exception e){System.out.println(e);} + return con; + } + +} diff --git a/Library/src/DeleteLibrarian.java b/Library/src/DeleteLibrarian.java new file mode 100644 index 0000000..7723797 --- /dev/null +++ b/Library/src/DeleteLibrarian.java @@ -0,0 +1,113 @@ +import java.awt.BorderLayout; +import java.awt.EventQueue; + +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.border.EmptyBorder; +import javax.swing.GroupLayout; +import javax.swing.GroupLayout.Alignment; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JTextField; +import javax.swing.JButton; +import java.awt.Font; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; + +public class DeleteLibrarian extends JFrame { + static DeleteLibrarian frame; + private JPanel contentPane; + private JTextField textField; + + /** + * Launch the application. + */ + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + frame = new DeleteLibrarian(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the frame. + */ + public DeleteLibrarian() { + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setBounds(100, 100, 450, 300); + contentPane = new JPanel(); + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + setContentPane(contentPane); + + JLabel lblEnterId = new JLabel("Enter Id:"); + + textField = new JTextField(); + textField.setColumns(10); + + JButton btnDelete = new JButton("Delete"); + btnDelete.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + String sid=textField.getText(); + if(sid==null||sid.trim().equals("")){ + JOptionPane.showMessageDialog(DeleteLibrarian.this,"Id can't be blank"); + }else{ + int id=Integer.parseInt(sid); + int i=LibrarianDao.delete(id); + if(i>0){ + JOptionPane.showMessageDialog(DeleteLibrarian.this,"Record deleted successfully!"); + }else{ + JOptionPane.showMessageDialog(DeleteLibrarian.this,"Unable to delete given id!"); + } + } + } + }); + btnDelete.setFont(new Font("Tahoma", Font.PLAIN, 13)); + + JButton btnNewButton = new JButton("Back"); + btnNewButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + AdminSuccess.main(new String[]{}); + frame.dispose(); + } + }); + btnNewButton.setFont(new Font("Tahoma", Font.PLAIN, 13)); + GroupLayout gl_contentPane = new GroupLayout(contentPane); + gl_contentPane.setHorizontalGroup( + gl_contentPane.createParallelGroup(Alignment.LEADING) + .addGroup(gl_contentPane.createSequentialGroup() + .addGap(39) + .addComponent(lblEnterId) + .addGap(57) + .addComponent(textField, GroupLayout.PREFERRED_SIZE, 178, GroupLayout.PREFERRED_SIZE) + .addContainerGap(107, Short.MAX_VALUE)) + .addGroup(Alignment.TRAILING, gl_contentPane.createSequentialGroup() + .addContainerGap(175, Short.MAX_VALUE) + .addComponent(btnDelete, GroupLayout.PREFERRED_SIZE, 109, GroupLayout.PREFERRED_SIZE) + .addGap(140)) + .addGroup(Alignment.TRAILING, gl_contentPane.createSequentialGroup() + .addContainerGap(322, Short.MAX_VALUE) + .addComponent(btnNewButton, GroupLayout.PREFERRED_SIZE, 92, GroupLayout.PREFERRED_SIZE) + .addContainerGap()) + ); + gl_contentPane.setVerticalGroup( + gl_contentPane.createParallelGroup(Alignment.LEADING) + .addGroup(gl_contentPane.createSequentialGroup() + .addGap(19) + .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING) + .addComponent(textField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) + .addComponent(lblEnterId)) + .addGap(33) + .addComponent(btnDelete, GroupLayout.PREFERRED_SIZE, 33, GroupLayout.PREFERRED_SIZE) + .addGap(43) + .addComponent(btnNewButton) + .addContainerGap(78, Short.MAX_VALUE)) + ); + contentPane.setLayout(gl_contentPane); + } +} diff --git a/Library/src/IssueBookDao.java b/Library/src/IssueBookDao.java new file mode 100644 index 0000000..af85f7b --- /dev/null +++ b/Library/src/IssueBookDao.java @@ -0,0 +1,63 @@ +import java.sql.*; +public class IssueBookDao { + +public static boolean checkBook(String bookcallno){ + boolean status=false; + try{ + Connection con=DB.getConnection(); + PreparedStatement ps=con.prepareStatement("select * from books where callno=?"); + ps.setString(1,bookcallno); + ResultSet rs=ps.executeQuery(); + status=rs.next(); + con.close(); + }catch(Exception e){System.out.println(e);} + return status; +} + +public static int save(String bookcallno,int studentid,String studentname,String studentcontact){ + int status=0; + try{ + Connection con=DB.getConnection(); + + status=updatebook(bookcallno);//updating quantity and issue + + if(status>0){ + PreparedStatement ps=con.prepareStatement("insert into issuebooks(bookcallno,studentid,studentname,studentcontact) values(?,?,?,?)"); + ps.setString(1,bookcallno); + ps.setInt(2,studentid); + ps.setString(3,studentname); + ps.setString(4,studentcontact); + status=ps.executeUpdate(); + } + + con.close(); + }catch(Exception e){System.out.println(e);} + return status; +} +public static int updatebook(String bookcallno){ + int status=0; + int quantity=0,issued=0; + try{ + Connection con=DB.getConnection(); + + PreparedStatement ps=con.prepareStatement("select quantity,issued from books where callno=?"); + ps.setString(1,bookcallno); + ResultSet rs=ps.executeQuery(); + if(rs.next()){ + quantity=rs.getInt("quantity"); + issued=rs.getInt("issued"); + } + + if(quantity>0){ + PreparedStatement ps2=con.prepareStatement("update books set quantity=?,issued=? where callno=?"); + ps2.setInt(1,quantity-1); + ps2.setInt(2,issued+1); + ps2.setString(3,bookcallno); + + status=ps2.executeUpdate(); + } + con.close(); + }catch(Exception e){System.out.println(e);} + return status; +} +} diff --git a/Library/src/IssueBookForm.java b/Library/src/IssueBookForm.java new file mode 100644 index 0000000..569e9e0 --- /dev/null +++ b/Library/src/IssueBookForm.java @@ -0,0 +1,181 @@ +import java.awt.BorderLayout; +import java.awt.EventQueue; + +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.border.EmptyBorder; +import javax.swing.GroupLayout; +import javax.swing.GroupLayout.Alignment; +import javax.swing.JLabel; +import javax.swing.JOptionPane; + +import java.awt.Color; +import java.awt.Font; +import javax.swing.JTextField; +import javax.swing.JButton; +import javax.swing.LayoutStyle.ComponentPlacement; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; + +public class IssueBookForm extends JFrame { + static IssueBookForm frame; + private JPanel contentPane; + private JTextField textField_1; + private JTextField textField_2; + private JTextField textField_3; + private JTextField textField_4; + + /** + * Launch the application. + */ + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + frame = new IssueBookForm(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the frame. + */ + public IssueBookForm() { + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setBounds(100, 100, 438, 414); + contentPane = new JPanel(); + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + setContentPane(contentPane); + + JLabel lblNewLabel = new JLabel("Issue Book "); + lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 18)); + lblNewLabel.setForeground(Color.GRAY); + + JLabel lblBookName = new JLabel("Book Callno:"); + + textField_1 = new JTextField(); + textField_1.setColumns(10); + + textField_2 = new JTextField(); + textField_2.setColumns(10); + + textField_3 = new JTextField(); + textField_3.setColumns(10); + + textField_4 = new JTextField(); + textField_4.setColumns(10); + + JLabel lblStudentId = new JLabel("Student Id:"); + + JLabel lblStudentName = new JLabel("Student Name:"); + + JLabel lblStudentContact = new JLabel("Student Contact:"); + + JButton btnIssueBook = new JButton("Issue Book"); + btnIssueBook.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + + String bookcallno=textField_1.getText(); + int studentid=Integer.parseInt(textField_2.getText()); + String studentname=textField_3.getText(); + String studentcontact=textField_4.getText(); + + if(IssueBookDao.checkBook(bookcallno)){ + + int i=IssueBookDao.save(bookcallno, studentid, studentname, studentcontact); + if(i>0){ + JOptionPane.showMessageDialog(IssueBookForm.this,"Book issued successfully!"); + LibrarianSuccess.main(new String[]{}); + frame.dispose(); + + }else{ + JOptionPane.showMessageDialog(IssueBookForm.this,"Sorry, unable to issue!"); + }//end of save if-else + + }else{ + JOptionPane.showMessageDialog(IssueBookForm.this,"Sorry, Callno doesn't exist!"); + }//end of checkbook if-else + + } + }); + + JButton btnBack = new JButton("Back"); + btnBack.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + LibrarianSuccess.main(new String[]{}); + frame.dispose(); + } + }); + + JLabel lblNewLabel_1 = new JLabel("Note: Please check Student ID Carefully before issuing book!"); + lblNewLabel_1.setFont(new Font("Tahoma", Font.PLAIN, 13)); + lblNewLabel_1.setForeground(Color.RED); + GroupLayout gl_contentPane = new GroupLayout(contentPane); + gl_contentPane.setHorizontalGroup( + gl_contentPane.createParallelGroup(Alignment.LEADING) + .addGroup(gl_contentPane.createSequentialGroup() + .addContainerGap(10, Short.MAX_VALUE) + .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING) + .addGroup(gl_contentPane.createSequentialGroup() + .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING) + .addComponent(lblBookName) + .addComponent(lblStudentId) + .addComponent(lblStudentName, GroupLayout.PREFERRED_SIZE, 108, GroupLayout.PREFERRED_SIZE) + .addComponent(lblStudentContact, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE)) + .addGap(10) + .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING) + .addComponent(textField_2, GroupLayout.PREFERRED_SIZE, 172, GroupLayout.PREFERRED_SIZE) + .addComponent(textField_1, GroupLayout.PREFERRED_SIZE, 172, GroupLayout.PREFERRED_SIZE) + .addComponent(textField_3, GroupLayout.PREFERRED_SIZE, 172, GroupLayout.PREFERRED_SIZE) + .addComponent(textField_4, GroupLayout.PREFERRED_SIZE, 172, GroupLayout.PREFERRED_SIZE)) + .addGap(48)) + .addGroup(Alignment.TRAILING, gl_contentPane.createSequentialGroup() + .addGap(20) + .addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING) + .addComponent(lblNewLabel_1) + .addGroup(gl_contentPane.createSequentialGroup() + .addComponent(btnIssueBook, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE) + .addGap(47) + .addComponent(btnBack))) + .addGap(100)))) + .addGroup(gl_contentPane.createSequentialGroup() + .addGap(146) + .addComponent(lblNewLabel) + .addContainerGap(235, Short.MAX_VALUE)) + ); + gl_contentPane.setVerticalGroup( + gl_contentPane.createParallelGroup(Alignment.TRAILING) + .addGroup(gl_contentPane.createSequentialGroup() + .addGap(37) + .addComponent(lblNewLabel) + .addGap(43) + .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) + .addComponent(lblBookName) + .addComponent(textField_1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addGap(28) + .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) + .addComponent(lblStudentId) + .addComponent(textField_2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addGap(28) + .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) + .addComponent(lblStudentName) + .addComponent(textField_3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addGap(26) + .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) + .addComponent(lblStudentContact) + .addComponent(textField_4, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(ComponentPlacement.UNRELATED) + .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) + .addComponent(btnIssueBook, GroupLayout.PREFERRED_SIZE, 31, GroupLayout.PREFERRED_SIZE) + .addComponent(btnBack)) + .addGap(18) + .addComponent(lblNewLabel_1) + .addGap(25)) + ); + contentPane.setLayout(gl_contentPane); + } +} diff --git a/Library/src/LibrarianDao.java b/Library/src/LibrarianDao.java new file mode 100644 index 0000000..061480d --- /dev/null +++ b/Library/src/LibrarianDao.java @@ -0,0 +1,47 @@ +import java.sql.*; +public class LibrarianDao { + + + public static int save(String name,String password,String email,String address,String city,String contact){ + int status=0; + try{ + Connection con=DB.getConnection(); + PreparedStatement ps=con.prepareStatement("insert into librarian(name,password,email,address,city,contact) values(?,?,?,?,?,?)"); + ps.setString(1,name); + ps.setString(2,password); + ps.setString(3,email); + ps.setString(4,address); + ps.setString(5,city); + ps.setString(6,contact); + status=ps.executeUpdate(); + con.close(); + }catch(Exception e){System.out.println(e);} + return status; + } + public static int delete(int id){ + int status=0; + try{ + Connection con=DB.getConnection(); + PreparedStatement ps=con.prepareStatement("delete from librarian where id=?"); + ps.setInt(1,id); + status=ps.executeUpdate(); + con.close(); + }catch(Exception e){System.out.println(e);} + return status; + } + + public static boolean validate(String name,String password){ + boolean status=false; + try{ + Connection con=DB.getConnection(); + PreparedStatement ps=con.prepareStatement("select * from librarian where name=? and password=?"); + ps.setString(1,name); + ps.setString(2,password); + ResultSet rs=ps.executeQuery(); + status=rs.next(); + con.close(); + }catch(Exception e){System.out.println(e);} + return status; + } + +} diff --git a/Library/src/LibrarianForm.java b/Library/src/LibrarianForm.java new file mode 100644 index 0000000..a6506b6 --- /dev/null +++ b/Library/src/LibrarianForm.java @@ -0,0 +1,193 @@ +import java.awt.BorderLayout; +import java.awt.EventQueue; + +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.border.EmptyBorder; +import javax.swing.GroupLayout; +import javax.swing.GroupLayout.Alignment; +import javax.swing.JLabel; +import javax.swing.JOptionPane; + +import java.awt.Font; +import java.awt.Color; +import javax.swing.JTextField; +import javax.swing.JPasswordField; +import javax.swing.LayoutStyle.ComponentPlacement; +import javax.swing.JButton; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; + +public class LibrarianForm extends JFrame { + static LibrarianForm frame; + private JPanel contentPane; + private JTextField textField; + private JTextField textField_1; + private JTextField textField_2; + private JTextField textField_3; + private JTextField textField_4; + private JPasswordField passwordField; + + /** + * Launch the application. + */ + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + frame = new LibrarianForm(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the frame. + */ + public LibrarianForm() { + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setBounds(100, 100, 450, 450); + contentPane = new JPanel(); + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + setContentPane(contentPane); + + JLabel lblAddLibrarian = new JLabel("Add Librarian"); + lblAddLibrarian.setForeground(Color.DARK_GRAY); + lblAddLibrarian.setFont(new Font("Tahoma", Font.PLAIN, 22)); + + JLabel lblName = new JLabel("Name:"); + + JLabel lblPassword = new JLabel("Password:"); + + JLabel lblEmail = new JLabel("Email:"); + + JLabel lblAddress = new JLabel("Address:"); + + JLabel lblCity = new JLabel("City:"); + + JLabel lblContactNo = new JLabel("Contact No:"); + + textField = new JTextField(); + textField.setColumns(10); + + textField_1 = new JTextField(); + textField_1.setColumns(10); + + textField_2 = new JTextField(); + textField_2.setColumns(10); + + textField_3 = new JTextField(); + textField_3.setColumns(10); + + textField_4 = new JTextField(); + textField_4.setColumns(10); + + passwordField = new JPasswordField(); + + JButton btnNewButton = new JButton("Add Librarian"); + btnNewButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + String name=textField.getText(); + String password=String.valueOf(passwordField.getPassword()); + String email=textField_1.getText(); + String address=textField_2.getText(); + String city=textField_3.getText(); + String contact=textField_4.getText(); + + int i=LibrarianDao.save(name, password, email, address, city, contact); + if(i>0){ + JOptionPane.showMessageDialog(LibrarianForm.this,"Librarian added successfully!"); + AdminSuccess.main(new String[]{}); + frame.dispose(); + + }else{ + JOptionPane.showMessageDialog(LibrarianForm.this,"Sorry, unable to save!"); + } + } + }); + btnNewButton.setForeground(Color.DARK_GRAY); + + JButton btnBack = new JButton("Back"); + btnBack.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + AdminSuccess.main(new String[]{}); + frame.dispose(); + } + }); + GroupLayout gl_contentPane = new GroupLayout(contentPane); + gl_contentPane.setHorizontalGroup( + gl_contentPane.createParallelGroup(Alignment.TRAILING) + .addGroup(gl_contentPane.createSequentialGroup() + .addGap(20) + .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING, false) + .addComponent(lblPassword, GroupLayout.DEFAULT_SIZE, 62, Short.MAX_VALUE) + .addComponent(lblName) + .addComponent(lblEmail, GroupLayout.PREFERRED_SIZE, 31, GroupLayout.PREFERRED_SIZE) + .addComponent(lblAddress, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(lblCity, GroupLayout.PREFERRED_SIZE, 31, GroupLayout.PREFERRED_SIZE) + .addComponent(lblContactNo, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGap(58) + .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING, false) + .addComponent(textField_4, GroupLayout.DEFAULT_SIZE, 177, Short.MAX_VALUE) + .addComponent(textField_3, GroupLayout.DEFAULT_SIZE, 177, Short.MAX_VALUE) + .addComponent(textField_2, GroupLayout.DEFAULT_SIZE, 177, Short.MAX_VALUE) + .addComponent(textField_1, GroupLayout.DEFAULT_SIZE, 177, Short.MAX_VALUE) + .addComponent(textField, GroupLayout.DEFAULT_SIZE, 177, Short.MAX_VALUE) + .addComponent(passwordField)) + .addContainerGap(107, Short.MAX_VALUE)) + .addGroup(gl_contentPane.createSequentialGroup() + .addContainerGap(151, Short.MAX_VALUE) + .addComponent(lblAddLibrarian) + .addGap(144)) + .addGroup(gl_contentPane.createSequentialGroup() + .addContainerGap(160, Short.MAX_VALUE) + .addComponent(btnNewButton, GroupLayout.PREFERRED_SIZE, 131, GroupLayout.PREFERRED_SIZE) + .addGap(133)) + .addGroup(gl_contentPane.createSequentialGroup() + .addContainerGap(200, Short.MAX_VALUE) + .addComponent(btnBack) + .addGap(169)) + ); + gl_contentPane.setVerticalGroup( + gl_contentPane.createParallelGroup(Alignment.LEADING) + .addGroup(gl_contentPane.createSequentialGroup() + .addComponent(lblAddLibrarian) + .addGap(18) + .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING) + .addGroup(gl_contentPane.createSequentialGroup() + .addComponent(lblName) + .addGap(18) + .addComponent(lblPassword)) + .addGroup(gl_contentPane.createSequentialGroup() + .addComponent(textField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) + .addPreferredGap(ComponentPlacement.UNRELATED) + .addComponent(passwordField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))) + .addGap(18) + .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) + .addComponent(lblEmail) + .addComponent(textField_1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addGap(18) + .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) + .addComponent(lblAddress) + .addComponent(textField_2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addGap(18) + .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) + .addComponent(lblCity) + .addComponent(textField_3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addGap(18) + .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) + .addComponent(lblContactNo) + .addComponent(textField_4, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addGap(18) + .addComponent(btnNewButton, GroupLayout.PREFERRED_SIZE, 36, GroupLayout.PREFERRED_SIZE) + .addPreferredGap(ComponentPlacement.RELATED, 57, Short.MAX_VALUE) + .addComponent(btnBack) + .addGap(19)) + ); + contentPane.setLayout(gl_contentPane); + } + +} diff --git a/Library/src/LibrarianLogin.java b/Library/src/LibrarianLogin.java new file mode 100644 index 0000000..cd2298b --- /dev/null +++ b/Library/src/LibrarianLogin.java @@ -0,0 +1,122 @@ +import java.awt.BorderLayout; +import java.awt.EventQueue; + +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.border.EmptyBorder; +import javax.swing.GroupLayout; +import javax.swing.GroupLayout.Alignment; +import javax.swing.JLabel; +import javax.swing.JOptionPane; + +import java.awt.Font; +import java.awt.Color; +import javax.swing.JTextField; +import javax.swing.JButton; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; +import javax.swing.JPasswordField; + +public class LibrarianLogin extends JFrame { + static LibrarianLogin frame; + private JPanel contentPane; + private JTextField textField; + private JPasswordField passwordField; + + /** + * Launch the application. + */ + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + frame = new LibrarianLogin(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the frame. + */ + public LibrarianLogin() { + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setBounds(100, 100, 450, 300); + contentPane = new JPanel(); + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + setContentPane(contentPane); + + JLabel lblAdminLoginForm = new JLabel("Librarian Login Form"); + lblAdminLoginForm.setForeground(Color.GRAY); + lblAdminLoginForm.setFont(new Font("Tahoma", Font.PLAIN, 18)); + + JLabel lblEnterName = new JLabel("Enter Name:"); + + JLabel lblEnterPassword = new JLabel("Enter Password:"); + + textField = new JTextField(); + textField.setColumns(10); + + JButton btnLogin = new JButton("Login"); + btnLogin.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + String name=textField.getText(); + String password=String.valueOf(passwordField.getPassword()); + //System.out.println(name+" "+password); + if(LibrarianDao.validate(name, password)){ + LibrarianSuccess.main(new String[]{}); + frame.dispose(); + }else{ + JOptionPane.showMessageDialog(LibrarianLogin.this, "Sorry, Username or Password Error","Login Error!", JOptionPane.ERROR_MESSAGE); + textField.setText(""); + passwordField.setText(""); + } + } + }); + + passwordField = new JPasswordField(); + GroupLayout gl_contentPane = new GroupLayout(contentPane); + gl_contentPane.setHorizontalGroup( + gl_contentPane.createParallelGroup(Alignment.TRAILING) + .addGroup(gl_contentPane.createSequentialGroup() + .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING) + .addGroup(gl_contentPane.createSequentialGroup() + .addGap(124) + .addComponent(lblAdminLoginForm)) + .addGroup(gl_contentPane.createSequentialGroup() + .addGap(19) + .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING) + .addComponent(lblEnterName) + .addComponent(lblEnterPassword)) + .addGap(47) + .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING, false) + .addComponent(passwordField) + .addComponent(textField, GroupLayout.DEFAULT_SIZE, 172, Short.MAX_VALUE)))) + .addContainerGap(107, Short.MAX_VALUE)) + .addGroup(gl_contentPane.createSequentialGroup() + .addContainerGap(187, Short.MAX_VALUE) + .addComponent(btnLogin, GroupLayout.PREFERRED_SIZE, 86, GroupLayout.PREFERRED_SIZE) + .addGap(151)) + ); + gl_contentPane.setVerticalGroup( + gl_contentPane.createParallelGroup(Alignment.LEADING) + .addGroup(gl_contentPane.createSequentialGroup() + .addComponent(lblAdminLoginForm) + .addGap(26) + .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) + .addComponent(lblEnterName) + .addComponent(textField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addGap(28) + .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) + .addComponent(lblEnterPassword) + .addComponent(passwordField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addGap(18) + .addComponent(btnLogin, GroupLayout.PREFERRED_SIZE, 37, GroupLayout.PREFERRED_SIZE) + .addContainerGap(80, Short.MAX_VALUE)) + ); + contentPane.setLayout(gl_contentPane); + } +} diff --git a/Library/src/LibrarianSuccess.java b/Library/src/LibrarianSuccess.java new file mode 100644 index 0000000..94098ff --- /dev/null +++ b/Library/src/LibrarianSuccess.java @@ -0,0 +1,141 @@ +import java.awt.BorderLayout; +import java.awt.EventQueue; + +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.border.EmptyBorder; +import javax.swing.GroupLayout; +import javax.swing.GroupLayout.Alignment; +import javax.swing.JLabel; +import java.awt.Font; +import java.awt.Color; +import javax.swing.JButton; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; + +public class LibrarianSuccess extends JFrame { + static LibrarianSuccess frame; + private JPanel contentPane; + + /** + * Launch the application. + */ + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + frame = new LibrarianSuccess(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the frame. + */ + public LibrarianSuccess() { + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setBounds(100, 100, 450, 433); + contentPane = new JPanel(); + contentPane.setForeground(Color.GRAY); + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + setContentPane(contentPane); + + JLabel lblLibrarianSection = new JLabel("Librarian Section - JavaTpoint"); + lblLibrarianSection.setFont(new Font("Tahoma", Font.PLAIN, 22)); + + JButton btnNewButton = new JButton("Add Books"); + btnNewButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + BooksForm.main(new String[]{}); + frame.dispose(); + } + }); + btnNewButton.setFont(new Font("Tahoma", Font.PLAIN, 13)); + + JButton btnViewBooks = new JButton("View Books"); + btnViewBooks.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + ViewBooks.main(new String[]{}); + } + }); + btnViewBooks.setFont(new Font("Tahoma", Font.PLAIN, 13)); + + JButton btnIssueBook = new JButton("Issue Book"); + btnIssueBook.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + IssueBookForm.main(new String[]{}); + frame.dispose(); + } + }); + btnIssueBook.setFont(new Font("Tahoma", Font.PLAIN, 13)); + + JButton btnViewIssuedBooks = new JButton("View Issued Books"); + btnViewIssuedBooks.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + ViewIssuedBooks.main(new String[]{}); + } + }); + btnViewIssuedBooks.setFont(new Font("Tahoma", Font.PLAIN, 13)); + + JButton btnReturnBook = new JButton("Return Book"); + btnReturnBook.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + ReturnBook.main(new String[]{}); + frame.dispose(); + } + }); + btnReturnBook.setFont(new Font("Tahoma", Font.PLAIN, 13)); + + JButton btnLogout = new JButton("Logout"); + btnLogout.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + Library.main(new String[]{}); + frame.dispose(); + } + }); + btnLogout.setFont(new Font("Tahoma", Font.PLAIN, 13)); + GroupLayout gl_contentPane = new GroupLayout(contentPane); + gl_contentPane.setHorizontalGroup( + gl_contentPane.createParallelGroup(Alignment.LEADING) + .addGroup(Alignment.TRAILING, gl_contentPane.createSequentialGroup() + .addContainerGap(81, Short.MAX_VALUE) + .addComponent(lblLibrarianSection) + .addGap(54)) + .addGroup(gl_contentPane.createSequentialGroup() + .addGap(132) + .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING) + .addComponent(btnLogout, GroupLayout.PREFERRED_SIZE, 191, GroupLayout.PREFERRED_SIZE) + .addComponent(btnReturnBook, GroupLayout.PREFERRED_SIZE, 191, GroupLayout.PREFERRED_SIZE) + .addComponent(btnViewIssuedBooks, GroupLayout.PREFERRED_SIZE, 191, GroupLayout.PREFERRED_SIZE) + .addComponent(btnIssueBook, GroupLayout.PREFERRED_SIZE, 191, GroupLayout.PREFERRED_SIZE) + .addComponent(btnViewBooks, GroupLayout.PREFERRED_SIZE, 191, GroupLayout.PREFERRED_SIZE) + .addComponent(btnNewButton, GroupLayout.PREFERRED_SIZE, 191, GroupLayout.PREFERRED_SIZE)) + .addContainerGap(101, Short.MAX_VALUE)) + ); + gl_contentPane.setVerticalGroup( + gl_contentPane.createParallelGroup(Alignment.LEADING) + .addGroup(gl_contentPane.createSequentialGroup() + .addContainerGap() + .addComponent(lblLibrarianSection) + .addGap(18) + .addComponent(btnNewButton, GroupLayout.PREFERRED_SIZE, 37, GroupLayout.PREFERRED_SIZE) + .addGap(18) + .addComponent(btnViewBooks, GroupLayout.PREFERRED_SIZE, 37, GroupLayout.PREFERRED_SIZE) + .addGap(18) + .addComponent(btnIssueBook, GroupLayout.PREFERRED_SIZE, 37, GroupLayout.PREFERRED_SIZE) + .addGap(18) + .addComponent(btnViewIssuedBooks, GroupLayout.PREFERRED_SIZE, 37, GroupLayout.PREFERRED_SIZE) + .addGap(18) + .addComponent(btnReturnBook, GroupLayout.PREFERRED_SIZE, 37, GroupLayout.PREFERRED_SIZE) + .addGap(18) + .addComponent(btnLogout, GroupLayout.PREFERRED_SIZE, 37, GroupLayout.PREFERRED_SIZE) + .addContainerGap(16, Short.MAX_VALUE)) + ); + contentPane.setLayout(gl_contentPane); + } + +} diff --git a/Library/src/Library.java b/Library/src/Library.java new file mode 100644 index 0000000..d3dbeb4 --- /dev/null +++ b/Library/src/Library.java @@ -0,0 +1,95 @@ +import java.awt.BorderLayout; +import java.awt.EventQueue; + +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.border.EmptyBorder; +import javax.swing.GroupLayout; +import javax.swing.GroupLayout.Alignment; +import javax.swing.JLabel; +import java.awt.Color; +import java.awt.Font; +import javax.swing.JButton; +import javax.swing.LayoutStyle.ComponentPlacement; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; + +public class Library extends JFrame { + static Library frame; + private JPanel contentPane; + + /** + * Launch the application. + */ + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + frame= new Library(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the frame. + */ + public Library() { + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setBounds(100, 100, 450, 300); + contentPane = new JPanel(); + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + setContentPane(contentPane); + + JLabel lblLibraryManagement = new JLabel("Library Management - JavaTpoint"); + lblLibraryManagement.setFont(new Font("Tahoma", Font.PLAIN, 18)); + lblLibraryManagement.setForeground(Color.GRAY); + + JButton btnAdminLogin = new JButton("Admin Login"); + btnAdminLogin.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + AdminLogin.main(new String[]{}); + frame.dispose(); + } + }); + btnAdminLogin.setFont(new Font("Tahoma", Font.PLAIN, 15)); + + JButton btnLibrarianLogin = new JButton("Librarian Login"); + btnLibrarianLogin.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + LibrarianLogin.main(new String[]{}); + } + }); + btnLibrarianLogin.setFont(new Font("Tahoma", Font.PLAIN, 15)); + GroupLayout gl_contentPane = new GroupLayout(contentPane); + gl_contentPane.setHorizontalGroup( + gl_contentPane.createParallelGroup(Alignment.LEADING) + .addGroup(gl_contentPane.createSequentialGroup() + .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING) + .addGroup(gl_contentPane.createSequentialGroup() + .addGap(64) + .addComponent(lblLibraryManagement)) + .addGroup(gl_contentPane.createSequentialGroup() + .addGap(140) + .addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING, false) + .addComponent(btnLibrarianLogin, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(btnAdminLogin, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 135, Short.MAX_VALUE)))) + .addContainerGap(95, Short.MAX_VALUE)) + ); + gl_contentPane.setVerticalGroup( + gl_contentPane.createParallelGroup(Alignment.LEADING) + .addGroup(gl_contentPane.createSequentialGroup() + .addContainerGap() + .addComponent(lblLibraryManagement) + .addGap(32) + .addComponent(btnAdminLogin, GroupLayout.PREFERRED_SIZE, 52, GroupLayout.PREFERRED_SIZE) + .addPreferredGap(ComponentPlacement.UNRELATED) + .addComponent(btnLibrarianLogin, GroupLayout.PREFERRED_SIZE, 53, GroupLayout.PREFERRED_SIZE) + .addContainerGap(70, Short.MAX_VALUE)) + ); + contentPane.setLayout(gl_contentPane); + } +} diff --git a/Library/src/ReturnBook.java b/Library/src/ReturnBook.java new file mode 100644 index 0000000..647644d --- /dev/null +++ b/Library/src/ReturnBook.java @@ -0,0 +1,148 @@ +import java.awt.BorderLayout; +import java.awt.EventQueue; + +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.border.EmptyBorder; +import javax.swing.GroupLayout; +import javax.swing.GroupLayout.Alignment; +import javax.swing.JLabel; +import javax.swing.JOptionPane; + +import java.awt.Font; +import java.awt.Color; +import javax.swing.JTextField; +import javax.swing.JButton; +import javax.swing.LayoutStyle.ComponentPlacement; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; + +public class ReturnBook extends JFrame { + static ReturnBook frame; + private JPanel contentPane; + private JTextField textField; + private JTextField textField_1; + + /** + * Launch the application. + */ + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + frame = new ReturnBook(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the frame. + */ + public ReturnBook() { + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setBounds(100, 100, 516, 413); + contentPane = new JPanel(); + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + setContentPane(contentPane); + + JLabel lblReturnBook = new JLabel("Return Book"); + lblReturnBook.setForeground(Color.GRAY); + lblReturnBook.setFont(new Font("Tahoma", Font.PLAIN, 18)); + + JLabel lblBookCallno = new JLabel("Book Callno:"); + + JLabel lblStudentId = new JLabel("Student Id:"); + + textField = new JTextField(); + textField.setColumns(10); + + textField_1 = new JTextField(); + textField_1.setColumns(10); + + JButton btnReturnBook = new JButton("Return Book"); + btnReturnBook.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + String bookcallno=textField.getText(); + int studentid=Integer.parseInt(textField_1.getText()); + int i=ReturnBookDao.delete(bookcallno, studentid); + if(i>0){ + JOptionPane.showMessageDialog(ReturnBook.this,"Book returned successfully!"); + LibrarianSuccess.main(new String[]{}); + frame.dispose(); + + }else{ + JOptionPane.showMessageDialog(ReturnBook.this,"Sorry, unable to return book!"); + } + } + }); + + JLabel lblNewLabel = new JLabel("Note: Check the book properly!"); + lblNewLabel.setForeground(Color.RED); + lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 13)); + + JButton btnBack = new JButton("Back"); + btnBack.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + LibrarianSuccess.main(new String[]{}); + frame.dispose(); + } + }); + GroupLayout gl_contentPane = new GroupLayout(contentPane); + gl_contentPane.setHorizontalGroup( + gl_contentPane.createParallelGroup(Alignment.TRAILING) + .addGroup(gl_contentPane.createSequentialGroup() + .addGap(36) + .addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING, false) + .addComponent(lblStudentId, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(lblBookCallno, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 78, Short.MAX_VALUE)) + .addGap(56) + .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING) + .addComponent(textField_1, GroupLayout.PREFERRED_SIZE, 181, GroupLayout.PREFERRED_SIZE) + .addComponent(textField, GroupLayout.PREFERRED_SIZE, 181, GroupLayout.PREFERRED_SIZE)) + .addContainerGap(139, Short.MAX_VALUE)) + .addGroup(gl_contentPane.createSequentialGroup() + .addContainerGap(210, Short.MAX_VALUE) + .addComponent(btnReturnBook, GroupLayout.PREFERRED_SIZE, 104, GroupLayout.PREFERRED_SIZE) + .addGap(176)) + .addGroup(gl_contentPane.createSequentialGroup() + .addContainerGap(205, Short.MAX_VALUE) + .addComponent(lblReturnBook) + .addGap(187)) + .addGroup(gl_contentPane.createSequentialGroup() + .addGap(19) + .addComponent(lblNewLabel) + .addContainerGap(294, Short.MAX_VALUE)) + .addGroup(gl_contentPane.createSequentialGroup() + .addContainerGap(355, Short.MAX_VALUE) + .addComponent(btnBack) + .addGap(46)) + ); + gl_contentPane.setVerticalGroup( + gl_contentPane.createParallelGroup(Alignment.LEADING) + .addGroup(gl_contentPane.createSequentialGroup() + .addContainerGap() + .addComponent(lblReturnBook) + .addGap(32) + .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) + .addComponent(lblBookCallno) + .addComponent(textField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addGap(34) + .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) + .addComponent(lblStudentId) + .addComponent(textField_1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) + .addGap(29) + .addComponent(btnReturnBook, GroupLayout.PREFERRED_SIZE, 34, GroupLayout.PREFERRED_SIZE) + .addGap(23) + .addComponent(btnBack) + .addPreferredGap(ComponentPlacement.RELATED, 28, Short.MAX_VALUE) + .addComponent(lblNewLabel) + .addGap(72)) + ); + contentPane.setLayout(gl_contentPane); + } + +} diff --git a/Library/src/ReturnBookDao.java b/Library/src/ReturnBookDao.java new file mode 100644 index 0000000..6d76d1d --- /dev/null +++ b/Library/src/ReturnBookDao.java @@ -0,0 +1,50 @@ +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; + +public class ReturnBookDao { + public static int delete(String bookcallno,int studentid){ + int status=0; + try{ + Connection con=DB.getConnection(); + + status=updatebook(bookcallno);//updating quantity and issue + + if(status>0){ + PreparedStatement ps=con.prepareStatement("delete from issuebooks where bookcallno=? and studentid=?"); + ps.setString(1,bookcallno); + ps.setInt(2,studentid); + status=ps.executeUpdate(); + } + + con.close(); + }catch(Exception e){System.out.println(e);} + return status; + } + public static int updatebook(String bookcallno){ + int status=0; + int quantity=0,issued=0; + try{ + Connection con=DB.getConnection(); + + PreparedStatement ps=con.prepareStatement("select quantity,issued from books where callno=?"); + ps.setString(1,bookcallno); + ResultSet rs=ps.executeQuery(); + if(rs.next()){ + quantity=rs.getInt("quantity"); + issued=rs.getInt("issued"); + } + + if(issued>0){ + PreparedStatement ps2=con.prepareStatement("update books set quantity=?,issued=? where callno=?"); + ps2.setInt(1,quantity+1); + ps2.setInt(2,issued-1); + ps2.setString(3,bookcallno); + + status=ps2.executeUpdate(); + } + con.close(); + }catch(Exception e){System.out.println(e);} + return status; + } +} diff --git a/Library/src/ViewBooks.java b/Library/src/ViewBooks.java new file mode 100644 index 0000000..d541cc9 --- /dev/null +++ b/Library/src/ViewBooks.java @@ -0,0 +1,78 @@ +import java.awt.BorderLayout; +import java.awt.EventQueue; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; + +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.border.EmptyBorder; +import javax.swing.JTable; + +public class ViewBooks extends JFrame { + + private JPanel contentPane; + private JTable table; + + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + ViewBooks frame = new ViewBooks(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the frame. + */ + public ViewBooks() { + setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); + setBounds(100, 100, 450, 300); + contentPane = new JPanel(); + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + contentPane.setLayout(new BorderLayout(0, 0)); + setContentPane(contentPane); + + String data[][]=null; + String column[]=null; + try{ + Connection con=DB.getConnection(); + PreparedStatement ps=con.prepareStatement("select * from books",ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); + ResultSet rs=ps.executeQuery(); + + ResultSetMetaData rsmd=rs.getMetaData(); + int cols=rsmd.getColumnCount(); + column=new String[cols]; + for(int i=1;i<=cols;i++){ + column[i-1]=rsmd.getColumnName(i); + } + + rs.last(); + int rows=rs.getRow(); + rs.beforeFirst(); + + data=new String[rows][cols]; + int count=0; + while(rs.next()){ + for(int i=1;i<=cols;i++){ + data[count][i-1]=rs.getString(i); + } + count++; + } + con.close(); + }catch(Exception e){System.out.println(e);} + + table = new JTable(data,column); + JScrollPane sp=new JScrollPane(table); + + contentPane.add(sp, BorderLayout.CENTER); + } + +} diff --git a/Library/src/ViewIssuedBooks.java b/Library/src/ViewIssuedBooks.java new file mode 100644 index 0000000..89fe0e3 --- /dev/null +++ b/Library/src/ViewIssuedBooks.java @@ -0,0 +1,78 @@ +import java.awt.BorderLayout; +import java.awt.EventQueue; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; + +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.border.EmptyBorder; +import javax.swing.JTable; + +public class ViewIssuedBooks extends JFrame { + + private JPanel contentPane; + private JTable table; + + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + ViewIssuedBooks frame = new ViewIssuedBooks(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the frame. + */ + public ViewIssuedBooks() { + setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); + setBounds(100, 100, 450, 300); + contentPane = new JPanel(); + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + contentPane.setLayout(new BorderLayout(0, 0)); + setContentPane(contentPane); + + String data[][]=null; + String column[]=null; + try{ + Connection con=DB.getConnection(); + PreparedStatement ps=con.prepareStatement("select * from issuebooks",ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); + ResultSet rs=ps.executeQuery(); + + ResultSetMetaData rsmd=rs.getMetaData(); + int cols=rsmd.getColumnCount(); + column=new String[cols]; + for(int i=1;i<=cols;i++){ + column[i-1]=rsmd.getColumnName(i); + } + + rs.last(); + int rows=rs.getRow(); + rs.beforeFirst(); + + data=new String[rows][cols]; + int count=0; + while(rs.next()){ + for(int i=1;i<=cols;i++){ + data[count][i-1]=rs.getString(i); + } + count++; + } + con.close(); + }catch(Exception e){System.out.println(e);} + + table = new JTable(data,column); + JScrollPane sp=new JScrollPane(table); + + contentPane.add(sp, BorderLayout.CENTER); + } + +} diff --git a/Library/src/ViewLibrarian.java b/Library/src/ViewLibrarian.java new file mode 100644 index 0000000..bffa276 --- /dev/null +++ b/Library/src/ViewLibrarian.java @@ -0,0 +1,77 @@ +import java.awt.BorderLayout; +import java.awt.EventQueue; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; + +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.border.EmptyBorder; +import javax.swing.JTable; + +public class ViewLibrarian extends JFrame { + + private JPanel contentPane; + private JTable table; + + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + ViewLibrarian frame = new ViewLibrarian(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the frame. + */ + public ViewLibrarian() { + setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); + setBounds(100, 100, 450, 300); + contentPane = new JPanel(); + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + contentPane.setLayout(new BorderLayout(0, 0)); + setContentPane(contentPane); + String data[][]=null; + String column[]=null; + try{ + Connection con=DB.getConnection(); + PreparedStatement ps=con.prepareStatement("select * from librarian",ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); + ResultSet rs=ps.executeQuery(); + + ResultSetMetaData rsmd=rs.getMetaData(); + int cols=rsmd.getColumnCount(); + column=new String[cols]; + for(int i=1;i<=cols;i++){ + column[i-1]=rsmd.getColumnName(i); + } + + rs.last(); + int rows=rs.getRow(); + rs.beforeFirst(); + + data=new String[rows][cols]; + int count=0; + while(rs.next()){ + for(int i=1;i<=cols;i++){ + data[count][i-1]=rs.getString(i); + } + count++; + } + con.close(); + }catch(Exception e){System.out.println(e);} + + table = new JTable(data,column); + JScrollPane sp=new JScrollPane(table); + + contentPane.add(sp, BorderLayout.CENTER); + } + +} diff --git a/Library/src/books.sql b/Library/src/books.sql new file mode 100644 index 0000000..2765a2a --- /dev/null +++ b/Library/src/books.sql @@ -0,0 +1,54 @@ +-- phpMyAdmin SQL Dump +-- version 3.4.5 +-- http://www.phpmyadmin.net +-- +-- Host: localhost +-- Generation Time: Jul 19, 2016 at 07:40 PM +-- Server version: 5.5.16 +-- PHP Version: 5.4.0beta2-dev + +SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; + +-- +-- Database: `test` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `books` +-- + +CREATE TABLE IF NOT EXISTS `books` ( + `id` int(10) NOT NULL AUTO_INCREMENT, + `callno` varchar(100) NOT NULL, + `name` varchar(100) NOT NULL, + `author` varchar(100) NOT NULL, + `publisher` varchar(100) NOT NULL, + `quantity` int(10) NOT NULL, + `issued` int(10) NOT NULL, + `added_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `callno` (`callno`), + UNIQUE KEY `callno_2` (`callno`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; + +-- +-- Dumping data for table `books` +-- + +INSERT INTO `books` (`id`, `callno`, `name`, `author`, `publisher`, `quantity`, `issued`, `added_date`) VALUES +(1, 'A@4', 'C In Depth', 'Shrivastav', 'BPB', 2, 2, '2016-07-19 19:37:56'), +(2, 'B@1', 'DBMS', 'Korth', 'Pearson', 3, 0, '2016-07-18 18:39:52'), +(3, 'G@12', 'Let''s see', 'Yashwant Kanetkar', 'BPB', 10, 0, '2016-07-18 23:02:14'); + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/Library/src/issuebooks.sql b/Library/src/issuebooks.sql new file mode 100644 index 0000000..6876bec --- /dev/null +++ b/Library/src/issuebooks.sql @@ -0,0 +1,50 @@ +-- phpMyAdmin SQL Dump +-- version 3.4.5 +-- http://www.phpmyadmin.net +-- +-- Host: localhost +-- Generation Time: Jul 19, 2016 at 07:40 PM +-- Server version: 5.5.16 +-- PHP Version: 5.4.0beta2-dev + +SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; + +-- +-- Database: `test` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `issuebooks` +-- + +CREATE TABLE IF NOT EXISTS `issuebooks` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `bookcallno` varchar(50) NOT NULL, + `studentid` int(11) NOT NULL, + `studentname` varchar(50) NOT NULL, + `studentcontact` varchar(20) NOT NULL, + `issueddate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ; + +-- +-- Dumping data for table `issuebooks` +-- + +INSERT INTO `issuebooks` (`id`, `bookcallno`, `studentid`, `studentname`, `studentcontact`, `issueddate`) VALUES +(4, 'A@4', 23, 'kk', '932992932', '2016-07-19 18:43:16'), +(6, 'A@4', 335, 'Sumedh', '95676565756', '2016-07-19 18:44:34'), +(7, 'A@4', 87, 'abhishek', '9329882382', '2016-07-19 18:46:12'); + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/Library/src/librarian.sql b/Library/src/librarian.sql new file mode 100644 index 0000000..15fe1ab --- /dev/null +++ b/Library/src/librarian.sql @@ -0,0 +1,51 @@ +-- phpMyAdmin SQL Dump +-- version 3.4.5 +-- http://www.phpmyadmin.net +-- +-- Host: localhost +-- Generation Time: Jul 19, 2016 at 07:40 PM +-- Server version: 5.5.16 +-- PHP Version: 5.4.0beta2-dev + +SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; + +-- +-- Database: `test` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `librarian` +-- + +CREATE TABLE IF NOT EXISTS `librarian` ( + `id` int(5) NOT NULL AUTO_INCREMENT, + `name` varchar(100) NOT NULL, + `password` varchar(100) NOT NULL, + `email` varchar(100) NOT NULL, + `address` varchar(200) NOT NULL, + `city` varchar(100) NOT NULL, + `contact` varchar(20) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ; + +-- +-- Dumping data for table `librarian` +-- + +INSERT INTO `librarian` (`id`, `name`, `password`, `email`, `address`, `city`, `contact`) VALUES +(1, 'Prabhakar', 'ppp', 'prabhakar@gmail.com', 'javatpoint', 'noida', '9998328238'), +(4, 'sumedh', 'sumesh', 'sumesh@gmail.com', 'Kuch Bhi', 'noida', '93823932823'), +(6, 'abhi', 'abhi', 'abhi@gmail.com', 'javatpoint', 'noida', '92393282323'); + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;