From 6ffe7130217880ddd55a795765353f6a3bc92773 Mon Sep 17 00:00:00 2001 From: tmont Date: Tue, 22 Feb 2011 00:02:16 +0000 Subject: [PATCH] updated libs --- Lib/Portoa.Log4Net.dll | Bin 5120 -> 5120 bytes Lib/Portoa.NHibernate.dll | Bin 16384 -> 16384 bytes Lib/Portoa.Web.dll | Bin 40960 -> 44032 bytes Lib/Portoa.Web.xml | 221 +++++++++++++++++++++++++++++++------- Lib/Portoa.dll | Bin 36864 -> 37376 bytes Lib/Portoa.xml | 49 +++++---- 6 files changed, 211 insertions(+), 59 deletions(-) diff --git a/Lib/Portoa.Log4Net.dll b/Lib/Portoa.Log4Net.dll index 122319271d4d62f7b194c5691bf17772ef27ab32..b406b2ceef6b6a9da246075bbef2dc865375aae3 100644 GIT binary patch delta 51 zcmZqBXwaC@!Tfo8;>PZ|oC2zRH`G?AMLJJ^;8R)X7!$JDg3E^yBs;mCTa!^>^G0re F4geEn6B+;j delta 51 zcmZqBXwaC@!5k+Rv9WtDr@(|HV|nYdvhJPFo@<=m^D<(y1(y#aNOp2NwfyF diff --git a/Lib/Portoa.NHibernate.dll b/Lib/Portoa.NHibernate.dll index 73ee06ae34c17c2dcaf143794f42aaf14aefcccf..6c03032fffa88638e0e4e7e32a0201c97a694f95 100644 GIT binary patch delta 53 zcmZo@U~Fh$oY2Aid3xf;ZeBxybBd>zPi6^n-&5;UcG^*P&E^$`H&{Wklbg*o8Cf^4 IH4o+h09!;AuK)l5 delta 53 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 literal 40960 zcmeIb3wTu3)i=J*WzO6u$pE>K3llD3LP!Ke1RIcWPs{x#SXvm80isDxn3-@9;Z3mC zdaKgbTdS?$rQTaxykJGKFH&vQVymsZue8#l6<=#>t8Hy7e!sQ$IWrT2e*XW@^M9W2 z|2*Hoth3kNYp=cb+H0@9_C9A$=AC~n8AN2_`_V^4kK)RosRBP4^q@F0+z zs5bZc>ZKdn(y^|Ty*`!bh_xg-JMBztZ8DbX?u@l{#%3&766>&AlMUf;V7SA2;Y^~r znn4qHubSt!_8RHcLCr^WBXTU2JLO?qWB4Axm!*s0qAR(P68ZT`q)9%f44Qf=QK9_L zT^*DO@cHvYM4#it0irdmh*LkW5rvSq1#}gsmVFW)BSH_dA0O~JS&XP5liZR4KI3`- zlu2LFpZre@A~mGasTO34YzL6wf%+!Cd7r6JNJA>wZiA3zrPuIfUf;$y?=zKXS{^FN z80!@umQ5!QwIVUFL$oOQ|4%`HM$v#VI-QA%7>Ob>>_J3|q#byA(+pRi($vkYGM0eMjUHK7*0j{dur;`3$g%tojh8&`wvn9Hkdo zHpVE>{RI#Oy`u+v?Mk4Bp^EZ&6;kmb01%)~D|YK9vUL@)9Ro?oSL{o@ffBnKm^~CA zEFuP^cz~%FnSRrT4F?8z>Zr&w>UP9J0xX!)l=X`a%?< zM_q4ILv zp1^gy(8eBSZJ*7kb$X$TrMXZY`ILRKPvEg7-7x$1G7j}wG6bxb*`R|R^wo>fz&&Wx zX;bx@`RteoA)H*(QCMDAv*QCpE7GHMauAQY6`#bS!|?LW<{ZvbV`_*4U|S>8{tWU> zyOG~k>BWr*s1MtmyB>V1m5uJ|xl zklAOH#G6obN0!5YF$Tp@Kg{)Wbn$7R(&N(s<4|p#qeFwxK1H~{aV#3>rkvl{7 zQ%^&|u;(<~SHN!OVk^BG1K^~$!{$vjcXS#EJ_X#SzKydD`?E~1XWN15dDU>squR+q zu-J0%RSZXCmN|HxCyu_YJp;=Q9cg)Ya(m1xV{Bt)V>479wpg0?2cx7%zk1ZAIUPz74b9)VE>Mn>I#3 znW~KG9iS<~|MWr5wv6peX_?!Z)X|xB(t4WPS#vU3%O^sT5w<|dqqj$NxUjk3&N7MXSXQd~*-r623@^H>$6 z@4yr^>jw-xX<_PH=@rQB;jB86k~sLIGo#Rd*Dqrd!!JYZoL^=n>$iFC>)YT3bLEU= z%VBFMheynnGmK=wA(Z;$Mu)hcZt#Z}WL6qz9xYQidrzV$3O?F19ml(rz zLPaCKhOeX6<}FNc0H$tk596Zdm_e9=gyo&*5SJQuf@_JBumbuvCbiOQkry<(F{ibG zCk>bie1C+@3}?izhEz3VdO50b{g;X>V8h@W^v1rf5v`nwSqTD+F1~ezseeM&0IngO zuf9}Fu2^%$wzq-^VMY<9TTu&vhv*3lV^?YxfSqJsdUp>;5KiG@O7dge^>D{#W`wLMDb#sk#I81XH1G)fhf)N9R9uVn}J1M^j{Dk zN-`*+SKSVYLZe!|8@a*+@!D|RaG1w8F&j@^v|kR#bfjSs(CHXWDA6#D*(VsZ2G_x2 zf1*{xc2o(=okF^k$IGb%smL9P+|9rZ%ie+uS-Ei3hA{^2fZ3J@>%tT@)Ux82SO#Wt z5lTm`bsS(Cfrb@_nb+CdkYB@5@=PWWxpX=k*K#G-#mJ7stJUfD4o+hJA=#5l_PWV9 zrlDG1Wo}>r;XMx4*GoWwzL#9R1}YC&#i<>zsXbO4BY@eF%f3%#!`Jr7{+-JHvT)&f zXRwWP?1{KzVEQuTJLY{#ndg);onokmy1bA03aaIz1VQ7MyR6)4<@#+HBj)%OZt*GW zph*}a!fpV5BsU(sQe()m&@)sEz2I2r;gaek+rAP!onQexI0iynEN35HM*1qy^(8i- zhv}e|Pu|)c$BI&yDm37JFjoTUuL2Zby$hP!@faPoUg}kL~1+BqsMRJOsthUVV#7(U zk>fq~V|gRmC`$j-;mu^i`)66+Sicl+N8U+}yqK@wMN^|k8FmcU)M&QuyO63M3hYvG3`+KN|`I2qX zwRM;#{1-eZ4{CleD|#_0jw{*#4WttqUdN&5<{=$QBy&{UeryG?kS zNqo7UVds&Y!dDb`dcFrfi7(eP>^zcAUAP$bQ>bPPR9dxv45TJ&uVJ<=A>ac;_ng3_ zo1kB;Js20mj2}c5SkVq#^ldDD9N`Ff4KaD3hqJJYJFb$rxVhc#z2Q@}R|>}LU-4Qc-A3=D-0isxVu za%1c;ZOiuvF+f_aXfYe^^-{-u?>1KOIB>>ixEc;d9TGS z42kKgY-RdqkRvq}&ew`R$8tT-a#8#RT!MY(UdU_zoXh&Rb6S>*nWfJg{|~g9$JrHX zr3ghnj`=a^xxZ7;p9UExVQ3#lYnZtnDh}0+G~#=i(Tm7~d;JA2YNRDIQ~nn!;TGk1IBo0BCd!H5cj--Gs=W67f%lZ_PT(@DrmUB*`kduFQ>bZ>)^1>%bA~ETM|4*Fd>AUr#-N%6ohzx)h6c_V`Luhb6a6 z<;vc9k8g1Nw~%3vuiVLfO|bYeTmp3w-ToaC`RbMS-^BPrq3{7}?U0`0Ucs->KzQPF zDAl`J6m{+(rPY)=j#6FD!Fda02`)+vPrOO0JkYmF38miTDgxubhalmJT|x+#atiOa znJ~loaURUnKY%;DCvz1s?|?2RHF;8nF$tJHJh4O=W76a^UP|Sn(gB_#PjTws;JK&B zQ=(^>OyVD@jJ#4Y8zjn{!WgTu$TL_3K|&N7p7u7@F#+W6;gtzh3@Ecz@!pBg|UstnhCUiBlSci-E$3sY#Y%tqeA7yI@U zStY3&G>=57o?%+C*{i;U6!OZ%?2w560ldR?rt&B}r=~;nGnLJ~iL%)Bz)za6beNup zm*A0l@sK9Dos*h?7IfWax*<&~OIF$^SW=!pYLdGC7%K++F%*&W$BbkHHl_=q9rz#K zJ5*zS2!ou@P;us2C@-M+TWG-kpKL424+c@+;CAe{vn9N*TBXV_d zs*L4Wli;Lj0{1=rF3awUTIGtdi^cd0i@{kCgD-K!tabKZksGd?>$l%SB1jgFY2HT) zm#mg{U=>x}`C7I+oCQ97Q9g;gWB&~`ap%cS<0{s7*KeYJOnpgv{cbF%8&>=(u#%NS z#e@@S)i)@LZiwF)fUC*<(G77w1BKkR34^d7;%V zH}lkqd14I$&vX;Y?7y?DPDEIa@CiNNSXAX?xl+n2t5R$M= z10JXwtZ!p-H)z(8*$oMtogL5V4#*AtAm+i;GWn?5xz%vKWH`|_q9z)j-=o4f#QiL90077QlE&b|b}aiQHZn-Wa&7?q z6wnV03=Hb=kn};f>I)El?g3dk%=Hm^#3NF92l%T=b(>q-!&#VAe2Etb6+!^izul$a z5FlPCtRbUG>(J)8S>2S%Qh`&J!*CmFLD*xJ9L6+vk@yO5g2@_WTy*Nl<>RBF3cg8f z8EJIOvJpc#{nYt$c9m}Ia>*DkTn)x{BG*2N)v-6WLSA-#`ir>vvV%0(~21syXDOj0sLrp|+r2 zyqz-pS`y1tED(6=#ePlTA;;gw9iLHf^@f~u^|hV#<*G{746GvrKaFR2uHZ2G9JJj161-@?i7mGu?9ZS)cb5i+_mLYS zp-pw>WAGlCFsVKvMjEJZV|qNP!|fT|9*+|EVcQsxkPC|!_~HKJHclBf9(H1lxZ^uO z^nsa{+ruz|Ggw`oeVoVbBi=n1)!e>7`+aUnj?BMt8J`MDb>s3kk(#_am%qUSW9q&s zua0Hs5F!rJrY-sGGz|eDe?s_f8s9Lc;mk2-j>X9HQ*7;k&p`5FJBY?ZvN8A$Tarn& zb*@h{Me7PY9*IF6wrmOgdzCy_L&Ih-Yo39!&=-h&g(#cWZm(rxd|;y5c|#r!`m2Ea zbHte(5OC`+;|rI;u{L2+&;fjh;EUd{BI&F6LKkAD`YkF5jP(qqp9CHa6w|K)$E{-W z2lx6cstumy575~`=JQ!Vi#jCdI!Qkpd?aYmOF`~SWoR=vTou|Hiqa#YDl1A)3;Z=; zfGWbwVT!;F0*?b$(HW77$WR(qur*}S?;&|Htt;5;tD%1tyj@UCBMVuE9fjPZHw(Ef zf6*hsD3ugdLBgh@<9G^cMD)>sMbAcA{_O+S4*<=;KLHLM$n=v0E*ID>@T&s9EAYnx zj|v<#=x+njUx8;2;<^h3b_}YBd`|0y^DYX=Rb1tseT45iMJwIvokT2c|Q=tY6= zmz*dGP@wc&PlKcLX-EgCRp8eFEqbh!`Mdx)m_91~YpF$nva|eAsw(60Jx9__lAez= ztgehls=I76c(R2==qE^9bR78&0;4o;aFrFIqdME&S&6w|*49|!*> z<=pxu0&gs5{s$y|r2J61Mej&juV6d$Rh;Xop&1p&3L3=fENZVfR34zJO76v|O4iBL zN|tX$?g8O@=*B%s;nARHG$%Q=g_RGv#TPsv}&_w zievv5SEW$;jjBtl8i>;tJzVuju$b-`a`liXJu{@rY7m=`&^treZYRZ9|MO#y1cwry zWk-5dI=1F05uPDVzUs^`Y{i^hz~T{t5XO)ePmHE*#1|`utFyH5VWq zpm!7;#`&egnet4)VoDEZ>%D3Cqk$T_XZSH#`(wzlXlzYMjYTs7i|OK;uZQH5kof1p&GiH2hQ+ z!{Guy0~n#UIBR%IoTd6^{Bj&EJsjtmxS;Oxc!SI}i>|I4>zPH5*4RJU7%g0 zl>r+e*w=x1;LFDdb}zV8qP6jYJtsl`S^982 zFkYADN!h)^rGOSl+2i_8v2YdAQfcp~@GOMJxxK$R*h;|y2FqDUpBHSfgMCr3@y1Ve zE?XnmOk+8ET8JmBnae7NvQ4m*@s`$v!?O;-u9dP<+A7!{gY{WXUlQzoDXXB%M6$=h zlgH$8!CnLx55?%~LitBvGl5-?F)k#Z`Igp=%Up(ge?O9X5f4jN zPfx0623FY~nnzU%uoa%%lQM0$n)QKXv#12m120U2Rm zDbhOvm0A&P8(gVX)6WAF0pAEr20Rjc3Z+_TIqKdR`UvUwLovOYqT!K%_2JQgbHft= z&ks)p+#YV$nNPD{@qyYSG34A+q3;6D8MZB0L{|@cH=uZqrz;Ca zg2U9|3qnOScEk?=y99nu;GY3CI#@W@Q1nIgM!YQI_Vk>hl%aZO(X~Y@;Dv4#_*79L zJR!^M!pMLa{P5EwufQSK)3skmyxBgACEN^X(Ju#l8|&sHqZl4W&cYa`4!xnx_Etc9 zOC8Mi4n@rOb-}(|+T)G$X}o+6dA{r&orit34|aoKH%q}sy4xLCACVZOJ# zGY}zTyL!RIH;+U1{ zbI5bTcO$SzrJm|h75zGk?ZGoQZwsbm8A6T2xn?h&^xZ|(bg^K&DCmCxCz^K&rnn5F zKP!yB=zj{nxNrp5`!aR_>tfq#OKkloi&f7WVjG0QNO0>!r)eDiKAf z&!O-O{$I({F^nGyAN9Wq?6?%G)@!L0a}HMEXUbYS!@-!cmL>}JW#8ZZGvE^zIG7Qb z18jwZz2!Xt4`Dmld)_|*+u~qlfxqF|gKHdYR6x^4(~W{1qR#}v@ahLemR)2I{}8sE1}zorkoHbst~QqL6Kog#Gq6lMliqf)0m1XN@pLP1M&NDO3eKX@*gX;L zqFAs+JDYA4O!amW-71*U;3V4Dr|h6$*VD9MyEch@*mt?Mdk(bsi>d|aEC>Xc?m^Pb!omV!8e%l9oQ?NtO%RH>5F`Uw}&W;A- zz*aceiQpn&*9xXuz`2Kf4tf3(JcQN9#r_HGv-FHmD#<=aCJuesqj1^hsL{c=-dtKP znBqB)ZkKw!WLEtXGv47DwnEQo^Rrk%=tXS-t&w`yQ+?=FZ4o{0U{gYGXp5tO>|81e5zLxkmV?2xR4;290qA=~9&_KO~{*kS>L{HL0oR+eG z`C9mVeI0dWu>`Pd9qd7rt*2+Q*ag7ebg+Xc+dwfKIx&}n;WV(R4)zkt+GtA_yBOGE z!4A^<;VdU!!-@R|I=Q`e)O39E|&C(_IRa z{&mq7oLsS|wIbK+DLN?FE-H-NqNnLK2b&bRP0vsU$8qc#mP8)VH`7v_X)$&|bJ-Pi+(^SEf4PHzu z^2)Z;je=cIFGLRM+o_QcUtqg`h&-q7pwMI&`=#DPqaEy{$gBEJTH|2Rg5&z7)Z<_i z3;sv{GOZDwyQq8UlYz^r$H8tK`c~iyb-aTRji1WcLG8MN zKM}Ad#=b=N6~qy*el$&$Jt3GrU12{fC^K#(pM&`eYmJ*|hJ&45IL`Pc&33R^g>m{8 zeZ|3+3ibyFvjw|ZB!tN5`wrbTm0RCMWh3ql?WV&H zwgT85de6ab0CpRdN*{L7uYlc7Z%KQ*O4r60`|e;C_#6sfRyfJXVYdUjll~@@N@w3C za|Tns;b+RbXsUxT<=u3#U`n6&&|U}Q_5D72Q!q9A@1s9wu_gL_WX=?x+R?&g#{D!^ zu=vBc~1o1Ha)xkJ|c$oez*!8ri=wjm$I+l&y;@DxlE!ZKt zxnu^gQi;|M(H$iv=02L}VE2^-^~dOUBe)Mr&d2C&g;DX~Ri4Laqpba^>_>F5!l<@< zp!Fl#mAB?RPB$xz{#=#vJx+hjE89>1aLVe2q#l)9214Rcz_ zz)*MktMVD@^q*NuH?275%hNxnKToBBqr&aR5Vx!J`6hC7dMDe8Mt_rZf2j2HVZTz= z{OPzw25^3vz$!qU&Jl|mCpoILQPRx<=Lu9&sU9tm9ELibpO;pBSulXD_k2KuzM3u7 zNYQ^CIR<@8^1lJkqR}G)^V6zFN>`^(8&11wMD~E2P7exCC4(AwReC`3mGw3Z=N3OM zof}^bdwHgO2mZ~~q0)fL&$s#f)>Y|Gq(vS<4Lf~?-+_OHe-I1Ir)SM;&g@V;{{VW| z{#A~eiId8iQjMB|isySHIlq0Bj%Td+Owx<}bpYQmPI(4kKRu8};KZ>OzYRPK`{@n% zo`wB!E$%Os;#*5GT&t-IJK+$%VeEP*qsC;MUe#j1I1i^v-^X_zPLLMiG-wR&Q|-aG zUT>s3aUFzfnO>yx*+iMZYJs(Yb7-u#*mU1jU#$($*+y4aB6bY@EgphNMMDW zb(I-M3pKM^cDL2YpF_1$I@WN( zm!wRVtrz(VOXnbGL}@QdzgW5)dhhY>0pxSF6O=B!!#qKkmd>C>Ml5)*xzhM9(xc@x zW3-%NB#b9Ze_$qzr%N9*+l-^7PnjEyp#LXkt>~dwWE(H(MuFq8m)(Q&U52}jb!9=% z-Nx>+5r7W>*3!PRI>1-T&i2d&{VdNuQ+t`*-Dg-h@y-Xx3K+d{3cnk?$MGndNyF>1y8*BU#npJA(8aI%eKp^*P@$ zbMD~9zIP?(i1B>YtJ)F6J7kORW~sH&7&zntPePkEWQ3&|ONX$wS0gt2K<^sDvuWp$ zTYOA&yKlGo@Q{anA3&<-v=2-kyNx2rR_(__p7ZU(9`P4G&BHt4UhRg+E55DTZ-$_! z+UtO~3*~(R_X>PmV6VU<#z#XU{)1w%&k1}<;Hv`tR2$oCY}Cfa7WvCO>tkQ^_sSl( z)^mC6LjQ4anC01Md@Xjf|7}UXM>oYD_mB0ko;A#l!+s5;`73|5_5}9A`?Q0xqyBx` z^RYNpYrlw%uqJu_9(&h+xu#doqcTsp`XhgnXG*md*rzS24h1x0TXkXJ15J67Ybr(u zF4yj;9v9Gb*2Cr65345zR(f8j4(k7w))SsTRL>5ydHz+M36yExq3nOIsn`8 z-!`xfhcI`zze9$N4Gxrah0Lbmk{+$`j2N%+j4-vm!!}qIT0!W!;6{3U*oQcae{tAz zzGpE~ajMmRH>@CZj6NJTICPVTXY>g}&5;!ay(V_J(B2UW4L@jHjy-5B#A8$k=pC{& zvQyJ2fX4|@J%_zZf`^Hsooo+n}(Q2N~PuY{iU{CfBade(D%cpQ5o=5{wm zWR_=L768_2jWv&lUi2)e`ElrowyNfZ&{LkSnwLVyK>uH8F-C;gNH~W!CVK^TS7^??<$`gO?(`c;xEvSgXf-0n)uAw}hLl-6I$KHc~WxU3d}l zuQft4Mk}qo<=+jjwC2U{4=0cxr#7oM{&;w!b!YsUaGUjh<>TQHyxAU^r+d5~XyMwu zMnW51R2yj&JwyMs=R`IdHMOfEGeqYr%{$Alj?5L!*P5Thj-nQGc^>sz%j@or^jaJ0 zFtYl^bq6E6q{W-8=j&dN?6&3(ek-z@cz1cX(vqCl`e9xFjNEMv9sN-xic|D28&P;N zhLZ(030x%b3j%93F0B_B);V1SSWR`>l}0U{3D`gv(t6zSzKuBjc}ZVFKS55KZUMZK zUIP3&9R>Ury#Y9k3IOZqJis%B{xbrnQwMTBC;3b0;({h=r5Vx3mBuB)|5<7AHAx?n zQVqYhz0xo=ZapUHYJpP)HVIrKFd?u<;N==iPP)_*SgkXkVUnIIaE-v*1Rj%8!?@D? zPj8dKlnH^o0xvNJcoM$dlD^Ggp0^u8z^5eVn80Bs(@ZtFZj-=-z+Qp71>R;Zv92@@ zNct&(uL&fN^wA^IO1fI$Fv*!J>FFM>yGGJI0(%ACD)2RdzxS|IhQ*YI#oVS#`VvXs zW^pUGSxdAE^FJm1dx8AhH0ajL^ur`QU0{pAO9W2!ap@Wb@q7C#jn=>bkFDsWAd>-Gq|Rp8WtOtVH{kHA|69uWANKpMm}J;hx2R)Gib18=19;~#ebFR6>+-hECe$Bkqe9e5% zv^>S0Z+q_WJmmS2=PA$oo{v1Hm9chPHQuwl=Xh6m)83ul8NTJdRlW;-*Z8jYJ?{HY z-!s17_=fv`;{Uz>AO69CL|{kY&cI`Vm|hrsDfsuG5%Prwg(ihkq2ADSq1!{f;hV!h z4F5L#kMQuw1(EMXo{0P`@?zxIk-tW)g3;J3)MI~vv%x~kf&2_aNcIjU?yC8)8}MUZ z2e1nWQVmMZ#IB$bclq&~1K%pZ>Ap39Z~K3rg*OK{f3gqH<0HiN~7uDba z8E(U#NvDhCS&d7n4CyZk+z$_?(G!3={Swb%==3Y>q8jN|tpz)wJz5g*cI^+yxl>z@ z^j%sT;62(2R|dZxd?2_#I405+*%~o>c>kCG;U^Ky zybO)_MO?hA%zXlMZZ_}RPIWwYcbdGvOI|*|0d$;A=ae??_4d!pf9l3<`$3#a@Cg8a zZY^LKGmgpCz{t9v0ELP0r&SP0}x_U+O>S13KU~Ol^vL?bFCgFPyX3l4j--z8ZfAIX8bgaO+4s@qt$}{Rgg#$ZxjLIz)4?nm6FxLif>F&v$9N=U!YdpqTYruD_oD7>t;jP^yTbQfy27_o`#z%kBF|;oI{%g04t&3a?-lr7 ze{OD_uKeB z6Pm3Z!}kq*-wsU%UawPlvgQw;p%20L9Hh4)e;Te#e}4E)+7n)+zZ{;ejrE*|7o${b zR%ErlG?LJ-z|X4K3xr{LrSK)a@Hq7tO+Gy-!nh5>sJ;x%J`e0gJWb?hwKmSPTf5tn zQ)r=`%Gim9^O9>DTHD)c!KP#?)z+F^l1XH`)6?-f*;#GvnPe)TPUWPjd1fkQr>5JT znUvk$-j^nqo2F%{_BqM+u4HQFmQ1oU-DY>D^Vu!Sw6)V`({|_LWTrdSnO_7UlkI4z zxf3F^B)c+;A#*;#vd*^5R$81)+wGf@=e1=vEJ>y|wY4M{rtD4VMM@YF6&>b5nO_L$Wi|){@9TG>1WcBTJGk-6?KoW@mRtmRVM&1rU6FTbh;BtkmWxF|iiH zijJ1IB{xIJ?)FSRUn!cC=xlArquA8c)z$9EkShSsS?!7S+;Co32-;oOw!S-+%nAX? zNsUW$=Q{heiq45LvvYl0XOiaInWl6)*|D~L>wx8Z1Tn_sZ*JUewEYedGE`__3uvL(YNp@ykRwAtLb$-WS!=o=J} zPcK|W{WK?$&T0?Cl$%<41Ch(*RB}t^lrm98j%Ze*1=`z6^ES2Q+1<26I?0pGm9#(o zCzXL(8D&lZP3bOlS|k<$)I^1~pE6A;ujhG!ixs(}DZHI2D!QXnnDm#n&umQgpMWYy zjjUsmtb#lVI?^q6s=aM3E!m0*-a!l2vThtqoF+6#&5DuZDVuYGP;=e{La;WkttDlr z?RA-kg(-{x996nO`uA}*OL?BdF}Hk<%iB_!?nL{-L}r6KWx0Ygznl9{=Z|Z@p^qc^ zSTXyMWz~dUCNeD>Fs$O9v$jh8=C?bRr_4;(a@_gut|!fTW|3$1eW#A2mYmXE+g3xy zgCtWo&(0}th+JxTl|Cy6sa71LQJ0xpuo7g@Pi`!U7mTy(XRn?u;H4;wCtFWXmu#g5 zo_-kg3p?%2o$P~V+1;J3G|Nt{ZEI~!cIMVh*Vd-9vvayMx2p3>$l7k64tYU!{9JZeN;PAnzT*8DTVBo-^U6xN# zi(_iCl(jh1RIS0vYo!j1YkhMixS{Q!D61cb(u;Dl*PkaV%L{7=4rA{3g180)vviisY z5~XCfT;!UOOt+-kx_G&Pc2rRs?yxJfftGBryW3kanYf5uxmbwf=4P}d)_2-z1Sx4k zsNJ=h*LcU!^M}Emu5eKuiHs`A8b9USh?DkanFtgHD;6jMi3U> z)+!p7shwVGJN%UC@!nDjpq?&lK9f!_)SlDHnqgxV#^lJ(#^$A|L}wa<%X8le4rpY8p8H7C{5frFlc`R&{#>$Q`nvU5deN7oi5!W`O_hp6%&m9uENaS2 zemaX{?kCb&#>reK-QddQniS9CgeLH(iPqND3p#W3N-6N6890@cxUr8f|JaJqvpZg{ zIl^Hh*VTDmE?hP|A=D{Oy*Z2Kbs813+3x(7r6zC7z}#t_tPb28jt#rrQx8%OA{V1k zDjT+>X%j~;l)>a%YG)UG!56G^<)xOa*|^--B5KMDqBi70C+x8iEiGjcI5!)Or>UKz zscZoz9<{cmyV?_5C9fOdo2&|5iFA6iooXeS5}2b|782f2)*Vvvl=GhryhF}~B}yNn z*eZRCnE4&9E(fz>_`Xemm?B)ymKwE zpH>!>jkqNXDpr=9XSxoPY~0X|W3G;5!*X7I?M{xMmL^ir&MdBqF~2Y;lY26>v@HXl zloi#@cC`mK{R<&GLgDV*%=>jJlP~}8JhS<;IWP4(ZvZNe4ry|!w(b~3l99QN_ zv(Z~F3xmGe3CWzc`2@IWZ8{?d6MRI=Bz)%Onjoj$6;uLFhlg5H=O#MVwkGnNTwan1 zr`fGIZpt1M=9M<3)+5C3#3nj_6XKk-WIbK#@$y$;-N4e{6TAFdTLQbsZO2C%gIHhIv zYR8VIw`0velNzx}%yvu;9at(HCE>EfxZ1z9Y;5egE&bw3>r!N`a zIAzl6)zcF#8!(4l+gFp!-Lj3#JNOh|!yD-tSSIr}#@tsoTlA9KzDtn`DR^tE_My(f zg@kT7Uo#uCOPm}IPWq{295rT-r&#(iv`JbLhCCve6zDN-Ghh$wxG|n2Irh$2r5C0^ zwnZv8r^SZ(zE193pU&Hm!~vgs+<@&Gh77Vf#}B-H<4#TQPO(*DN1HiwoNLlK>*ITJ z>b!z0%)==FZ-)s75ZL9Uc?BYsfka;jqa+iD&E{o*M5GOhdZQQuqDt3V5JNN_a z#8n>84K-CcAsfHeeuv_6y9L$M+QgOfkG-@0cp0DCWiiU8R0OAPVsI$l`N0XHf&jx9OOWuTG)5H-wJ3 zyFS<3$V71#qUHsBhz6gC9a+0-uK`jcTqGPzsZ@8$y%C@`woRR_=gHxN<6M-YvI=00 zp-)*~*nb+2rN&c_tki67PP;Pl1n%70zv_5YJ>_tVtKum^7*}(83GQ#<#LtN%U{Ptl z2@S6ROKDr*$uo{)5uu)uY-vyMLM8fuQkBcg27erYW$!OyMygX@b;Pe`BDd+@L>u z1>>{v$}>KTmsp#e%|teIgyu1riO!5uAOg&6Pjsb|t@GO2+uPE~7Q3?*%2Dnps}qG% zqq-^^$n7)LFd+6wD5GIBvNwJeBvF^4og9XF6LBN5%?_qU^~9hyVDv#Bj*cXE_1 z#LyZjRg?iWwp@sa2LTG}MD1%GU%w$Cr-rIoDVF;w-ASs3u6r5w;Lehx*)1K3*PG7jGi$0NLtlC`Dr-~rd3|0NeNtd%h>5WLNR4Yk$-@XJV z$1NE+L3o6ZIYVTb$A3CeCVV23vpyY@vqfMiSC%#Rlrn2o({M7^=U`HerJNziDx^*w zv->t)DO46=hvdeom1kIs6Pxjzkj&XW z&uq9+hP$Y6HQrApQ@pj}JstN{<;Y5f1z#EB^!8*TrIHDpGm3_sBRe^GoY{#(9Hk&G zSCozYPFs1PCw#gNQhabRyUw@A9%u33J9>; zx)KQgb4k`W`($hhaHl%s4nY=?rNUXJ+)-PAy{5Zzsc>5YmGe>w>_W3~MeZ0n@6bB$ z?hu}{Kp5MG*mf(T;~aIL?0lkerzdi}lDes;roWq(J;c)N3gH}d=bCDm2Z?$6l)ZzM zkp`;vwG;Ukt!6yy}+)0|u!!vRv5IkY&W7#1uS1kiW+}4c9zwrw}(z8Mk^h9!-=T;c03*4<}^h!Myq3%fqwV z-DRGJrz;J3H6X0SCO|=lG;gQb;O;aVr;J^_I?a1b7;*dR)otn_2Q}o)S*Me)$^2IG z1!|mf=IYfF9Pv=)YEWa_l(RT0KaIryue9(fHQrmx zu%x@I3lHKZaiiTm1kH9O?<}1sU+!ex-K2pbJhr%vkAHHjPtEM(W;tdq2hj2Uo~Fx` zli9$}3$IRK70FN=+0==*Om4w%t@)S=n`|d9hPM=U1Itj1)}kcF?;gT0u5oV*zt^@2 zvl%(<_;C6EkW!`OxPD4a&lT6DgR^MjkDligh6 z??k$TQ?r*s1+0>x_`?o1WE_fg0`x3-8)`F8E^k3@C;r*MT{R}bqYL;}yp?hTt{v#- zEa5`IcF?o3+ljo2GldnmjP!(ptP$2u3bk1l9NZ-qjqyKLc6^0Rg`v>K_jn=0awWea7i<$qMf z^58Bp+U}HG8mW2`!^8V*zuRam`W3?u7`M?lN#Qvi`T}VM=io;{xqpNoIpQ6&c(dhb z=8GReQZ-LG=D!&^tiu*SwjnirLFHjNDBMW%@k64y_=k5L8AI_MNm_8JW80qx{sp3v z{CUz0Y1z_HR`W<;WiLD8f(DB7l1 zQAGvHA|_}fNK|m5LboEiRRJAG@U8I1bUoS;?J%t9BH^|OITg{3(QY4^k?7V)q{2&J zx;0YaQ`hKr59&lBhBbh=hQI-61%F5=Vp`FjUY|86+H zA$N8k{^K`tpxsv)?XZZOzuF7o#yj2IuavSMqvzw%^95P9r=mSiM|+;tEgy!^$35N0 z>R_GsJfBUy=#GOwoAt6{x6k4c>ABVi(R!|p_Pp#So_7;3dR37hKWT(UU=KYbmOmYH>5=*(?ch7Zy@ov5P!@VN)AE5l_yw2G7apVYyz1QzIjit04_Gy%!BBDMB1OG- zc)don_m&8{1bdAHye2To5N5YTAYL32nO>RvP{iHR*!?_IP%ik8Rtf9y5Xv4J2(P4z zlF=L{Y43h?$_PkLb&OB%({L5I&V{_s`n@cflhgY=O3+Glv0u-KuwlmG!zWk zDx$qFi`tKfPWO2N%tCUG`oQKGP!NEyRJoGg*Et8H3@-#L=2qcDN_99+-4&6usz^s$ z;=rK2Bd|ywhn{^r`+A>64!j)8(esKfmm4e4oa2qW;@2QFd=huY$!2?bUqt(WZDcz% zHUR2V9_l)HBV<6h5B<gVaaz^ zv(h8c-uoddbbmxF<9;Zsiu?g|6(hKFgqJjcy7R2)&a*JuJ14=| z#m2;$>umm7l_skLMzzSxgL;3J2F+9;U-)ouqdO-@LStYuJ10lSRz`QuWK-+;Mqmua zZ0BUoV0&35TDTY`>?O6Lo%8UArA&AZ%u+p!(+_*|JUqtJ)`gpgJU4b?$pu`7L9KxJ zu+s`;W6co#_U!YO&p7r{P0@;K_L4il5MidcI<~g2A_N?LVhh_>QGjX2ipT$)gu5)L z1JZ#3YRX@PVQ;ko#)VbM59#C~X_-_#`!M0r#SUjh!T_uJ(IJzeLoEF@W$?#gb5t4a z`5=h#aIH;r@_}?|I}?wOj^}2U!J{dsw_nP71zsA0Tj7-q|M%-WTQTW-o_7;3qG`_Y zyBRNslt<>3a_8lo3+K@DvW(ERE-KYIU#cVFHwn(tD>I`)55-J2+lmOYVCRbQ+{FX8 zh8+M@37+hs#Qvl=FA98~Y5bCW*CkgBGH|9L@FyVhJd{A zKMk7zhY#^Pd}a!B>eWQQcS9#^7#~Ika8&4Yiu0-nglxVaM!lYB?@caUwC7E%K=^UA z2g`OP77in#{^XXzyUltXqP>znHbiWhR?c5*nXGu&rC)J~8#hqeom>~HPF|+ibwtE5W~uZbyq?=NrQ&=Pelv@*=Ny2Z z4E1^(R@tHoWaLrmJV6JFH;azo`7=o--hLHec#uj!o2We=Jy_9 z(`F7~otvzP?tBp;h+JVVJ6~2--?L9RDED&&b_HwLg~9XjYO_m+fw4-CNyEFO;hnE5 z=kqdK^Ujy?UrgvakiaI`a=CqH0O5^<{|SMA6v{tJ`k25GiWkQ<(Wz4UsKA3^iJ{qt zvD5MeU~~JUJKyKRoqsGS)cZI%FNzmMdmfJx9EtcncyLj`OfKq*_Iybyj*zK#zrc67 z{hmK^!;559xui&oUNR^QRYeympK{3{C!D;bQf4mV%0Kc{|BER+(GmU>MXCdZ_GFFJ=`VGN+?T=H5G&$C(cyFh)}%BkQ`-D^f9#F(wo;D-4#mu8>u9lcyV z`a7BbNEipg1G7bZT#IMH`3`s?*NJ6IV&nO5mO9UV@Xsj;Z*af|e+|N)J#Zw7X;hwl zP&fADyJOk1*tjuc@fL|%yzyk>gt6n#oH!v_KmP2q#@CM@lStIB9dqV{`gLQ@TsMBw zxN&E#ZJmVItZ3vNi@#!qfB0KqK%_k+mAD-=`uFc>+X22RIZtnW3JrNiTTsTueQ zJ?@W?{MtB~lov5D{YN7xHnnfX|BLH0Oo;u z-3(_T%`duNj^nr0fHP?^Qq4Ftn-9Dha2C@1*>C>oqbztz9- zILd|&@b`HFsLKb5eDKX};7t;^%27JX=Ru|xv~Htq8^?q=Af~B!--(u$b_OKIk1{~R zM~?Zj@lj$5IX3t;;D9lSHu*CKo+Vd*Ir8zdL)7MDX#R`^^_c9J+v9gIu~yXaF(37} z=Sg|Gb{cT}%tyfdStV~^nu~VUOHJ-=7y8K(ugBpn_o;tgjP8a*>EHht4v5DvZvGKc+q9wdZ%jiRDDjA uI!(|yADMSxRNA497_6}GNSs@SmvJq diff --git a/Lib/Portoa.Web.xml b/Lib/Portoa.Web.xml index d22c598..0dfc4a5 100644 --- a/Lib/Portoa.Web.xml +++ b/Lib/Portoa.Web.xml @@ -32,29 +32,27 @@ Executed when the user is forbidden from seeing the requested page - + - Represents a simple, consistent object to use for AJAX responses + Model binder that uses an IUnityContainer to resolve the model binder designated by + which will do the actual model binding + The model binder to resolve + - - - Gets or sets the error message that occurred. If null, it's assumed - that no error occurred. - - - - - Gets or sets any extra data the client may be expecting. This value should - not be null. - + + The container to use to resolve the model binder Model binder that uses a service provider to resolve the model binder designated by - which will do the action model binding + which will do the actual model binding The model binder to resolve + + + + The service provider to use to resolve the model binder @@ -130,7 +128,7 @@ Sets the HTTP status code on the response object before - calling base.ExecuteResult() + calling base.ExecuteResult() @@ -146,7 +144,7 @@ Gets or sets the delegate to create the error model. By default it creates - an instance of . + an instance of ErrorModel. @@ -155,10 +153,16 @@ normal means + + The system's logger + The current HttpContext + Handles global application errors by invoking the specified error controller + The exception that caused the error + The controller to use handle errors @@ -168,6 +172,35 @@ Adapted from http://blog.nathan-taylor.net/2010/06/aspnet-mvc-flags-enumeration-model.html + + + Represents an object that can create error results + + + + + + Creates an ActionResult for error actions + + The status code for the result + + + + Represents a simple, consistent object to use for AJAX responses + + + + + Gets or sets the error message that occurred. If null, it's assumed + that no error occurred. + + + + + Gets or sets any extra data the client may be expecting. This value should + not be null. + + Configures interception to occur for any subsequent container registrations @@ -181,6 +214,18 @@ AuthorizationFilter collections + + + Provides an interface for identifying the current user + + The user type + + + + Returns the user currently performing actions on the site, or null + if the user cannot be identified + + This class exists to get rid of the SessionState and TempData error. Just google it. @@ -195,8 +240,16 @@ Maps the type to the binder type - using the given service provider to resolve the binder + using the to resolve the binder + + + + + Maps the type to the binder type + using the to resolve the binder + + @@ -266,6 +319,24 @@ + + + Error result factory that returns a result suitable + for HTML views strongly typed to ErrorModel<T> + + + The user type + + + The currently logged in user + + + + Error result factory that returns a result suitable + for HTML views strongly typed to ErrorModel + + + Session store that uses the current HttpContext @@ -276,6 +347,9 @@ Controller for handling and displaying errors that aren't handled by application code + + The factory to use to create the action results + Call handler that wraps a method call in a unit of work @@ -305,6 +379,12 @@ Truncates a string to 150 characters in a pretty way, if necessary + + + Generic model for displaying errors where the currently logged in user is needed + + The user type + Generic model for displaying errors @@ -315,6 +395,11 @@ Gets or sets the exception that occurred + + + The currently logged in user, or null if no one is logged in + + Gets all model state errors as a line feed-delimited string @@ -322,10 +407,10 @@ - Creates a JSON response if an error occurred, appending all ModelState errors + Creates a JSON response if an error occurred, appending all errors to the response object - The error message to display to the user + The error message to display to the user, this value cannot be null @@ -339,21 +424,15 @@ Creates a JSON response object - The error message to display to the user + The error message to display to the user (null if no error occurred) Any extra data that needs to be passed to the client + Sets up the temporary data provider so that it won't barf with Session errors - - - - Runs an action in a transaction. If an exception is thrown during execution, the transaction - will be rolled back and the exception will be raised. - - Service that can create a transaction - The action to execute inside the transaction + @@ -375,17 +454,18 @@ Uses an IUnityContainer to create controllers - + Base for an MVC application using Unity/NHibernate + The user type - + The container associated with this application - + Handles uncaught application exceptions; default implementation uses and to @@ -393,18 +473,18 @@ The uncaught exception - + Override to perform any extra startup tasks; default implementation does nothing - + Override to configure the model binders for the application; default implementation does nothing - + Creates the configuration used for NHibernate; default implementation uses the default NHibernate configuration, and sets a custom interceptor. The configuration can be retrieved @@ -412,25 +492,25 @@ - + Registers any routes for the application; default implementation registers nothing - + Registers any applicable areas; default implementations calls AreaRegistration.RegisterAllAreas() - + Configures the controller factory; default implementation uses Unity to resolve each controller with a custom action invoker - + Performs any application-specific configuration for Unity; default implementation does nothing @@ -468,6 +548,71 @@ Reads the app config and applies the Unity configuration, if applicable + + + Model for displaying data that is paged + + The type of data to be paged + + + + Gets or sets the starting point of the records, starting from 1 (e.g. the number you Skip()'d) + + + + + Gets or sets the ending point of the records + + + + + Gets or sets the total number of records + + + + + Gets the page size (e.g. the number you Take()'d) + + + + + Gets the starting point of the next page + + + + + + Gets the ending point of the next page + + + + + + Gets the starting point of the previous page (0 is the minimum) + + + + + + Gets the ending point of the previous page (0 is the minimum) + + + + + + Gets whether or not a previous page is possible + + + + + Gets whether or not a next page is possible + + + + + Gets or sets filtered record set; Count() should be less than or equal to the page size + + Controller factory that uses a service provider to resolve controllers diff --git a/Lib/Portoa.dll b/Lib/Portoa.dll index c6990ac71cbc40a9bfa40a20a6a91feb28a071b6..b4f4e28bb92cd4cfa9774c5731d9650ff3f58cf5 100644 GIT binary patch delta 16898 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 m*A{21ZEK5T)@>^ncEoSKRduAT`WN0#jVtj)D delta 16768 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 diff --git a/Lib/Portoa.xml b/Lib/Portoa.xml index 80fd4e6..6e79858 100644 --- a/Lib/Portoa.xml +++ b/Lib/Portoa.xml @@ -53,7 +53,7 @@ Gets whether or not the password has been set
- + Determines if the entity has already been persisted @@ -74,7 +74,7 @@ - Represents a domain object that can be persisted by an + Represents a domain object that can be persisted by a repository The entity type The entity's identifier type @@ -398,6 +398,18 @@ Default password protector that does not allow null or empty passwords
+ + + Exposes an interface to map an entity to a DTO representation + + The DTO to map to + + + + + Returns a DTO representation of this object + + Validates that the value is greater than zero @@ -573,6 +585,17 @@ the object, its properties and its fields. + + + Converts a Unix timestamp to a + + + + + Converts a to a Unix timestamp (number of seconds since + 1970-01-01) + + Represents a service object that can start a transaction @@ -604,26 +627,10 @@ Signifies that this object should not be logged - + - Converts a Unix timestamp to a - - - - - Converts a to a Unix timestamp (number of seconds since - 1970-01-01) - - - - - Exposes an interface to map an object to a DTO representation - - The DTO to map to - - - - Returns a DTO representation of this object + Convenience class for data transfer objects that have an integral + identifier