diff --git a/Extensions/Common/Misc/ReleaseNotes-v2.5.rtf b/Extensions/Common/Misc/ReleaseNotes-v2.5.rtf index eadfcba0..544febbd 100644 --- a/Extensions/Common/Misc/ReleaseNotes-v2.5.rtf +++ b/Extensions/Common/Misc/ReleaseNotes-v2.5.rtf @@ -1,6 +1,6 @@ {\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch0\stshfloch31506\stshfhich31506\stshfbi31506\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;} {\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;} -{\f39\fbidi \fmodern\fcharset0\fprq1{\*\panose 00000000000000000000}Consolas;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\f39\fbidi \fmodern\fcharset0\fprq1{\*\panose 020b0609020204030204}Consolas;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} {\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0302020204030204}Calibri Light;} {\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} {\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;} @@ -88,16 +88,16 @@ \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\lin5760 }{\listlevel \levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\lin6480 }{\listname ;}\listid2145460083}} {\*\listoverridetable{\listoverride\listid1822576936\listoverridecount0\ls1}{\listoverride\listid88501739\listoverridecount0\ls2}{\listoverride\listid1983148117\listoverridecount0\ls3}{\listoverride\listid1371539679\listoverridecount0\ls4} -{\listoverride\listid2145460083\listoverridecount0\ls5}{\listoverride\listid1230967698\listoverridecount0\ls6}}{\*\rsidtbl \rsid359115\rsid873348\rsid1195069\rsid1268416\rsid1330538\rsid1534914\rsid1586566\rsid1912482\rsid2167200\rsid2192352\rsid2247598 -\rsid2304070\rsid2318635\rsid2585396\rsid2627700\rsid2777785\rsid3037705\rsid3240334\rsid3291068\rsid3687342\rsid3816617\rsid3817275\rsid4462593\rsid4527348\rsid4597367\rsid4599157\rsid4605300\rsid5188996\rsid5391391\rsid5602717\rsid5782343\rsid5984038 -\rsid6424161\rsid6432287\rsid6830848\rsid7169509\rsid7489731\rsid7565510\rsid7944273\rsid7957720\rsid8020035\rsid8192016\rsid8264159\rsid8941150\rsid10106450\rsid10170423\rsid10236398\rsid10367884\rsid10696016\rsid10780149\rsid10886434\rsid10890557 -\rsid11027155\rsid11216542\rsid11369235\rsid11958472\rsid12198470\rsid12405453\rsid12547575\rsid12725058\rsid12861562\rsid13185841\rsid13520373\rsid13653587\rsid13763530\rsid13795126\rsid14746735\rsid14972208\rsid15087776\rsid15553279\rsid15605216 -\rsid15628306\rsid15760738\rsid15794386\rsid16009121\rsid16138059\rsid16197880}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author Anthony Sneed} -{\operator Anthony Sneed}{\creatim\yr2014\mo4\dy26\hr8\min31}{\revtim\yr2015\mo2\dy28\hr9\min24}{\version69}{\edmins179}{\nofpages2}{\nofwords383}{\nofchars2187}{\nofcharsws2565}{\vern57437}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2 -003/wordml}}\paperw12240\paperh15840\margl1501\margr1502\margt1440\margb1440\gutter0\ltrsect +{\listoverride\listid2145460083\listoverridecount0\ls5}{\listoverride\listid1230967698\listoverridecount0\ls6}}{\*\rsidtbl \rsid359115\rsid873348\rsid997444\rsid1195069\rsid1268416\rsid1330538\rsid1534914\rsid1586566\rsid1912482\rsid2167200\rsid2192352 +\rsid2247598\rsid2304070\rsid2318635\rsid2585396\rsid2627700\rsid2777785\rsid3037705\rsid3240334\rsid3291068\rsid3687342\rsid3816617\rsid3817275\rsid4462593\rsid4527348\rsid4597367\rsid4599157\rsid4605300\rsid5188996\rsid5391391\rsid5602717\rsid5782343 +\rsid5984038\rsid6424161\rsid6432287\rsid6830848\rsid7169509\rsid7489731\rsid7565510\rsid7944273\rsid7957720\rsid8020035\rsid8192016\rsid8264159\rsid8941150\rsid10106450\rsid10170423\rsid10236398\rsid10367884\rsid10696016\rsid10780149\rsid10886434 +\rsid10890557\rsid11027155\rsid11216542\rsid11343446\rsid11369235\rsid11958472\rsid12198470\rsid12405453\rsid12547575\rsid12725058\rsid12861562\rsid13185841\rsid13370379\rsid13520373\rsid13653587\rsid13763530\rsid13795126\rsid13853403\rsid14746735 +\rsid14972208\rsid15087776\rsid15553279\rsid15605216\rsid15628306\rsid15760738\rsid15794386\rsid16009121\rsid16138059\rsid16141147\rsid16197880}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440 +\mintLim0\mnaryLim1}{\info{\author Anthony Sneed}{\operator Anthony Sneed}{\creatim\yr2014\mo4\dy26\hr8\min31}{\revtim\yr2015\mo5\dy14\hr9\min36}{\version74}{\edmins191}{\nofpages2}{\nofwords529}{\nofchars3020}{\nofcharsws3542}{\vern57439}} +{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1501\margr1502\margt1440\margb1440\gutter0\ltrsect \widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen \expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1501\dgvorigin1440\dghshow1\dgvshow1 -\jexpand\viewkind1\viewscale140\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct +\jexpand\viewkind1\viewscale130\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct \asianbrkrule\rsidroot4605300\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0 {\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid3816617\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2 \pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6 @@ -106,11 +106,11 @@ \rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid15605216\charrsid8020035 Release N}{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid16138059 otes for Trackable Entities v 2}{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid1586566 .5}{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid15605216 \par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid16197880 -\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid16197880 Updated release notes for v 2.5 can be found here:\line }{\field\flddirty{\*\fldinst {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid16197880 - HYPERLINK "https://github.com/tonysneed/trackable-entities/releases/tag/2.5.0" }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid16197880 {\*\datafield -00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b9e000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f0074006f006e00790073006e006500650064002f0074007200610063006b00610062006c0065002d0065006e00 -7400690074006900650073002f00720065006c00650061007300650073002f007400610067002f0032002e0035002e0030000000795881f43b1d7f48af2c825dc485276300000000a5ab00001303000000}}}{\fldrslt {\rtlch\fcs1 \af2 \ltrch\fcs0 \cs17\f2\ul\cf17\insrsid16197880\charrsid2318635 -https://github.com/tonysneed/trackable-entities/releases/tag/2.5.0}}}\sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid3816617\sftnbj {\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid16197880 +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid16197880 Updated release notes for v 2.5 can be found here:\line }{\field{\*\fldinst {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid11343446 +HYPERLINK "https://github.com/tonysneed/trackable-entities/releases/tag/v2.5.0" }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid11343446 {\*\datafield +00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90ba0000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f0074006f006e00790073006e006500650064002f0074007200610063006b00610062006c0065002d0065006e00 +7400690074006900650073002f00720065006c00650061007300650073002f007400610067002f00760032002e0035002e0030000000795881f43b1d7f48af2c825dc485276300000000a5ab00000000}}}{\fldrslt {\rtlch\fcs1 \af2 \ltrch\fcs0 \cs17\f2\ul\cf17\insrsid11343446\charrsid11343446 +https://github.com/tonysneed/trackable-entities/releases/tag/v2.5.0}}}\sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid3816617\sftnbj {\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid16197880 \par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid13795126 \par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid15605216\charrsid8020035 1. }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid1586566 Trackab}{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid2318635 le Entities NuGet packages v 2.5}{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid15605216\charrsid8020035 .}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid8020035 @@ -174,8 +174,8 @@ for Visual Studio 2013 and later }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid15760 \par {\listtext\pard\plain\ltrpar \s15 \rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid14972208 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard \ltrpar \s15\ql \fi-360\li1440\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls2\ilvl1\adjustright\rin0\lin1440\itap0\pararsid14972208 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14972208 A Shared Entities template has been added for }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\ul\insrsid14972208\charrsid14972208 EDMX-based}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14972208 models. -\par {\listtext\pard\plain\ltrpar \s15 \rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid14972208 \hich\af2\dbch\af0\loch\f2 o\tab} -Visual Studio 2012 projects may be manually updated by installing a code generation NuGet package and re-generating entities which derive from EntityBase. +\par {\listtext\pard\plain\ltrpar \s15 \rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid14972208 \hich\af2\dbch\af0\loch\f2 o\tab}Visual Studio 2012 projects may be manually updated by installing a code generation NuGet package and re-gener +ating entities which derive from EntityBase. \par {\listtext\pard\plain\ltrpar \s15 \rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f3\fs21\insrsid7565510 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar \s15\ql \fi-360\li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid7565510 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid7565510 When creating a Trackable Entities}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid2304070 project}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid7565510 ,}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid2304070 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid7565510 a}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid2304070 }{\rtlch\fcs1 \af2 \ltrch\fcs0 @@ -184,15 +184,58 @@ Visual Studio 2012 projects may be manually updated by installing a code generat \s15\ql \fi-360\li1440\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls2\ilvl1\adjustright\rin0\lin1440\itap0\pararsid7565510 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid7565510 Separate Client / Service Entities vs Shared Entities \par {\listtext\pard\plain\ltrpar \s15 \rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid7565510 \hich\af2\dbch\af0\loch\f2 o\tab}Portable vs .Net 4.5 Target \par {\listtext\pard\plain\ltrpar \s15 \rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f3\fs21\insrsid7565510 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar -\s15\ql \fi-360\li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid13763530 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid7565510 -Individual entities projects may be added to a solution, or a multi-project solution may be selected (WCF, Web API, Web API with Repo and Unit of Work Patterns).}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid2304070 +\s15\ql \fi-360\li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid13763530 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid7565510 Individual entities proj +ects may be added to a solution, or a multi-project solution may be selected (WCF, Web API, Web API with Repo and Unit of Work Patterns).}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid2304070 \par {\listtext\pard\plain\ltrpar \s15 \rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid10236398 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard \ltrpar \s15\ql \fi-360\li1440\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls2\ilvl1\adjustright\rin0\lin1440\itap0\pararsid10236398 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid10236398 For convenience all service projects include the TrackableEntities.Client NuGet package to support shared entities, but you may wish to remove it if you are using separate client and service entities. \par {\listtext\pard\plain\ltrpar \s15 \rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f3\fs21\insrsid2777785 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar \s15\ql \fi-360\li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid14746735 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid2777785 Shared entities allow WCF clients t}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14972208 o use "}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\ul\insrsid14972208\charrsid14972208 Add Service Reference}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14972208 "}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid2777785 - instead of a client channel factory.}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14746735\charrsid15087776 + instead of a client channel factory.}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid14746735 +\par }\pard \ltrpar\s15\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid11343446 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid11343446 +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid11343446\charrsid8020035 Release N}{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid11343446 otes for Trackable Entities v 2.5.1 +\par +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid11343446 Updated release notes for v 2.5.1 can be found here:\line }{\field{\*\fldinst {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid13370379 + HYPERLINK "https://github.com/tonysneed/trackable-entities/releases/tag/v2.5.1" }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid13370379 {\*\datafield +00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90ba0000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f0074006f006e00790073006e006500650064002f0074007200610063006b00610062006c0065002d0065006e00 +7400690074006900650073002f00720065006c00650061007300650073002f007400610067002f00760032002e0035002e0031000000795881f43b1d7f48af2c825dc485276300000000a5ab00000000}}}{\fldrslt {\rtlch\fcs1 \af2 \ltrch\fcs0 \cs17\f2\ul\cf17\insrsid13370379\charrsid13370379 +https://github.com/tonysneed/trackable-entities/releases/tag/v2.5.1}}}\sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid3816617\sftnbj {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid11343446 +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid13370379 +\par }\pard \ltrpar\s15\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13370379 {\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid13370379\charrsid8020035 1. }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid13370379 +Miscellaneous bug fixes.}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid13370379 +\par +\par {\listtext\pard\plain\ltrpar \s15 \rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f3\fs21\insrsid13370379 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar +\s15\ql \fi-360\li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid11343446 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid13370379 Fixed bugs in MergeChanges and ApplyChanges methods.}{\rtlch\fcs1 \af2 \ltrch\fcs0 +\f2\insrsid13370379\charrsid13370379 +\par }\pard \ltrpar\s15\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid11343446 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid13370379 +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid13370379 +\par }\pard \ltrpar\s15\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13370379 {\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid13370379\charrsid8020035 Release N}{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid13370379 +otes for Trackable Entities v 2.5.2 +\par +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid13370379 Updated release notes for v 2.5.2 can be found here:\line }{\field{\*\fldinst {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid13370379 + HYPERLINK "https://github.com/tonysneed/trackable-entities/releases/tag/v2.5.2" }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid13370379 {\*\datafield +00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90ba0000000680074007400700073003a002f002f006700690074006800750062002e0063006f006d002f0074006f006e00790073006e006500650064002f0074007200610063006b00610062006c0065002d0065006e00 +7400690074006900650073002f00720065006c00650061007300650073002f007400610067002f00760032002e0035002e0032000000795881f43b1d7f48af2c825dc485276300000000a5ab0000db00}}}{\fldrslt {\rtlch\fcs1 \af2 \ltrch\fcs0 \cs17\f2\ul\cf17\insrsid13370379\charrsid13370379 +https://github.com/tonysneed/trackable-entities/releases/tag/v2.5.2}}}\sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid3816617\sftnbj {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid13370379 +\par +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid13370379\charrsid8020035 1. }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid13370379 Miscellaneous bug fixes.}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid13370379 +\par +\par {\listtext\pard\plain\ltrpar \s15 \rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f3\fs21\insrsid13370379 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar +\s15\ql \fi-360\li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid13370379 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid13370379 Fixed bugs in SetTracking and ApplyChanges methods.}{\rtlch\fcs1 \af2 \ltrch\fcs0 +\f2\insrsid13370379\charrsid13370379 +\par }\pard \ltrpar\s15\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13370379 {\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid13370379 +\par 2}{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid13370379\charrsid8020035 . }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\insrsid997444 Visual Studio extension.}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid13370379 +\par +\par {\listtext\pard\plain\ltrpar \s15 \rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f3\fs21\insrsid13370379 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar +\s15\ql \fi-360\li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid13370379 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid13370379 Updated }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid997444 WCF }{\rtlch\fcs1 \af2 +\ltrch\fcs0 \f2\insrsid13370379 service entities project to use T4 templates for shared entities. +\par {\listtext\pard\plain\ltrpar \s15 \rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f3\fs21\insrsid997444 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid997444 +Updated NuGet packages for Trackable Entities in project templates and installer. +\par {\listtext\pard\plain\ltrpar \s15 \rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f3\fs21\insrsid16141147 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid16141147 Corrected folder structure + for TrackableEntities.Common NuGet package v2.5.2.1, and updated templates to use it.}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid16141147\charrsid13370379 +\par }\pard \ltrpar\s15\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid11343446 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid11343446 +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid997444\charrsid15087776 \par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a 9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad 5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6 @@ -332,8 +375,8 @@ fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000f06d -67033053d001feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 +ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e500000000000000000000000030ac +8db3188ed001feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file diff --git a/Extensions/Common/Output/Extract/ItemTemplates/TrackableWcfServiceType/MyTemplate.vstemplate b/Extensions/Common/Output/Extract/ItemTemplates/TrackableWcfServiceType/MyTemplate.vstemplate index 45fb60cc..b1640a9f 100644 --- a/Extensions/Common/Output/Extract/ItemTemplates/TrackableWcfServiceType/MyTemplate.vstemplate +++ b/Extensions/Common/Output/Extract/ItemTemplates/TrackableWcfServiceType/MyTemplate.vstemplate @@ -2,7 +2,7 @@ TrackableWcfService.cs Trackable WCF Service Type - WCF service with read-write operations using Trackable Entities and Entity Framework. Created by Tony Sneed. For more information visit http://trackable.codeplex.com. + WCF service with read-write operations using Trackable Entities and Entity Framework. CSharp 10 __TemplateIcon.png diff --git a/Extensions/Common/Output/Zip/ItemTemplates/TrackableWcfServiceType.zip b/Extensions/Common/Output/Zip/ItemTemplates/TrackableWcfServiceType.zip index 755e8372..6f3cf3ea 100644 Binary files a/Extensions/Common/Output/Zip/ItemTemplates/TrackableWcfServiceType.zip and b/Extensions/Common/Output/Zip/ItemTemplates/TrackableWcfServiceType.zip differ diff --git a/Extensions/Common/Wizards/ItemTemplateParametersWizard/ItemTemplateParametersWizard.csproj b/Extensions/Common/Wizards/ItemTemplateParametersWizard/ItemTemplateParametersWizard.csproj index b8730935..972d8460 100644 --- a/Extensions/Common/Wizards/ItemTemplateParametersWizard/ItemTemplateParametersWizard.csproj +++ b/Extensions/Common/Wizards/ItemTemplateParametersWizard/ItemTemplateParametersWizard.csproj @@ -41,11 +41,11 @@ - ..\..\..\VS2013\Deploy\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\..\..\VS2013\Deploy\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll True - - ..\..\..\VS2013\Deploy\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + + ..\..\..\VS2013\Deploy\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll True @@ -58,8 +58,8 @@ - - ..\..\..\VS2013\Deploy\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + + ..\..\..\VS2013\Deploy\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll True diff --git a/Extensions/Common/Wizards/ItemTemplateParametersWizard/packages.config b/Extensions/Common/Wizards/ItemTemplateParametersWizard/packages.config index 2fc05280..3ef2e967 100644 --- a/Extensions/Common/Wizards/ItemTemplateParametersWizard/packages.config +++ b/Extensions/Common/Wizards/ItemTemplateParametersWizard/packages.config @@ -1,5 +1,5 @@  - - + + \ No newline at end of file diff --git a/Extensions/Common/Wizards/TrackableEntities.ItemWizard/TrackableEntities.ItemWizard.csproj b/Extensions/Common/Wizards/TrackableEntities.ItemWizard/TrackableEntities.ItemWizard.csproj index 7e2403a5..e64bd151 100644 --- a/Extensions/Common/Wizards/TrackableEntities.ItemWizard/TrackableEntities.ItemWizard.csproj +++ b/Extensions/Common/Wizards/TrackableEntities.ItemWizard/TrackableEntities.ItemWizard.csproj @@ -40,11 +40,12 @@ key.snk - - ..\..\..\VS2013\Deploy\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + + ..\..\..\VS2013\Deploy\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll + True - - ..\..\..\VS2013\Deploy\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + + ..\..\..\VS2013\Deploy\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll True @@ -70,8 +71,9 @@ - - ..\..\..\VS2013\Deploy\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + + ..\..\..\VS2013\Deploy\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + True True diff --git a/Extensions/Common/Wizards/TrackableEntities.ItemWizard/packages.config b/Extensions/Common/Wizards/TrackableEntities.ItemWizard/packages.config index 2fc05280..3ef2e967 100644 --- a/Extensions/Common/Wizards/TrackableEntities.ItemWizard/packages.config +++ b/Extensions/Common/Wizards/TrackableEntities.ItemWizard/packages.config @@ -1,5 +1,5 @@  - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/EntityController.zip b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/EntityController.zip index 28081871..cbb40105 100644 Binary files a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/EntityController.zip and b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/EntityController.zip differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/EntityRepository.zip b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/EntityRepository.zip index bd9e72c8..d2e26a77 100644 Binary files a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/EntityRepository.zip and b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/EntityRepository.zip differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/ExampleUnitOfWork.zip b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/ExampleUnitOfWork.zip index 4b6404db..28e7500a 100644 Binary files a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/ExampleUnitOfWork.zip and b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/ExampleUnitOfWork.zip differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/IDatabaseContext.zip b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/IDatabaseContext.zip index 20550aa6..d2e564e8 100644 Binary files a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/IDatabaseContext.zip and b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/IDatabaseContext.zip differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/IEntityRepository.zip b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/IEntityRepository.zip index 45912f08..f1cc38d8 100644 Binary files a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/IEntityRepository.zip and b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/IEntityRepository.zip differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/IExampleUnitOfWork.zip b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/IExampleUnitOfWork.zip index 85b997b8..1b34a1a9 100644 Binary files a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/IExampleUnitOfWork.zip and b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Patterns/IExampleUnitOfWork.zip differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/WCF/TrackableWcfServiceType.zip b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/WCF/TrackableWcfServiceType.zip index 755e8372..6f3cf3ea 100644 Binary files a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/WCF/TrackableWcfServiceType.zip and b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/WCF/TrackableWcfServiceType.zip differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Web/WebApiController.zip b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Web/WebApiController.zip index b7688754..2ecc38c3 100644 Binary files a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Web/WebApiController.zip and b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ItemTemplates/Trackable/Web/WebApiController.zip differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/EntityFramework.6.1.2.nupkg b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/EntityFramework.6.1.2.nupkg deleted file mode 100644 index c14fb9b2..00000000 Binary files a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/EntityFramework.6.1.2.nupkg and /dev/null differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/EntityFramework.6.1.3.nupkg b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/EntityFramework.6.1.3.nupkg new file mode 100644 index 00000000..c4bcd639 Binary files /dev/null and b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/EntityFramework.6.1.3.nupkg differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/SimpleInjector.2.7.2.nupkg b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/SimpleInjector.2.7.2.nupkg deleted file mode 100644 index 3b52f8f6..00000000 Binary files a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/SimpleInjector.2.7.2.nupkg and /dev/null differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/SimpleInjector.2.7.3.nupkg b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/SimpleInjector.2.7.3.nupkg new file mode 100644 index 00000000..f6af9e23 Binary files /dev/null and b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/SimpleInjector.2.7.3.nupkg differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/SimpleInjector.Extensions.ExecutionContextScoping.2.7.2.nupkg b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/SimpleInjector.Extensions.ExecutionContextScoping.2.7.2.nupkg deleted file mode 100644 index a3d4baa1..00000000 Binary files a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/SimpleInjector.Extensions.ExecutionContextScoping.2.7.2.nupkg and /dev/null differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/SimpleInjector.Extensions.ExecutionContextScoping.2.7.3.nupkg b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/SimpleInjector.Extensions.ExecutionContextScoping.2.7.3.nupkg new file mode 100644 index 00000000..8b88fb6f Binary files /dev/null and b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/SimpleInjector.Extensions.ExecutionContextScoping.2.7.3.nupkg differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/SimpleInjector.Integration.WebApi.2.7.2.nupkg b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/SimpleInjector.Integration.WebApi.2.7.2.nupkg deleted file mode 100644 index 45173f5c..00000000 Binary files a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/SimpleInjector.Integration.WebApi.2.7.2.nupkg and /dev/null differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/SimpleInjector.Integration.WebApi.2.7.3.nupkg b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/SimpleInjector.Integration.WebApi.2.7.3.nupkg new file mode 100644 index 00000000..4e5f2146 Binary files /dev/null and b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/SimpleInjector.Integration.WebApi.2.7.3.nupkg differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Client.2.5.0.nupkg b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Client.2.5.0.nupkg deleted file mode 100644 index d17f8d0f..00000000 Binary files a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Client.2.5.0.nupkg and /dev/null differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Client.2.5.2.nupkg b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Client.2.5.2.nupkg new file mode 100644 index 00000000..7b46ce2f Binary files /dev/null and b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Client.2.5.2.nupkg differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Client.Net4.2.5.0.nupkg b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Client.Net4.2.5.0.nupkg deleted file mode 100644 index fe2c02d8..00000000 Binary files a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Client.Net4.2.5.0.nupkg and /dev/null differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Client.Net4.2.5.2.nupkg b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Client.Net4.2.5.2.nupkg new file mode 100644 index 00000000..2982aa73 Binary files /dev/null and b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Client.Net4.2.5.2.nupkg differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Common.2.5.0.nupkg b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Common.2.5.0.nupkg deleted file mode 100644 index 704e682d..00000000 Binary files a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Common.2.5.0.nupkg and /dev/null differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Common.2.5.2.1.nupkg b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Common.2.5.2.1.nupkg new file mode 100644 index 00000000..dc9e41ad Binary files /dev/null and b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Common.2.5.2.1.nupkg differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.EF.5.2.5.0.nupkg b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.EF.5.2.5.0.nupkg deleted file mode 100644 index a40e7458..00000000 Binary files a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.EF.5.2.5.0.nupkg and /dev/null differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.EF.5.2.5.2.nupkg b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.EF.5.2.5.2.nupkg new file mode 100644 index 00000000..304f7c12 Binary files /dev/null and b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.EF.5.2.5.2.nupkg differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.EF.6.2.5.0.nupkg b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.EF.6.2.5.0.nupkg deleted file mode 100644 index f19950be..00000000 Binary files a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.EF.6.2.5.0.nupkg and /dev/null differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.EF.6.2.5.2.nupkg b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.EF.6.2.5.2.nupkg new file mode 100644 index 00000000..cac0365d Binary files /dev/null and b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.EF.6.2.5.2.nupkg differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Patterns.2.5.0.nupkg b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Patterns.2.5.0.nupkg deleted file mode 100644 index 0dd5e546..00000000 Binary files a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Patterns.2.5.0.nupkg and /dev/null differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Patterns.2.5.2.nupkg b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Patterns.2.5.2.nupkg new file mode 100644 index 00000000..901441e0 Binary files /dev/null and b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Patterns.2.5.2.nupkg differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Patterns.EF.6.2.5.0.nupkg b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Patterns.EF.6.2.5.0.nupkg deleted file mode 100644 index 16e5f91e..00000000 Binary files a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Patterns.EF.6.2.5.0.nupkg and /dev/null differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Patterns.EF.6.2.5.2.nupkg b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Patterns.EF.6.2.5.2.nupkg new file mode 100644 index 00000000..a1550790 Binary files /dev/null and b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/Packages/TrackableEntities.Patterns.EF.6.2.5.2.nupkg differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ProjectTemplates/Trackable/TrackableEntities.zip b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ProjectTemplates/Trackable/TrackableEntities.zip index b96982d7..255385c0 100644 Binary files a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ProjectTemplates/Trackable/TrackableEntities.zip and b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ProjectTemplates/Trackable/TrackableEntities.zip differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ProjectTemplates/Trackable/TrackableWcfService.zip b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ProjectTemplates/Trackable/TrackableWcfService.zip index 1c58e3a7..feebdcac 100644 Binary files a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ProjectTemplates/Trackable/TrackableWcfService.zip and b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ProjectTemplates/Trackable/TrackableWcfService.zip differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ProjectTemplates/Trackable/TrackableWebApi.zip b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ProjectTemplates/Trackable/TrackableWebApi.zip index e5270f08..e26143d4 100644 Binary files a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ProjectTemplates/Trackable/TrackableWebApi.zip and b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ProjectTemplates/Trackable/TrackableWebApi.zip differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ProjectTemplates/Trackable/TrackableWebApiPatterns.zip b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ProjectTemplates/Trackable/TrackableWebApiPatterns.zip index 3f17a157..7c4da169 100644 Binary files a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ProjectTemplates/Trackable/TrackableWebApiPatterns.zip and b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/ProjectTemplates/Trackable/TrackableWebApiPatterns.zip differ diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/TrackableEntities.VS2013.Deploy.csproj b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/TrackableEntities.VS2013.Deploy.csproj index 00cb4e0e..aaa905ef 100644 --- a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/TrackableEntities.VS2013.Deploy.csproj +++ b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/TrackableEntities.VS2013.Deploy.csproj @@ -218,65 +218,65 @@ true - + true - + true - + true - + true - + true - + true - + true - + true + Always - + true - + true - + true - + true - + true - + true - + true - + true - Always - + true - + true - + true - + true diff --git a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/source.extension.vsixmanifest b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/source.extension.vsixmanifest index 986e3d21..cc37333c 100644 --- a/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/source.extension.vsixmanifest +++ b/Extensions/VS2013/Deploy/TrackableEntities.VS2013.Deploy/source.extension.vsixmanifest @@ -1,10 +1,10 @@  - + Trackable Entities for Visual Studio 2013 N-Tier support for Entity Framework with Visual Studio project and item templates for quickly building n-tier applications using entities that are change-tracked on the client and persisted on the server via WCF or ASP.NET Web API. - http://trackable.codeplex.com + http://tonysneed.github.io/trackable-entities License.txt ReleaseNotes-v2.5.rtf tracking-small.png diff --git a/Extensions/VS2013/Output/Extract/ItemTemplates/EntityController/MyTemplate.vstemplate b/Extensions/VS2013/Output/Extract/ItemTemplates/EntityController/MyTemplate.vstemplate index 5dacd811..809d6ba7 100644 --- a/Extensions/VS2013/Output/Extract/ItemTemplates/EntityController/MyTemplate.vstemplate +++ b/Extensions/VS2013/Output/Extract/ItemTemplates/EntityController/MyTemplate.vstemplate @@ -2,7 +2,7 @@ EntityController.cs Entity Web API Controller (Patterns) - Entity Web API Controller for Patterns WebApi project. Created by Tony Sneed. For more information visit http://trackable.codeplex.com. + Entity Web API Controller for Patterns WebApi project. CSharp 10 __TemplateIcon.png diff --git a/Extensions/VS2013/Output/Extract/ItemTemplates/EntityRepository/MyTemplate.vstemplate b/Extensions/VS2013/Output/Extract/ItemTemplates/EntityRepository/MyTemplate.vstemplate index 7f93770f..81b33d13 100644 --- a/Extensions/VS2013/Output/Extract/ItemTemplates/EntityRepository/MyTemplate.vstemplate +++ b/Extensions/VS2013/Output/Extract/ItemTemplates/EntityRepository/MyTemplate.vstemplate @@ -2,7 +2,7 @@ EntityRepository.cs Entity Repository Class (Patterns) - Entity Repository Class for Patterns EF project. Created by Tony Sneed. For more information visit http://trackable.codeplex.com. + Entity Repository Class for Patterns EF project. CSharp 10 __TemplateIcon.png diff --git a/Extensions/VS2013/Output/Extract/ItemTemplates/ExampleUnitOfWork/MyTemplate.vstemplate b/Extensions/VS2013/Output/Extract/ItemTemplates/ExampleUnitOfWork/MyTemplate.vstemplate index 51b906fe..4b0556bb 100644 --- a/Extensions/VS2013/Output/Extract/ItemTemplates/ExampleUnitOfWork/MyTemplate.vstemplate +++ b/Extensions/VS2013/Output/Extract/ItemTemplates/ExampleUnitOfWork/MyTemplate.vstemplate @@ -2,7 +2,7 @@ ExampleUnitOfWork.cs Example Unit of Work Class (Patterns) - Example Unit of Work Class for Patterns EF project. Created by Tony Sneed. For more information visit http://trackable.codeplex.com. + Example Unit of Work Class for Patterns EF project. CSharp 10 __TemplateIcon.png diff --git a/Extensions/VS2013/Output/Extract/ItemTemplates/IDatabaseContext/MyTemplate.vstemplate b/Extensions/VS2013/Output/Extract/ItemTemplates/IDatabaseContext/MyTemplate.vstemplate index f275d0bf..28fb7391 100644 --- a/Extensions/VS2013/Output/Extract/ItemTemplates/IDatabaseContext/MyTemplate.vstemplate +++ b/Extensions/VS2013/Output/Extract/ItemTemplates/IDatabaseContext/MyTemplate.vstemplate @@ -2,7 +2,7 @@ IDatabaseContext.cs Database Context Interface (Patterns) - Database Context Interface for Patterns EF project. Created by Tony Sneed. For more information visit http://trackable.codeplex.com. + Database Context Interface for Patterns EF project. CSharp 10 __TemplateIcon.png diff --git a/Extensions/VS2013/Output/Extract/ItemTemplates/IEntityRepository/MyTemplate.vstemplate b/Extensions/VS2013/Output/Extract/ItemTemplates/IEntityRepository/MyTemplate.vstemplate index 791b0973..bfbe1d77 100644 --- a/Extensions/VS2013/Output/Extract/ItemTemplates/IEntityRepository/MyTemplate.vstemplate +++ b/Extensions/VS2013/Output/Extract/ItemTemplates/IEntityRepository/MyTemplate.vstemplate @@ -2,7 +2,7 @@ IEntityRepository.cs Entity Repository Interface (Patterns) - Entity Repository Interface for Patterns Persistence project. Created by Tony Sneed. For more information visit http://trackable.codeplex.com. + Entity Repository Interface for Patterns Persistence project. CSharp 10 __TemplateIcon.png diff --git a/Extensions/VS2013/Output/Extract/ItemTemplates/IExampleUnitOfWork/MyTemplate.vstemplate b/Extensions/VS2013/Output/Extract/ItemTemplates/IExampleUnitOfWork/MyTemplate.vstemplate index b021255c..fd6b168d 100644 --- a/Extensions/VS2013/Output/Extract/ItemTemplates/IExampleUnitOfWork/MyTemplate.vstemplate +++ b/Extensions/VS2013/Output/Extract/ItemTemplates/IExampleUnitOfWork/MyTemplate.vstemplate @@ -2,7 +2,7 @@ IExampleUnitOfWork.cs Example Unit of Work Interface (Patterns) - Example Unit of Work Interface for Patterns Persistence project. Created by Tony Sneed. For more information visit http://trackable.codeplex.com. + Example Unit of Work Interface for Patterns Persistence project. CSharp 10 __TemplateIcon.png diff --git a/Extensions/VS2013/Output/Extract/ItemTemplates/WebApiController/MyTemplate.vstemplate b/Extensions/VS2013/Output/Extract/ItemTemplates/WebApiController/MyTemplate.vstemplate index 1976d301..b96158ee 100644 --- a/Extensions/VS2013/Output/Extract/ItemTemplates/WebApiController/MyTemplate.vstemplate +++ b/Extensions/VS2013/Output/Extract/ItemTemplates/WebApiController/MyTemplate.vstemplate @@ -2,7 +2,7 @@ WebApiController.cs Entity Web API Controller - Entity Web API Controller for WebApi project. Created by Tony Sneed. For more information visit http://trackable.codeplex.com. + Entity Web API Controller for WebApi project. CSharp 10 __TemplateIcon.png diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Net45/Entities.Client.Net45.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Net45/Entities.Client.Net45.vstemplate index e6d3775c..e2d7c335 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Net45/Entities.Client.Net45.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Net45/Entities.Client.Net45.vstemplate @@ -43,9 +43,9 @@ - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Net45/TrackableEntities.ClientTemplate.Net45.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Net45/TrackableEntities.ClientTemplate.Net45.csproj index fd78f2bb..a5e6d821 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Net45/TrackableEntities.ClientTemplate.Net45.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Net45/TrackableEntities.ClientTemplate.Net45.csproj @@ -47,11 +47,11 @@ False - ..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll False - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Net45/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Net45/packages.config index 034be10b..53457749 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Net45/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Net45/packages.config @@ -1,7 +1,7 @@  - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Portable/Entities.Client.Portable.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Portable/Entities.Client.Portable.vstemplate index a70773e2..b18662ec 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Portable/Entities.Client.Portable.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Portable/Entities.Client.Portable.vstemplate @@ -43,9 +43,9 @@ - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Portable/TrackableEntities.ClientTemplate.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Portable/TrackableEntities.ClientTemplate.csproj index 5535691d..2c326e02 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Portable/TrackableEntities.ClientTemplate.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Portable/TrackableEntities.ClientTemplate.csproj @@ -51,10 +51,10 @@ ..\packages\Newtonsoft.Json.6.0.8\lib\portable-net45+wp80+win8+wpa81+aspnetcore50\Newtonsoft.Json.dll - ..\packages\TrackableEntities.Client.2.5.0\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll + ..\packages\TrackableEntities.Client.2.5.2\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Portable/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Portable/packages.config index 0719a696..d8c3bbe3 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Portable/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Client.Portable/packages.config @@ -1,7 +1,7 @@  - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Service.Net45/Entities.Service.Net45.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Service.Net45/Entities.Service.Net45.vstemplate index 5c3c9611..5be1aebb 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Service.Net45/Entities.Service.Net45.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Service.Net45/Entities.Service.Net45.vstemplate @@ -46,10 +46,10 @@ - + - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Service.Net45/TrackableService.Entities.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Service.Net45/TrackableService.Entities.csproj index 929fd599..5187c757 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Service.Net45/TrackableService.Entities.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Service.Net45/TrackableService.Entities.csproj @@ -33,11 +33,11 @@ False - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll False - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll False @@ -54,11 +54,11 @@ False - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll False - ..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + ..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Service.Net45/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Service.Net45/packages.config index b41ceb73..b8bd56e7 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Service.Net45/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Service.Net45/packages.config @@ -1,8 +1,8 @@  - + - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Net45/CodeTemplates/EFModelFromDatabase/Context.cs.t4 b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Net45/CodeTemplates/EFModelFromDatabase/Context.cs.t4 index 911d89c6..f0c34024 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Net45/CodeTemplates/EFModelFromDatabase/Context.cs.t4 +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Net45/CodeTemplates/EFModelFromDatabase/Context.cs.t4 @@ -56,7 +56,7 @@ namespace <#= Namespace #> foreach (var entitySet in Model.ConceptualModel.Container.EntitySets) { #> - public virtual DbSet<<#= code.Type(entitySet.ElementType) #>> <#= code.Property(entitySet) #> { get; set; } + public DbSet<<#= code.Type(entitySet.ElementType) #>> <#= code.Property(entitySet) #> { get; set; } <# } #> diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Net45/Entities.Shared.Net45.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Net45/Entities.Shared.Net45.vstemplate index ef334d5e..8d253865 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Net45/Entities.Shared.Net45.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Net45/Entities.Shared.Net45.vstemplate @@ -46,10 +46,11 @@ - + + - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Net45/TrackableShared.Entities.Net45.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Net45/TrackableShared.Entities.Net45.csproj index 973f147f..4320e67a 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Net45/TrackableShared.Entities.Net45.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Net45/TrackableShared.Entities.Net45.csproj @@ -32,10 +32,10 @@ - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll ..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll @@ -50,15 +50,15 @@ - ..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll True - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll False - ..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + ..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Net45/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Net45/packages.config index d1d00bf1..891823f7 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Net45/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Net45/packages.config @@ -1,9 +1,9 @@  - + - + - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Portable/Entities.Shared.Portable.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Portable/Entities.Shared.Portable.vstemplate index 93692838..7e105882 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Portable/Entities.Shared.Portable.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Portable/Entities.Shared.Portable.vstemplate @@ -41,9 +41,9 @@ - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Portable/TrackableEntities.Shared.Entities.Portable.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Portable/TrackableEntities.Shared.Entities.Portable.csproj index 97220aca..adb0cc9c 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Portable/TrackableEntities.Shared.Entities.Portable.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Portable/TrackableEntities.Shared.Entities.Portable.csproj @@ -42,10 +42,10 @@ ..\packages\Newtonsoft.Json.6.0.8\lib\portable-net45+wp80+win8+wpa81+aspnetcore50\Newtonsoft.Json.dll - ..\packages\TrackableEntities.Client.2.5.0\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll + ..\packages\TrackableEntities.Client.2.5.2\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Portable/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Portable/packages.config index cf7127d4..2770f210 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Portable/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/Entities.Shared.Portable/packages.config @@ -1,7 +1,7 @@  - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/TrackableEntities.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/TrackableEntities.vstemplate index d538b474..08e4cb1d 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/TrackableEntities.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableEntities/TrackableEntities.vstemplate @@ -1,7 +1,7 @@ Trackable Entities Class Library - Class library with templates for reverse engineering trackable entitites. Created by Tony Sneed. For more information visit http://trackable.codeplex.com. + Class library with templates for reverse engineering trackable entitites. CSharp Trackable 1000 diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/ConsoleClient/ConsoleClient.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/ConsoleClient/ConsoleClient.csproj index 50ce62e4..13553e3c 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/ConsoleClient/ConsoleClient.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/ConsoleClient/ConsoleClient.csproj @@ -50,11 +50,11 @@ False - ..\..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll False - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/ConsoleClient/ConsoleClient.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/ConsoleClient/ConsoleClient.vstemplate index e423488a..c9f5e7e1 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/ConsoleClient/ConsoleClient.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/ConsoleClient/ConsoleClient.vstemplate @@ -33,10 +33,9 @@ - - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/ConsoleClient/IExampleService.cs b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/ConsoleClient/IExampleService.cs index 9772a396..5fed77f9 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/ConsoleClient/IExampleService.cs +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/ConsoleClient/IExampleService.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.ServiceModel; using System.Threading.Tasks; -//using $saferootprojectname$.$cliententitiestemplate$; +//using $saferootprojectname$.Entities.Models; // Use this example as a guide for copying the service contract from Service.Core // after adding a Trackable WCF Service Type. diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/ConsoleClient/Program.cs b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/ConsoleClient/Program.cs index c6495867..333fe58f 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/ConsoleClient/Program.cs +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/ConsoleClient/Program.cs @@ -3,7 +3,7 @@ using System.Linq; using System.ServiceModel; using TrackableEntities.Client; -//using $saferootprojectname$.$cliententitiestemplate$; +//using $saferootprojectname$.Entities.Models; // This is an example which retrieves customers and orders from the Northwind // sample database. You should alter the code based on your own database schema. diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/ConsoleClient/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/ConsoleClient/packages.config index 748a0574..7e617e90 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/ConsoleClient/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/ConsoleClient/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Net45/Entities.Client.Net45.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Net45/Entities.Client.Net45.vstemplate index e6d3775c..e2d7c335 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Net45/Entities.Client.Net45.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Net45/Entities.Client.Net45.vstemplate @@ -43,9 +43,9 @@ - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Net45/TrackableEntities.ClientTemplate.Net45.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Net45/TrackableEntities.ClientTemplate.Net45.csproj index 3f563271..a1d800d9 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Net45/TrackableEntities.ClientTemplate.Net45.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Net45/TrackableEntities.ClientTemplate.Net45.csproj @@ -7,7 +7,7 @@ {953B79E1-B6B4-4E15-B32D-AB6A28D2510E} Library Properties - $safeprojectname$ + $saferootprojectname$.Entities $safeprojectname$ v4.5 512 @@ -47,11 +47,11 @@ False - ..\..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll False - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Net45/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Net45/packages.config index 034be10b..53457749 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Net45/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Net45/packages.config @@ -1,7 +1,7 @@  - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Portable/Entities.Client.Portable.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Portable/Entities.Client.Portable.vstemplate index a70773e2..b18662ec 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Portable/Entities.Client.Portable.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Portable/Entities.Client.Portable.vstemplate @@ -43,9 +43,9 @@ - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Portable/TrackableEntities.ClientTemplate.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Portable/TrackableEntities.ClientTemplate.csproj index 23231a07..bfd07bdc 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Portable/TrackableEntities.ClientTemplate.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Portable/TrackableEntities.ClientTemplate.csproj @@ -8,7 +8,7 @@ {462735A3-0231-4A26-B64D-278DC2DBCDA9} Library Properties - $safeprojectname$ + $saferootprojectname$.Entities $safeprojectname$ v4.5 Profile259 @@ -51,10 +51,10 @@ ..\..\packages\Newtonsoft.Json.6.0.8\lib\portable-net45+wp80+win8+wpa81+aspnetcore50\Newtonsoft.Json.dll - ..\..\packages\TrackableEntities.Client.2.5.0\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll + ..\..\packages\TrackableEntities.Client.2.5.2\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Portable/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Portable/packages.config index 0719a696..d8c3bbe3 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Portable/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Client.Portable/packages.config @@ -1,7 +1,7 @@  - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/CodeTemplates/EFModelFromDatabase/Context.cs.t4 b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/CodeTemplates/EFModelFromDatabase/Context.cs.t4 index f0c34024..911d89c6 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/CodeTemplates/EFModelFromDatabase/Context.cs.t4 +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/CodeTemplates/EFModelFromDatabase/Context.cs.t4 @@ -56,7 +56,7 @@ namespace <#= Namespace #> foreach (var entitySet in Model.ConceptualModel.Container.EntitySets) { #> - public DbSet<<#= code.Type(entitySet.ElementType) #>> <#= code.Property(entitySet) #> { get; set; } + public virtual DbSet<<#= code.Type(entitySet.ElementType) #>> <#= code.Property(entitySet) #> { get; set; } <# } #> diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/CodeTemplates/EFModelFromDatabase/EntityType.cs.t4 b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/CodeTemplates/EFModelFromDatabase/EntityType.cs.t4 index 9eaf6a35..0153b28e 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/CodeTemplates/EFModelFromDatabase/EntityType.cs.t4 +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/CodeTemplates/EFModelFromDatabase/EntityType.cs.t4 @@ -31,7 +31,7 @@ namespace <#= Namespace #> using System.Data.Entity.Spatial; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; - using TrackableEntities; + using TrackableEntities.Client; <# var typeConfigurations = edm.GetConfigurations(EntitySet, Model).OfType(); @@ -43,7 +43,7 @@ namespace <#= Namespace #> <# } #> - public partial class <#= code.Type(entityType) #> : ITrackable, IMergeable + public partial class <#= code.Type(entityType) #> : EntityBase { <# var collectionProperties = from p in entityType.NavigationProperties @@ -59,7 +59,7 @@ namespace <#= Namespace #> foreach (var collectionProperty in collectionProperties) { #> - <#= code.Property(collectionProperty) #> = new List<<#= code.Type(collectionProperty.ToEndMember.GetEntityType()) #>>(); + <#= code.Property(collectionProperty) #> = new ChangeTrackingCollection<<#= code.Type(collectionProperty.ToEndMember.GetEntityType()) #>>(); <# } #> @@ -90,11 +90,21 @@ namespace <#= Namespace #> <# } #> - public <#= code.Type(property) #> <#= code.Property(property) #> { get; set; } + public <#= code.Type(property) #> <#= code.Property(property) #> + { + get { return _<#= code.Property(property) #>; } + set + { + if (Equals(value, _<#= code.Property(property) #>)) return; + _<#= code.Property(property) #> = value; + NotifyPropertyChanged(); + } + } + private <#= code.Type(property) #> _<#= code.Property(property) #>; <# } - foreach (var navigationProperty in entityType.NavigationProperties) + foreach (var navProperty in entityType.NavigationProperties) { if (!first) { @@ -105,19 +115,43 @@ namespace <#= Namespace #> first = false; } + if (navProperty.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many) + { #> - public <#= code.Type(navigationProperty) #> <#= code.Property(navigationProperty) #> { get; set; } + public ChangeTrackingCollection<<#= code.Type(navProperty.ToEndMember.GetEntityType()) #>> <#= code.Property(navProperty) #> + { + get { return _<#= code.Property(navProperty) #>; } + set + { + if (Equals(value, _<#= code.Property(navProperty) #>)) return; + _<#= code.Property(navProperty) #> = value; + NotifyPropertyChanged(); + } + } + private ChangeTrackingCollection<<#= code.Type(navProperty.ToEndMember.GetEntityType()) #>> _<#= code.Property(navProperty) #>; <# - } + } + else + { #> - [NotMapped] - public TrackingState TrackingState { get; set; } - - [NotMapped] - public ICollection ModifiedProperties { get; set; } - - [NotMapped] - public Guid EntityIdentifier { get; set; } + public <#= code.Type(navProperty.ToEndMember.GetEntityType()) #> <#= code.Property(navProperty) #> + { + get { return _<#= code.Property(navProperty) #>; } + set + { + if (Equals(value, _<#= code.Property(navProperty) #>)) return; + _<#= code.Property(navProperty) #> = value; + <#= code.Property(navProperty) #>ChangeTracker = _<#= code.Property(navProperty) #> == null ? null + : new ChangeTrackingCollection<<#= code.Type(navProperty.ToEndMember.GetEntityType()) #>> { _<#= code.Property(navProperty) #> }; + NotifyPropertyChanged(); + } + } + private <#= code.Type(navProperty.ToEndMember.GetEntityType()) #> _<#= code.Property(navProperty) #>; + private ChangeTrackingCollection<<#= code.Type(navProperty.ToEndMember.GetEntityType()) #>> <#= code.Property(navProperty) #>ChangeTracker { get; set; } +<# + } + } +#> } } diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/CodeTemplates/ReverseEngineerCodeFirst/Context.tt b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/CodeTemplates/ReverseEngineerCodeFirst/Context.tt index 463b468c..2b612d03 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/CodeTemplates/ReverseEngineerCodeFirst/Context.tt +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/CodeTemplates/ReverseEngineerCodeFirst/Context.tt @@ -27,7 +27,7 @@ namespace <#= code.EscapeNamespace(efHost.Namespace) #> foreach (var set in efHost.EntityContainer.BaseEntitySets.OfType()) { #> - public DbSet<<#= set.ElementType.Name #>> <#= set.Name #> { get; set; } + public virtual DbSet<<#= set.ElementType.Name #>> <#= set.Name #> { get; set; } <# } #> diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/CodeTemplates/ReverseEngineerCodeFirst/Entity.tt b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/CodeTemplates/ReverseEngineerCodeFirst/Entity.tt index a634a610..c2e1a77d 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/CodeTemplates/ReverseEngineerCodeFirst/Entity.tt +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/CodeTemplates/ReverseEngineerCodeFirst/Entity.tt @@ -1,38 +1,38 @@ -<#@ template hostspecific="true" language="C#" #> -<#@ include file="EF.Utility.CS.ttinclude" #><#@ - output extension=".cs" #><# +<#@ template debug="true" hostSpecific="true" #> +<#@ output extension=".cs" #> +<#@ include file="EF.Utility.CS.ttinclude" #><# var efHost = (EfTextTemplateHost)Host; var code = new CodeGenerationTools(this); + var collectionNavigations = efHost.EntityType.NavigationProperties.Where( + np => np.DeclaringType == efHost.EntityType + && np.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many); #> using System; using System.Collections.Generic; -using TrackableEntities; +using TrackableEntities.Client; namespace <#= code.EscapeNamespace(efHost.Namespace) #> { - public partial class <#= efHost.EntityType.Name #> : ITrackable, IMergeable + public partial class <#= efHost.EntityType.Name #> : EntityBase { <# - var collectionNavigations = efHost.EntityType.NavigationProperties.Where( - np => np.DeclaringType == efHost.EntityType - && np.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many); // Add a ctor to initialize any collections if (collectionNavigations.Any()) { #> - public <#= code.Escape(efHost.EntityType) #>() - { + public <#= code.Escape(efHost.EntityType) #>() + { <# foreach (var navProperty in collectionNavigations) { #> - this.<#= code.Escape(navProperty) #> = new List<<#= code.Escape(navProperty.ToEndMember.GetEntityType()) #>>(); + this.<#= code.Escape(navProperty) #> = new ChangeTrackingCollection<<#= code.Escape(navProperty.ToEndMember.GetEntityType()) #>>(); <# } #> - } + } <# } @@ -50,7 +50,18 @@ namespace <#= code.EscapeNamespace(efHost.Namespace) #> "System.Data.Entity.Spatial."); } #> - <#= Accessibility.ForProperty(property) #> <#= typeUsage #> <#= code.Escape(property) #> { get; set; } + <#= Accessibility.ForProperty(property) #> <#= typeUsage #> <#= code.Escape(property) #> + { + get { return _<#= code.Escape(property) #>; } + set + { + if (Equals(value, _<#= code.Escape(property) #>)) return; + _<#= code.Escape(property) #> = value; + NotifyPropertyChanged(); + } + } + private <#= typeUsage #> _<#= code.Escape(property) #>; + <# } @@ -59,20 +70,45 @@ namespace <#= code.EscapeNamespace(efHost.Namespace) #> if (navProperty.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many) { #> - public List<<#= code.Escape(navProperty.ToEndMember.GetEntityType()) #>> <#= code.Escape(navProperty) #> { get; set; } + public ChangeTrackingCollection<<#= code.Escape(navProperty.ToEndMember.GetEntityType()) #>> <#= code.Escape(navProperty) #> + { + get { return _<#= code.Escape(navProperty) #>; } + set + { +<# if (navProperty.FromEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many) + { #> + if (value != null) value.Parent = this; +<# } #> + if (Equals(value, _<#= code.Escape(navProperty) #>)) return; + _<#= code.Escape(navProperty) #> = value; + NotifyPropertyChanged(); + } + } + private ChangeTrackingCollection<<#= code.Escape(navProperty.ToEndMember.GetEntityType()) #>> _<#= code.Escape(navProperty) #>; + <# } else { #> - public <#= code.Escape(navProperty.ToEndMember.GetEntityType()) #> <#= code.Escape(navProperty) #> { get; set; } + public <#= code.Escape(navProperty.ToEndMember.GetEntityType()) #> <#= code.Escape(navProperty) #> + { + get { return _<#= code.Escape(navProperty) #>; } + set + { + if (Equals(value, _<#= code.Escape(navProperty) #>)) return; + _<#= code.Escape(navProperty) #> = value; + <#= code.Escape(navProperty.ToEndMember.GetEntityType()) #>ChangeTracker = _<#= code.Escape(navProperty) #> == null ? null + : new ChangeTrackingCollection<<#= code.Escape(navProperty.ToEndMember.GetEntityType()) #>> { _<#= code.Escape(navProperty) #> }; + NotifyPropertyChanged(); + } + } + private <#= code.Escape(navProperty.ToEndMember.GetEntityType()) #> _<#= code.Escape(navProperty) #>; + private ChangeTrackingCollection<<#= code.Escape(navProperty.ToEndMember.GetEntityType()) #>> <#= code.Escape(navProperty.ToEndMember.GetEntityType()) #>ChangeTracker { get; set; } + <# } } #> - - public TrackingState TrackingState { get; set; } - public ICollection ModifiedProperties { get; set; } - public Guid EntityIdentifier { get; set; } - } + } } diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/Entities.Service.Net45.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/Entities.Service.Net45.vstemplate index 5c3c9611..d3880953 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/Entities.Service.Net45.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/Entities.Service.Net45.vstemplate @@ -46,10 +46,11 @@ - - - - + + + + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/TrackableService.Entities.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/TrackableService.Entities.csproj index 26933e18..85ffcbcf 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/TrackableService.Entities.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/TrackableService.Entities.csproj @@ -7,7 +7,7 @@ {8556C7C8-72A6-4857-BAFD-489E42A2A453} Library Properties - $safeprojectname$ + $saferootprojectname$.Entities $safeprojectname$ v4.5.1 512 @@ -33,11 +33,11 @@ False - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll False - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll False @@ -52,13 +52,17 @@ + + ..\..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll + True + False - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll False - ..\..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + ..\..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/packages.config index b41ceb73..4a11e116 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Service.Net45/packages.config @@ -1,8 +1,9 @@  - + - - - + + + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Net45/CodeTemplates/EFModelFromDatabase/Context.cs.t4 b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Net45/CodeTemplates/EFModelFromDatabase/Context.cs.t4 index 911d89c6..f0c34024 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Net45/CodeTemplates/EFModelFromDatabase/Context.cs.t4 +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Net45/CodeTemplates/EFModelFromDatabase/Context.cs.t4 @@ -56,7 +56,7 @@ namespace <#= Namespace #> foreach (var entitySet in Model.ConceptualModel.Container.EntitySets) { #> - public virtual DbSet<<#= code.Type(entitySet.ElementType) #>> <#= code.Property(entitySet) #> { get; set; } + public DbSet<<#= code.Type(entitySet.ElementType) #>> <#= code.Property(entitySet) #> { get; set; } <# } #> diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Net45/Entities.Shared.Net45.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Net45/Entities.Shared.Net45.vstemplate index ef334d5e..8d253865 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Net45/Entities.Shared.Net45.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Net45/Entities.Shared.Net45.vstemplate @@ -46,10 +46,11 @@ - + + - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Net45/TrackableShared.Entities.Net45.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Net45/TrackableShared.Entities.Net45.csproj index 5891eae8..5a8bde30 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Net45/TrackableShared.Entities.Net45.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Net45/TrackableShared.Entities.Net45.csproj @@ -32,10 +32,10 @@ - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll ..\..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll @@ -50,15 +50,15 @@ - ..\..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll True - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll False - ..\..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + ..\..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Net45/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Net45/packages.config index d1d00bf1..4a11e116 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Net45/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Net45/packages.config @@ -1,9 +1,9 @@  - - - - - - + + + + + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable.Data/Entities.Shared.Portable.Data.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable.Data/Entities.Shared.Portable.Data.vstemplate index 62f19729..9e75852e 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable.Data/Entities.Shared.Portable.Data.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable.Data/Entities.Shared.Portable.Data.vstemplate @@ -36,10 +36,10 @@ - + - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable.Data/TrackableEntities.Shared.Entities.Portable.Data.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable.Data/TrackableEntities.Shared.Entities.Portable.Data.csproj index 154e1c29..491c8902 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable.Data/TrackableEntities.Shared.Entities.Portable.Data.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable.Data/TrackableEntities.Shared.Entities.Portable.Data.csproj @@ -32,10 +32,10 @@ - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll True @@ -51,10 +51,10 @@ - ..\..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable.Data/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable.Data/packages.config index 84b6ba4c..cdbf4e9e 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable.Data/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable.Data/packages.config @@ -1,7 +1,7 @@  - + - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable/Entities.Shared.Portable.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable/Entities.Shared.Portable.vstemplate index 93692838..7e105882 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable/Entities.Shared.Portable.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable/Entities.Shared.Portable.vstemplate @@ -41,9 +41,9 @@ - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable/TrackableEntities.Shared.Entities.Portable.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable/TrackableEntities.Shared.Entities.Portable.csproj index dabe04d4..745ebac3 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable/TrackableEntities.Shared.Entities.Portable.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable/TrackableEntities.Shared.Entities.Portable.csproj @@ -42,10 +42,10 @@ ..\..\packages\Newtonsoft.Json.6.0.8\lib\portable-net45+wp80+win8+wpa81+aspnetcore50\Newtonsoft.Json.dll - ..\..\packages\TrackableEntities.Client.2.5.0\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll + ..\..\packages\TrackableEntities.Client.2.5.2\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable/packages.config index cf7127d4..2770f210 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Entities.Shared.Portable/packages.config @@ -1,7 +1,7 @@  - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Core/Service.Core.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Core/Service.Core.csproj index 6560ef51..69b3d1cd 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Core/Service.Core.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Core/Service.Core.csproj @@ -34,11 +34,11 @@ False - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll False - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll False @@ -55,15 +55,15 @@ False - ..\..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll False - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll False - ..\..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + ..\..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll ..\..\packages\WcfSerializationHelper.1.0.0\lib\net45\WcfSerializationHelper.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Core/Service.Core.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Core/Service.Core.vstemplate index 4cbdcd87..e065e238 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Core/Service.Core.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Core/Service.Core.vstemplate @@ -32,10 +32,10 @@ - - - - + + + + diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Core/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Core/packages.config index 2774e939..676ffc55 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Core/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Core/packages.config @@ -1,9 +1,9 @@  - + - - - + + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Web/Service.Web.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Web/Service.Web.csproj index e9ac742f..86cf1ea1 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Web/Service.Web.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Web/Service.Web.csproj @@ -42,11 +42,11 @@ False - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll False - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Web/Service.Web.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Web/Service.Web.vstemplate index 87875077..6cfaf336 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Web/Service.Web.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Web/Service.Web.vstemplate @@ -36,7 +36,7 @@ - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Web/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Web/packages.config index de1e4869..ee3d4153 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Web/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/Service.Web/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/TrackableWcfService.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/TrackableWcfService.vstemplate index 28760e22..a22a818a 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/TrackableWcfService.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWcfService/TrackableWcfService.vstemplate @@ -1,7 +1,7 @@ Trackable WCF Service Application - Solution containing WCF service, web host, trackable entities and client projects. Created by Tony Sneed. For more information visit http://trackable.codeplex.com. + Solution containing WCF service, web host, trackable entities and client projects. CSharp Trackable 1000 diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/ConsoleClient/ConsoleClient.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/ConsoleClient/ConsoleClient.csproj index 14bbfd0b..1d45575a 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/ConsoleClient/ConsoleClient.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/ConsoleClient/ConsoleClient.csproj @@ -53,11 +53,11 @@ False - ..\..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll False - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/ConsoleClient/ConsoleClient.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/ConsoleClient/ConsoleClient.vstemplate index fca05513..eb26ad08 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/ConsoleClient/ConsoleClient.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/ConsoleClient/ConsoleClient.vstemplate @@ -34,8 +34,8 @@ repositoryId="TrackableEntities.VS2013..ce1f4a31-3d64-4a4a-a8d4-f84a44a753e7"> - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/ConsoleClient/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/ConsoleClient/packages.config index 937697e8..7b984de1 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/ConsoleClient/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/ConsoleClient/packages.config @@ -2,6 +2,6 @@ - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Net45/Entities.Client.Net45.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Net45/Entities.Client.Net45.vstemplate index e6d3775c..e2d7c335 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Net45/Entities.Client.Net45.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Net45/Entities.Client.Net45.vstemplate @@ -43,9 +43,9 @@ - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Net45/TrackableEntities.ClientTemplate.Net45.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Net45/TrackableEntities.ClientTemplate.Net45.csproj index 3f563271..cd3de7ce 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Net45/TrackableEntities.ClientTemplate.Net45.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Net45/TrackableEntities.ClientTemplate.Net45.csproj @@ -47,11 +47,11 @@ False - ..\..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll False - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Net45/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Net45/packages.config index 034be10b..53457749 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Net45/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Net45/packages.config @@ -1,7 +1,7 @@  - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Portable/Entities.Client.Portable.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Portable/Entities.Client.Portable.vstemplate index a70773e2..b18662ec 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Portable/Entities.Client.Portable.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Portable/Entities.Client.Portable.vstemplate @@ -43,9 +43,9 @@ - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Portable/TrackableEntities.ClientTemplate.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Portable/TrackableEntities.ClientTemplate.csproj index 23231a07..99a255d6 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Portable/TrackableEntities.ClientTemplate.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Portable/TrackableEntities.ClientTemplate.csproj @@ -51,10 +51,10 @@ ..\..\packages\Newtonsoft.Json.6.0.8\lib\portable-net45+wp80+win8+wpa81+aspnetcore50\Newtonsoft.Json.dll - ..\..\packages\TrackableEntities.Client.2.5.0\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll + ..\..\packages\TrackableEntities.Client.2.5.2\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Portable/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Portable/packages.config index 0719a696..d8c3bbe3 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Portable/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Client.Portable/packages.config @@ -1,7 +1,7 @@  - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Service.Net45/Entities.Service.Net45.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Service.Net45/Entities.Service.Net45.vstemplate index 5c3c9611..5be1aebb 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Service.Net45/Entities.Service.Net45.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Service.Net45/Entities.Service.Net45.vstemplate @@ -46,10 +46,10 @@ - + - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Service.Net45/TrackableService.Entities.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Service.Net45/TrackableService.Entities.csproj index 26933e18..f453dbf0 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Service.Net45/TrackableService.Entities.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Service.Net45/TrackableService.Entities.csproj @@ -33,11 +33,11 @@ False - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll False - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll False @@ -54,11 +54,11 @@ False - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll False - ..\..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + ..\..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Service.Net45/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Service.Net45/packages.config index b41ceb73..b8bd56e7 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Service.Net45/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Service.Net45/packages.config @@ -1,8 +1,8 @@  - + - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Net45/CodeTemplates/EFModelFromDatabase/Context.cs.t4 b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Net45/CodeTemplates/EFModelFromDatabase/Context.cs.t4 index 911d89c6..f0c34024 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Net45/CodeTemplates/EFModelFromDatabase/Context.cs.t4 +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Net45/CodeTemplates/EFModelFromDatabase/Context.cs.t4 @@ -56,7 +56,7 @@ namespace <#= Namespace #> foreach (var entitySet in Model.ConceptualModel.Container.EntitySets) { #> - public virtual DbSet<<#= code.Type(entitySet.ElementType) #>> <#= code.Property(entitySet) #> { get; set; } + public DbSet<<#= code.Type(entitySet.ElementType) #>> <#= code.Property(entitySet) #> { get; set; } <# } #> diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Net45/Entities.Shared.Net45.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Net45/Entities.Shared.Net45.vstemplate index ef334d5e..f8cd8fe0 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Net45/Entities.Shared.Net45.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Net45/Entities.Shared.Net45.vstemplate @@ -46,10 +46,11 @@ - + - - + + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Net45/TrackableShared.Entities.Net45.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Net45/TrackableShared.Entities.Net45.csproj index 5891eae8..5a8bde30 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Net45/TrackableShared.Entities.Net45.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Net45/TrackableShared.Entities.Net45.csproj @@ -32,10 +32,10 @@ - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll ..\..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll @@ -50,15 +50,15 @@ - ..\..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll True - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll False - ..\..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + ..\..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Net45/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Net45/packages.config index d1d00bf1..891823f7 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Net45/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Net45/packages.config @@ -1,9 +1,9 @@  - + - + - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable.Data/Entities.Shared.Portable.Data.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable.Data/Entities.Shared.Portable.Data.vstemplate index 62f19729..9e75852e 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable.Data/Entities.Shared.Portable.Data.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable.Data/Entities.Shared.Portable.Data.vstemplate @@ -36,10 +36,10 @@ - + - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable.Data/TrackableEntities.Shared.Entities.Portable.Data.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable.Data/TrackableEntities.Shared.Entities.Portable.Data.csproj index 154e1c29..491c8902 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable.Data/TrackableEntities.Shared.Entities.Portable.Data.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable.Data/TrackableEntities.Shared.Entities.Portable.Data.csproj @@ -32,10 +32,10 @@ - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll True @@ -51,10 +51,10 @@ - ..\..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable.Data/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable.Data/packages.config index 84b6ba4c..cdbf4e9e 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable.Data/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable.Data/packages.config @@ -1,7 +1,7 @@  - + - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable/Entities.Shared.Portable.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable/Entities.Shared.Portable.vstemplate index 93692838..7e105882 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable/Entities.Shared.Portable.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable/Entities.Shared.Portable.vstemplate @@ -41,9 +41,9 @@ - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable/TrackableEntities.Shared.Entities.Portable.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable/TrackableEntities.Shared.Entities.Portable.csproj index dabe04d4..745ebac3 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable/TrackableEntities.Shared.Entities.Portable.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable/TrackableEntities.Shared.Entities.Portable.csproj @@ -42,10 +42,10 @@ ..\..\packages\Newtonsoft.Json.6.0.8\lib\portable-net45+wp80+win8+wpa81+aspnetcore50\Newtonsoft.Json.dll - ..\..\packages\TrackableEntities.Client.2.5.0\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll + ..\..\packages\TrackableEntities.Client.2.5.2\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable/packages.config index cf7127d4..2770f210 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/Entities.Shared.Portable/packages.config @@ -1,7 +1,7 @@  - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/TrackableWebApi.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/TrackableWebApi.vstemplate index 3179d347..3c31b79f 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/TrackableWebApi.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/TrackableWebApi.vstemplate @@ -1,7 +1,7 @@ Trackable Web API Application - Solution containing Web API, trackable entities and client projects, with templates for creating API Controllers that use trackable entities. Created by Tony Sneed. For more information visit http://trackable.codeplex.com. + Solution containing Web API, trackable entities and client projects, with templates for creating API Controllers that use trackable entities. CSharp Trackable 1000 diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/WebApi/WebApi.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/WebApi/WebApi.csproj index 34533192..289af5ff 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/WebApi/WebApi.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/WebApi/WebApi.csproj @@ -48,10 +48,10 @@ ..\..\packages\AspNetWebApi2Helpers.Serialization.1.0.0\lib\portable-net45+win+wpa81+wp80\AspnetWebApi2Helpers.Serialization.dll - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll @@ -123,15 +123,15 @@ False - ..\..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll False - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll False - ..\..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + ..\..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll False diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/WebApi/WebApi.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/WebApi/WebApi.vstemplate index c803ec34..c838e3bd 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/WebApi/WebApi.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/WebApi/WebApi.vstemplate @@ -244,7 +244,7 @@ - + @@ -261,9 +261,9 @@ - - - + + + diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/WebApi/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/WebApi/packages.config index a34631fa..8a30166b 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/WebApi/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApi/WebApi/packages.config @@ -3,7 +3,7 @@ - + @@ -20,9 +20,9 @@ - - - + + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/ConsoleClient/ConsoleClient.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/ConsoleClient/ConsoleClient.csproj index 1a95fc46..a093aea2 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/ConsoleClient/ConsoleClient.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/ConsoleClient/ConsoleClient.csproj @@ -53,11 +53,11 @@ False - ..\..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll False - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/ConsoleClient/ConsoleClient.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/ConsoleClient/ConsoleClient.vstemplate index fca05513..eb26ad08 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/ConsoleClient/ConsoleClient.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/ConsoleClient/ConsoleClient.vstemplate @@ -34,8 +34,8 @@ repositoryId="TrackableEntities.VS2013..ce1f4a31-3d64-4a4a-a8d4-f84a44a753e7"> - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/ConsoleClient/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/ConsoleClient/packages.config index 937697e8..7b984de1 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/ConsoleClient/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/ConsoleClient/packages.config @@ -2,6 +2,6 @@ - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Net45/Entities.Client.Net45.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Net45/Entities.Client.Net45.vstemplate index e6d3775c..e2d7c335 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Net45/Entities.Client.Net45.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Net45/Entities.Client.Net45.vstemplate @@ -43,9 +43,9 @@ - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Net45/TrackableEntities.ClientTemplate.Net45.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Net45/TrackableEntities.ClientTemplate.Net45.csproj index 3f563271..cd3de7ce 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Net45/TrackableEntities.ClientTemplate.Net45.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Net45/TrackableEntities.ClientTemplate.Net45.csproj @@ -47,11 +47,11 @@ False - ..\..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll False - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Net45/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Net45/packages.config index 034be10b..53457749 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Net45/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Net45/packages.config @@ -1,7 +1,7 @@  - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Portable/Entities.Client.Portable.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Portable/Entities.Client.Portable.vstemplate index a70773e2..b18662ec 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Portable/Entities.Client.Portable.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Portable/Entities.Client.Portable.vstemplate @@ -43,9 +43,9 @@ - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Portable/TrackableEntities.ClientTemplate.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Portable/TrackableEntities.ClientTemplate.csproj index 23231a07..99a255d6 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Portable/TrackableEntities.ClientTemplate.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Portable/TrackableEntities.ClientTemplate.csproj @@ -51,10 +51,10 @@ ..\..\packages\Newtonsoft.Json.6.0.8\lib\portable-net45+wp80+win8+wpa81+aspnetcore50\Newtonsoft.Json.dll - ..\..\packages\TrackableEntities.Client.2.5.0\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll + ..\..\packages\TrackableEntities.Client.2.5.2\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Portable/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Portable/packages.config index 0719a696..d8c3bbe3 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Portable/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Client.Portable/packages.config @@ -1,7 +1,7 @@  - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Service.Net45/Entities.Service.Net45.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Service.Net45/Entities.Service.Net45.vstemplate index 5c3c9611..5be1aebb 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Service.Net45/Entities.Service.Net45.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Service.Net45/Entities.Service.Net45.vstemplate @@ -46,10 +46,10 @@ - + - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Service.Net45/TrackableService.Entities.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Service.Net45/TrackableService.Entities.csproj index 26933e18..f453dbf0 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Service.Net45/TrackableService.Entities.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Service.Net45/TrackableService.Entities.csproj @@ -33,11 +33,11 @@ False - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll False - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll False @@ -54,11 +54,11 @@ False - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll False - ..\..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + ..\..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Service.Net45/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Service.Net45/packages.config index b41ceb73..b8bd56e7 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Service.Net45/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Service.Net45/packages.config @@ -1,8 +1,8 @@  - + - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Net45/CodeTemplates/EFModelFromDatabase/Context.cs.t4 b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Net45/CodeTemplates/EFModelFromDatabase/Context.cs.t4 index 911d89c6..f0c34024 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Net45/CodeTemplates/EFModelFromDatabase/Context.cs.t4 +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Net45/CodeTemplates/EFModelFromDatabase/Context.cs.t4 @@ -56,7 +56,7 @@ namespace <#= Namespace #> foreach (var entitySet in Model.ConceptualModel.Container.EntitySets) { #> - public virtual DbSet<<#= code.Type(entitySet.ElementType) #>> <#= code.Property(entitySet) #> { get; set; } + public DbSet<<#= code.Type(entitySet.ElementType) #>> <#= code.Property(entitySet) #> { get; set; } <# } #> diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Net45/Entities.Shared.Net45.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Net45/Entities.Shared.Net45.vstemplate index ef334d5e..f8cd8fe0 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Net45/Entities.Shared.Net45.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Net45/Entities.Shared.Net45.vstemplate @@ -46,10 +46,11 @@ - + - - + + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Net45/TrackableShared.Entities.Net45.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Net45/TrackableShared.Entities.Net45.csproj index 5891eae8..5a8bde30 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Net45/TrackableShared.Entities.Net45.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Net45/TrackableShared.Entities.Net45.csproj @@ -32,10 +32,10 @@ - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll ..\..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll @@ -50,15 +50,15 @@ - ..\..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll True - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll False - ..\..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + ..\..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Net45/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Net45/packages.config index d1d00bf1..891823f7 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Net45/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Net45/packages.config @@ -1,9 +1,9 @@  - + - + - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable.Data/Entities.Shared.Portable.Data.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable.Data/Entities.Shared.Portable.Data.vstemplate index 62f19729..9e75852e 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable.Data/Entities.Shared.Portable.Data.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable.Data/Entities.Shared.Portable.Data.vstemplate @@ -36,10 +36,10 @@ - + - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable.Data/TrackableEntities.Shared.Entities.Portable.Data.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable.Data/TrackableEntities.Shared.Entities.Portable.Data.csproj index 154e1c29..491c8902 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable.Data/TrackableEntities.Shared.Entities.Portable.Data.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable.Data/TrackableEntities.Shared.Entities.Portable.Data.csproj @@ -32,10 +32,10 @@ - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll True @@ -51,10 +51,10 @@ - ..\..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable.Data/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable.Data/packages.config index 84b6ba4c..cdbf4e9e 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable.Data/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable.Data/packages.config @@ -1,7 +1,7 @@  - + - - + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable/Entities.Shared.Portable.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable/Entities.Shared.Portable.vstemplate index 93692838..7e105882 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable/Entities.Shared.Portable.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable/Entities.Shared.Portable.vstemplate @@ -41,9 +41,9 @@ - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable/TrackableEntities.Shared.Entities.Portable.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable/TrackableEntities.Shared.Entities.Portable.csproj index dabe04d4..745ebac3 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable/TrackableEntities.Shared.Entities.Portable.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable/TrackableEntities.Shared.Entities.Portable.csproj @@ -42,10 +42,10 @@ ..\..\packages\Newtonsoft.Json.6.0.8\lib\portable-net45+wp80+win8+wpa81+aspnetcore50\Newtonsoft.Json.dll - ..\..\packages\TrackableEntities.Client.2.5.0\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll + ..\..\packages\TrackableEntities.Client.2.5.2\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable/packages.config index cf7127d4..2770f210 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Entities.Shared.Portable/packages.config @@ -1,7 +1,7 @@  - + - + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.EF/Service.EF.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.EF/Service.EF.csproj index 4a6fc54e..38f27387 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.EF/Service.EF.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.EF/Service.EF.csproj @@ -33,11 +33,11 @@ False - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll False - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll False @@ -53,21 +53,21 @@ False - ..\..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll - ..\..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + ..\..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll False - ..\..\packages\TrackableEntities.Patterns.2.5.0\lib\net45\TrackableEntities.Patterns.dll + ..\..\packages\TrackableEntities.Patterns.2.5.2\lib\net45\TrackableEntities.Patterns.dll False - ..\..\packages\TrackableEntities.Patterns.EF.6.2.5.0\lib\net45\TrackableEntities.Patterns.EF.6.dll + ..\..\packages\TrackableEntities.Patterns.EF.6.2.5.2\lib\net45\TrackableEntities.Patterns.EF.6.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.EF/Service.EF.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.EF/Service.EF.vstemplate index 548d503b..cfc5fc1a 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.EF/Service.EF.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.EF/Service.EF.vstemplate @@ -38,12 +38,12 @@ - - - - - - + + + + + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.EF/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.EF/packages.config index 43910cac..5f515e3d 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.EF/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.EF/packages.config @@ -1,10 +1,10 @@  - + - - - - - + + + + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.Persistence/Service.Persistence.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.Persistence/Service.Persistence.csproj index 9204bebd..aa3150d1 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.Persistence/Service.Persistence.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.Persistence/Service.Persistence.csproj @@ -40,14 +40,14 @@ False - ..\..\packages\TrackableEntities.Client.2.5.0\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll + ..\..\packages\TrackableEntities.Client.2.5.2\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll False - ..\..\packages\TrackableEntities.Patterns.2.5.0\lib\net45\TrackableEntities.Patterns.dll + ..\..\packages\TrackableEntities.Patterns.2.5.2\lib\net45\TrackableEntities.Patterns.dll False diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.Persistence/Service.Persistence.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.Persistence/Service.Persistence.vstemplate index 87bb7379..f57c07a2 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.Persistence/Service.Persistence.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.Persistence/Service.Persistence.vstemplate @@ -34,9 +34,9 @@ - - - + + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.Persistence/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.Persistence/packages.config index 006209d0..244e966f 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.Persistence/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/Service.Persistence/packages.config @@ -1,7 +1,7 @@  - - - + + + \ No newline at end of file diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/TrackableWebApiPatterns.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/TrackableWebApiPatterns.vstemplate index c7dfd078..39360888 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/TrackableWebApiPatterns.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/TrackableWebApiPatterns.vstemplate @@ -1,7 +1,7 @@ Trackable Web API Application with Repository and Unit of Work - Solution containing Web API, trackable entities and client projects, using Repository and Unit of Work patterns with an IoC container. Created by Tony Sneed. For more information visit http://trackable.codeplex.com. + Solution containing Web API, trackable entities and client projects, using Repository and Unit of Work patterns with Dependency Injection. CSharp Trackable 1000 diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/WebApi/TinyIoC.cs b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/WebApi/TinyIoC.cs deleted file mode 100644 index d6d380a7..00000000 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/WebApi/TinyIoC.cs +++ /dev/null @@ -1,3688 +0,0 @@ -//=============================================================================== -// TinyIoC -// -// An easy to use, hassle free, Inversion of Control Container for small projects -// and beginners alike. -// -// https://github.com/grumpydev/TinyIoC -//=============================================================================== -// Copyright © Steven Robbins. All rights reserved. -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY -// OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT -// LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -// FITNESS FOR A PARTICULAR PURPOSE. -//=============================================================================== - -#region Preprocessor Directives -// Uncomment this line if you want the container to automatically -// register the TinyMessenger messenger/event aggregator -//#define TINYMESSENGER - -// Preprocessor directives for enabling/disabling functionality -// depending on platform features. If the platform has an appropriate -// #DEFINE then these should be set automatically below. -#define EXPRESSIONS // Platform supports System.Linq.Expressions -#define APPDOMAIN_GETASSEMBLIES // Platform supports getting all assemblies from the AppDomain object -#define UNBOUND_GENERICS_GETCONSTRUCTORS // Platform supports GetConstructors on unbound generic types -#define GETPARAMETERS_OPEN_GENERICS // Platform supports GetParameters on open generics -#define RESOLVE_OPEN_GENERICS // Platform supports resolving open generics - -//// NETFX_CORE -//#if NETFX_CORE -//#endif - -// CompactFramework / Windows Phone 7 -// By default does not support System.Linq.Expressions. -// AppDomain object does not support enumerating all assemblies in the app domain. -#if PocketPC || WINDOWS_PHONE -#undef EXPRESSIONS -#undef APPDOMAIN_GETASSEMBLIES -#undef UNBOUND_GENERICS_GETCONSTRUCTORS -#endif - -// PocketPC has a bizarre limitation on enumerating parameters on unbound generic methods. -// We need to use a slower workaround in that case. -#if PocketPC -#undef GETPARAMETERS_OPEN_GENERICS -#undef RESOLVE_OPEN_GENERICS -#endif - -#if SILVERLIGHT -#undef APPDOMAIN_GETASSEMBLIES -#endif - -#if NETFX_CORE -#undef APPDOMAIN_GETASSEMBLIES -#undef RESOLVE_OPEN_GENERICS -#endif - -#endregion -namespace TinyIoC -{ - using System; - using System.Collections.Generic; - using System.Linq; - using System.Reflection; - -#if EXPRESSIONS - using System.Linq.Expressions; -#endif - -#if NETFX_CORE - using System.Threading.Tasks; - using Windows.Storage.Search; - using Windows.Storage; - using Windows.UI.Xaml.Shapes; -#endif - - #region SafeDictionary - public class SafeDictionary : IDisposable - { - private readonly object _Padlock = new object(); - private readonly Dictionary _Dictionary = new Dictionary(); - - public TValue this[TKey key] - { - set - { - lock (_Padlock) - { - TValue current; - if (_Dictionary.TryGetValue(key, out current)) - { - var disposable = current as IDisposable; - - if (disposable != null) - disposable.Dispose(); - } - - _Dictionary[key] = value; - } - } - } - - public bool TryGetValue(TKey key, out TValue value) - { - lock (_Padlock) - { - return _Dictionary.TryGetValue(key, out value); - } - } - - public bool Remove(TKey key) - { - lock (_Padlock) - { - return _Dictionary.Remove(key); - } - } - - public void Clear() - { - lock (_Padlock) - { - _Dictionary.Clear(); - } - } - - public IEnumerable Keys - { - get - { - return _Dictionary.Keys; - } - } - #region IDisposable Members - - public void Dispose() - { - lock (_Padlock) - { - var disposableItems = from item in _Dictionary.Values - where item is IDisposable - select item as IDisposable; - - foreach (var item in disposableItems) - { - item.Dispose(); - } - } - - GC.SuppressFinalize(this); - } - - #endregion - } - #endregion - - #region Extensions - public static class AssemblyExtensions - { - public static Type[] SafeGetTypes(this Assembly assembly) - { - Type[] assemblies; - - try - { - assemblies = assembly.GetTypes(); - } - catch (System.IO.FileNotFoundException) - { - assemblies = new Type[] { }; - } - catch (NotSupportedException) - { - assemblies = new Type[] { }; - } -#if !NETFX_CORE - catch (ReflectionTypeLoadException e) - { - assemblies = e.Types.Where(t => t != null).ToArray(); - } -#endif - return assemblies; - } - } - - public static class TypeExtensions - { - private static SafeDictionary _genericMethodCache; - - static TypeExtensions() - { - _genericMethodCache = new SafeDictionary(); - } - -//#if NETFX_CORE -// /// -// /// Gets a generic method from a type given the method name, generic types and parameter types -// /// -// /// Source type -// /// Name of the method -// /// Generic types to use to make the method generic -// /// Method parameters -// /// MethodInfo or null if no matches found -// /// -// /// -// public static MethodInfo GetGenericMethod(this Type sourceType, string methodName, Type[] genericTypes, Type[] parameterTypes) -// { -// MethodInfo method; -// var cacheKey = new GenericMethodCacheKey(sourceType, methodName, genericTypes, parameterTypes); - -// // Shouldn't need any additional locking -// // we don't care if we do the method info generation -// // more than once before it gets cached. -// if (!_genericMethodCache.TryGetValue(cacheKey, out method)) -// { -// method = GetMethod(sourceType, methodName, genericTypes, parameterTypes); -// _genericMethodCache[cacheKey] = method; -// } - -// return method; -// } -//#else - /// - /// Gets a generic method from a type given the method name, binding flags, generic types and parameter types - /// - /// Source type - /// Binding flags - /// Name of the method - /// Generic types to use to make the method generic - /// Method parameters - /// MethodInfo or null if no matches found - /// - /// - public static MethodInfo GetGenericMethod(this Type sourceType, BindingFlags bindingFlags, string methodName, Type[] genericTypes, Type[] parameterTypes) - { - MethodInfo method; - var cacheKey = new GenericMethodCacheKey(sourceType, methodName, genericTypes, parameterTypes); - - // Shouldn't need any additional locking - // we don't care if we do the method info generation - // more than once before it gets cached. - if (!_genericMethodCache.TryGetValue(cacheKey, out method)) - { - method = GetMethod(sourceType, bindingFlags, methodName, genericTypes, parameterTypes); - _genericMethodCache[cacheKey] = method; - } - - return method; - } -//#endif - -#if NETFX_CORE - private static MethodInfo GetMethod(Type sourceType, BindingFlags flags, string methodName, Type[] genericTypes, Type[] parameterTypes) - { - var methods = - sourceType.GetMethods(flags).Where( - mi => string.Equals(methodName, mi.Name, StringComparison.Ordinal)).Where( - mi => mi.ContainsGenericParameters).Where(mi => mi.GetGenericArguments().Length == genericTypes.Length). - Where(mi => mi.GetParameters().Length == parameterTypes.Length).Select( - mi => mi.MakeGenericMethod(genericTypes)).Where( - mi => mi.GetParameters().Select(pi => pi.ParameterType).SequenceEqual(parameterTypes)).ToList(); - - if (methods.Count > 1) - { - throw new AmbiguousMatchException(); - } - - return methods.FirstOrDefault(); - } -#else - private static MethodInfo GetMethod(Type sourceType, BindingFlags bindingFlags, string methodName, Type[] genericTypes, Type[] parameterTypes) - { -#if GETPARAMETERS_OPEN_GENERICS - var methods = - sourceType.GetMethods(bindingFlags).Where( - mi => string.Equals(methodName, mi.Name, StringComparison.Ordinal)).Where( - mi => mi.ContainsGenericParameters).Where(mi => mi.GetGenericArguments().Length == genericTypes.Length). - Where(mi => mi.GetParameters().Length == parameterTypes.Length).Select( - mi => mi.MakeGenericMethod(genericTypes)).Where( - mi => mi.GetParameters().Select(pi => pi.ParameterType).SequenceEqual(parameterTypes)).ToList(); -#else - var validMethods = from method in sourceType.GetMethods(bindingFlags) - where method.Name == methodName - where method.IsGenericMethod - where method.GetGenericArguments().Length == genericTypes.Length - let genericMethod = method.MakeGenericMethod(genericTypes) - where genericMethod.GetParameters().Count() == parameterTypes.Length - where genericMethod.GetParameters().Select(pi => pi.ParameterType).SequenceEqual(parameterTypes) - select genericMethod; - - var methods = validMethods.ToList(); -#endif - if (methods.Count > 1) - { - throw new AmbiguousMatchException(); - } - - return methods.FirstOrDefault(); - } -#endif - - private sealed class GenericMethodCacheKey - { - private readonly Type _sourceType; - - private readonly string _methodName; - - private readonly Type[] _genericTypes; - - private readonly Type[] _parameterTypes; - - private readonly int _hashCode; - - public GenericMethodCacheKey(Type sourceType, string methodName, Type[] genericTypes, Type[] parameterTypes) - { - _sourceType = sourceType; - _methodName = methodName; - _genericTypes = genericTypes; - _parameterTypes = parameterTypes; - _hashCode = GenerateHashCode(); - } - - public override bool Equals(object obj) - { - var cacheKey = obj as GenericMethodCacheKey; - if (cacheKey == null) - return false; - - if (_sourceType != cacheKey._sourceType) - return false; - - if (!String.Equals(_methodName, cacheKey._methodName, StringComparison.Ordinal)) - return false; - - if (_genericTypes.Length != cacheKey._genericTypes.Length) - return false; - - if (_parameterTypes.Length != cacheKey._parameterTypes.Length) - return false; - - for (int i = 0; i < _genericTypes.Length; ++i) - { - if (_genericTypes[i] != cacheKey._genericTypes[i]) - return false; - } - - for (int i = 0; i < _parameterTypes.Length; ++i) - { - if (_parameterTypes[i] != cacheKey._parameterTypes[i]) - return false; - } - - return true; - } - - public override int GetHashCode() - { - return _hashCode; - } - - private int GenerateHashCode() - { - unchecked - { - var result = _sourceType.GetHashCode(); - - result = (result * 397) ^ _methodName.GetHashCode(); - - for (int i = 0; i < _genericTypes.Length; ++i) - { - result = (result * 397) ^ _genericTypes[i].GetHashCode(); - } - - for (int i = 0; i < _parameterTypes.Length; ++i) - { - result = (result * 397) ^ _parameterTypes[i].GetHashCode(); - } - - return result; - } - } - } - - } - - // @mbrit - 2012-05-22 - shim for ForEach call on List... -#if NETFX_CORE - internal static class ListExtender - { - internal static void ForEach(this List list, Action callback) - { - foreach (T obj in list) - callback(obj); - } - } -#endif - - #endregion - - #region TinyIoC Exception Types - public class TinyIoCResolutionException : Exception - { - private const string ERROR_TEXT = "Unable to resolve type: {0}"; - - public TinyIoCResolutionException(Type type) - : base(String.Format(ERROR_TEXT, type.FullName)) - { - } - - public TinyIoCResolutionException(Type type, Exception innerException) - : base(String.Format(ERROR_TEXT, type.FullName), innerException) - { - } - } - - public class TinyIoCRegistrationTypeException : Exception - { - private const string REGISTER_ERROR_TEXT = "Cannot register type {0} - abstract classes or interfaces are not valid implementation types for {1}."; - - public TinyIoCRegistrationTypeException(Type type, string factory) - : base(String.Format(REGISTER_ERROR_TEXT, type.FullName, factory)) - { - } - - public TinyIoCRegistrationTypeException(Type type, string factory, Exception innerException) - : base(String.Format(REGISTER_ERROR_TEXT, type.FullName, factory), innerException) - { - } - } - - public class TinyIoCRegistrationException : Exception - { - private const string CONVERT_ERROR_TEXT = "Cannot convert current registration of {0} to {1}"; - private const string GENERIC_CONSTRAINT_ERROR_TEXT = "Type {1} is not valid for a registration of type {0}"; - - public TinyIoCRegistrationException(Type type, string method) - : base(String.Format(CONVERT_ERROR_TEXT, type.FullName, method)) - { - } - - public TinyIoCRegistrationException(Type type, string method, Exception innerException) - : base(String.Format(CONVERT_ERROR_TEXT, type.FullName, method), innerException) - { - } - - public TinyIoCRegistrationException(Type registerType, Type implementationType) - : base(String.Format(GENERIC_CONSTRAINT_ERROR_TEXT, registerType.FullName, implementationType.FullName)) - { - } - - public TinyIoCRegistrationException(Type registerType, Type implementationType, Exception innerException) - : base(String.Format(GENERIC_CONSTRAINT_ERROR_TEXT, registerType.FullName, implementationType.FullName), innerException) - { - } - } - - public class TinyIoCWeakReferenceException : Exception - { - private const string ERROR_TEXT = "Unable to instantiate {0} - referenced object has been reclaimed"; - - public TinyIoCWeakReferenceException(Type type) - : base(String.Format(ERROR_TEXT, type.FullName)) - { - } - - public TinyIoCWeakReferenceException(Type type, Exception innerException) - : base(String.Format(ERROR_TEXT, type.FullName), innerException) - { - } - } - - public class TinyIoCConstructorResolutionException : Exception - { - private const string ERROR_TEXT = "Unable to resolve constructor for {0} using provided Expression."; - - public TinyIoCConstructorResolutionException(Type type) - : base(String.Format(ERROR_TEXT, type.FullName)) - { - } - - public TinyIoCConstructorResolutionException(Type type, Exception innerException) - : base(String.Format(ERROR_TEXT, type.FullName), innerException) - { - } - - public TinyIoCConstructorResolutionException(string message, Exception innerException) - : base(message, innerException) - { - } - - public TinyIoCConstructorResolutionException(string message) - : base(message) - { - } - } - - public class TinyIoCAutoRegistrationException : Exception - { - private const string ERROR_TEXT = "Duplicate implementation of type {0} found ({1})."; - - public TinyIoCAutoRegistrationException(Type registerType, IEnumerable types) - : base(String.Format(ERROR_TEXT, registerType, GetTypesString(types))) - { - } - - public TinyIoCAutoRegistrationException(Type registerType, IEnumerable types, Exception innerException) - : base(String.Format(ERROR_TEXT, registerType, GetTypesString(types)), innerException) - { - } - - private static string GetTypesString(IEnumerable types) - { - var typeNames = from type in types - select type.FullName; - - return string.Join(",", typeNames.ToArray()); - } - } - #endregion - - #region Public Setup / Settings Classes - /// - /// Name/Value pairs for specifying "user" parameters when resolving - /// - public sealed class NamedParameterOverloads : Dictionary - { - public static NamedParameterOverloads FromIDictionary(IDictionary data) - { - return data as NamedParameterOverloads ?? new NamedParameterOverloads(data); - } - - public NamedParameterOverloads() - { - } - - public NamedParameterOverloads(IDictionary data) - : base(data) - { - } - - private static readonly NamedParameterOverloads _Default = new NamedParameterOverloads(); - - public static NamedParameterOverloads Default - { - get - { - return _Default; - } - } - } - - public enum UnregisteredResolutionActions - { - /// - /// Attempt to resolve type, even if the type isn't registered. - /// - /// Registered types/options will always take precedence. - /// - AttemptResolve, - - /// - /// Fail resolution if type not explicitly registered - /// - Fail, - - /// - /// Attempt to resolve unregistered type if requested type is generic - /// and no registration exists for the specific generic parameters used. - /// - /// Registered types/options will always take precedence. - /// - GenericsOnly - } - - public enum NamedResolutionFailureActions - { - AttemptUnnamedResolution, - Fail - } - - /// - /// Resolution settings - /// - public sealed class ResolveOptions - { - private static readonly ResolveOptions _Default = new ResolveOptions(); - private static readonly ResolveOptions _FailUnregisteredAndNameNotFound = new ResolveOptions() { NamedResolutionFailureAction = NamedResolutionFailureActions.Fail, UnregisteredResolutionAction = UnregisteredResolutionActions.Fail }; - private static readonly ResolveOptions _FailUnregisteredOnly = new ResolveOptions() { NamedResolutionFailureAction = NamedResolutionFailureActions.AttemptUnnamedResolution, UnregisteredResolutionAction = UnregisteredResolutionActions.Fail }; - private static readonly ResolveOptions _FailNameNotFoundOnly = new ResolveOptions() { NamedResolutionFailureAction = NamedResolutionFailureActions.Fail, UnregisteredResolutionAction = UnregisteredResolutionActions.AttemptResolve }; - - private UnregisteredResolutionActions _UnregisteredResolutionAction = UnregisteredResolutionActions.AttemptResolve; - public UnregisteredResolutionActions UnregisteredResolutionAction - { - get { return _UnregisteredResolutionAction; } - set { _UnregisteredResolutionAction = value; } - } - - private NamedResolutionFailureActions _NamedResolutionFailureAction = NamedResolutionFailureActions.Fail; - public NamedResolutionFailureActions NamedResolutionFailureAction - { - get { return _NamedResolutionFailureAction; } - set { _NamedResolutionFailureAction = value; } - } - - /// - /// Gets the default options (attempt resolution of unregistered types, fail on named resolution if name not found) - /// - public static ResolveOptions Default - { - get - { - return _Default; - } - } - - /// - /// Preconfigured option for attempting resolution of unregistered types and failing on named resolution if name not found - /// - public static ResolveOptions FailNameNotFoundOnly - { - get - { - return _FailNameNotFoundOnly; - } - } - - /// - /// Preconfigured option for failing on resolving unregistered types and on named resolution if name not found - /// - public static ResolveOptions FailUnregisteredAndNameNotFound - { - get - { - return _FailUnregisteredAndNameNotFound; - } - } - - /// - /// Preconfigured option for failing on resolving unregistered types, but attempting unnamed resolution if name not found - /// - public static ResolveOptions FailUnregisteredOnly - { - get - { - return _FailUnregisteredOnly; - } - } - } - #endregion - - public sealed partial class TinyIoCContainer : IDisposable - { - #region Fake NETFX_CORE Classes -#if NETFX_CORE - private sealed class MethodAccessException : Exception - { - } - - private sealed class AppDomain - { - public static AppDomain CurrentDomain { get; private set; } - - static AppDomain() - { - CurrentDomain = new AppDomain(); - } - - // @mbrit - 2012-05-30 - in WinRT, this should be done async... - public async Task> GetAssembliesAsync() - { - var folder = Windows.ApplicationModel.Package.Current.InstalledLocation; - - List assemblies = new List(); - - var files = await folder.GetFilesAsync(); - - foreach (StorageFile file in files) - { - if (file.FileType == ".dll" || file.FileType == ".exe") - { - AssemblyName name = new AssemblyName() { Name = System.IO.Path.GetFileNameWithoutExtension(file.Name) }; - try - { - var asm = Assembly.Load(name); - assemblies.Add(asm); - } - catch - { - // ignore exceptions here... - } - } - } - - return assemblies; - } - } -#endif - #endregion - - #region "Fluent" API - /// - /// Registration options for "fluent" API - /// - public sealed class RegisterOptions - { - private TinyIoCContainer _Container; - private TypeRegistration _Registration; - - public RegisterOptions(TinyIoCContainer container, TypeRegistration registration) - { - _Container = container; - _Registration = registration; - } - - /// - /// Make registration a singleton (single instance) if possible - /// - /// RegisterOptions - /// - public RegisterOptions AsSingleton() - { - var currentFactory = _Container.GetCurrentFactory(_Registration); - - if (currentFactory == null) - throw new TinyIoCRegistrationException(_Registration.Type, "singleton"); - - return _Container.AddUpdateRegistration(_Registration, currentFactory.SingletonVariant); - } - - /// - /// Make registration multi-instance if possible - /// - /// RegisterOptions - /// - public RegisterOptions AsMultiInstance() - { - var currentFactory = _Container.GetCurrentFactory(_Registration); - - if (currentFactory == null) - throw new TinyIoCRegistrationException(_Registration.Type, "multi-instance"); - - return _Container.AddUpdateRegistration(_Registration, currentFactory.MultiInstanceVariant); - } - - /// - /// Make registration hold a weak reference if possible - /// - /// RegisterOptions - /// - public RegisterOptions WithWeakReference() - { - var currentFactory = _Container.GetCurrentFactory(_Registration); - - if (currentFactory == null) - throw new TinyIoCRegistrationException(_Registration.Type, "weak reference"); - - return _Container.AddUpdateRegistration(_Registration, currentFactory.WeakReferenceVariant); - } - - /// - /// Make registration hold a strong reference if possible - /// - /// RegisterOptions - /// - public RegisterOptions WithStrongReference() - { - var currentFactory = _Container.GetCurrentFactory(_Registration); - - if (currentFactory == null) - throw new TinyIoCRegistrationException(_Registration.Type, "strong reference"); - - return _Container.AddUpdateRegistration(_Registration, currentFactory.StrongReferenceVariant); - } - -#if EXPRESSIONS - public RegisterOptions UsingConstructor(Expression> constructor) - { - var lambda = constructor as LambdaExpression; - if (lambda == null) - throw new TinyIoCConstructorResolutionException(typeof(RegisterType)); - - var newExpression = lambda.Body as NewExpression; - if (newExpression == null) - throw new TinyIoCConstructorResolutionException(typeof(RegisterType)); - - var constructorInfo = newExpression.Constructor; - if (constructorInfo == null) - throw new TinyIoCConstructorResolutionException(typeof(RegisterType)); - - var currentFactory = _Container.GetCurrentFactory(_Registration); - if (currentFactory == null) - throw new TinyIoCConstructorResolutionException(typeof(RegisterType)); - - currentFactory.SetConstructor(constructorInfo); - - return this; - } -#endif - /// - /// Switches to a custom lifetime manager factory if possible. - /// - /// Usually used for RegisterOptions "To*" extension methods such as the ASP.Net per-request one. - /// - /// RegisterOptions instance - /// Custom lifetime manager - /// Error string to display if switch fails - /// RegisterOptions - public static RegisterOptions ToCustomLifetimeManager(RegisterOptions instance, ITinyIoCObjectLifetimeProvider lifetimeProvider, string errorString) - { - if (instance == null) - throw new ArgumentNullException("instance", "instance is null."); - - if (lifetimeProvider == null) - throw new ArgumentNullException("lifetimeProvider", "lifetimeProvider is null."); - - if (String.IsNullOrEmpty(errorString)) - throw new ArgumentException("errorString is null or empty.", "errorString"); - - var currentFactory = instance._Container.GetCurrentFactory(instance._Registration); - - if (currentFactory == null) - throw new TinyIoCRegistrationException(instance._Registration.Type, errorString); - - return instance._Container.AddUpdateRegistration(instance._Registration, currentFactory.GetCustomObjectLifetimeVariant(lifetimeProvider, errorString)); - } - } - - /// - /// Registration options for "fluent" API when registering multiple implementations - /// - public sealed class MultiRegisterOptions - { - private IEnumerable _RegisterOptions; - - /// - /// Initializes a new instance of the MultiRegisterOptions class. - /// - /// Registration options - public MultiRegisterOptions(IEnumerable registerOptions) - { - _RegisterOptions = registerOptions; - } - - /// - /// Make registration a singleton (single instance) if possible - /// - /// RegisterOptions - /// - public MultiRegisterOptions AsSingleton() - { - _RegisterOptions = ExecuteOnAllRegisterOptions(ro => ro.AsSingleton()); - return this; - } - - /// - /// Make registration multi-instance if possible - /// - /// MultiRegisterOptions - /// - public MultiRegisterOptions AsMultiInstance() - { - _RegisterOptions = ExecuteOnAllRegisterOptions(ro => ro.AsMultiInstance()); - return this; - } - - private IEnumerable ExecuteOnAllRegisterOptions(Func action) - { - var newRegisterOptions = new List(); - - foreach (var registerOption in _RegisterOptions) - { - newRegisterOptions.Add(action(registerOption)); - } - - return newRegisterOptions; - } - } - #endregion - - #region Public API - #region Child Containers - public TinyIoCContainer GetChildContainer() - { - return new TinyIoCContainer(this); - } - #endregion - - #region Registration - /// - /// Attempt to automatically register all non-generic classes and interfaces in the current app domain. - /// - /// If more than one class implements an interface then only one implementation will be registered - /// although no error will be thrown. - /// - public void AutoRegister() - { -#if APPDOMAIN_GETASSEMBLIES - AutoRegisterInternal(AppDomain.CurrentDomain.GetAssemblies().Where(a => !IsIgnoredAssembly(a)), true, null); -#else - AutoRegisterInternal(new Assembly[] {this.GetType().Assembly()}, true, null); -#endif - } - - /// - /// Attempt to automatically register all non-generic classes and interfaces in the current app domain. - /// Types will only be registered if they pass the supplied registration predicate. - /// - /// If more than one class implements an interface then only one implementation will be registered - /// although no error will be thrown. - /// - /// Predicate to determine if a particular type should be registered - public void AutoRegister(Func registrationPredicate) - { -#if APPDOMAIN_GETASSEMBLIES - AutoRegisterInternal(AppDomain.CurrentDomain.GetAssemblies().Where(a => !IsIgnoredAssembly(a)), true, registrationPredicate); -#else - AutoRegisterInternal(new Assembly[] { this.GetType().Assembly()}, true, registrationPredicate); -#endif - } - - /// - /// Attempt to automatically register all non-generic classes and interfaces in the current app domain. - /// - /// Whether to ignore duplicate implementations of an interface/base class. False=throw an exception - /// - public void AutoRegister(bool ignoreDuplicateImplementations) - { -#if APPDOMAIN_GETASSEMBLIES - AutoRegisterInternal(AppDomain.CurrentDomain.GetAssemblies().Where(a => !IsIgnoredAssembly(a)), ignoreDuplicateImplementations, null); -#else - AutoRegisterInternal(new Assembly[] { this.GetType().Assembly() }, ignoreDuplicateImplementations, null); -#endif - } - - /// - /// Attempt to automatically register all non-generic classes and interfaces in the current app domain. - /// Types will only be registered if they pass the supplied registration predicate. - /// - /// Whether to ignore duplicate implementations of an interface/base class. False=throw an exception - /// Predicate to determine if a particular type should be registered - /// - public void AutoRegister(bool ignoreDuplicateImplementations, Func registrationPredicate) - { -#if APPDOMAIN_GETASSEMBLIES - AutoRegisterInternal(AppDomain.CurrentDomain.GetAssemblies().Where(a => !IsIgnoredAssembly(a)), ignoreDuplicateImplementations, registrationPredicate); -#else - AutoRegisterInternal(new Assembly[] { this.GetType().Assembly() }, ignoreDuplicateImplementations, registrationPredicate); -#endif - } - - /// - /// Attempt to automatically register all non-generic classes and interfaces in the specified assemblies - /// - /// If more than one class implements an interface then only one implementation will be registered - /// although no error will be thrown. - /// - /// Assemblies to process - public void AutoRegister(IEnumerable assemblies) - { - AutoRegisterInternal(assemblies, true, null); - } - - /// - /// Attempt to automatically register all non-generic classes and interfaces in the specified assemblies - /// Types will only be registered if they pass the supplied registration predicate. - /// - /// If more than one class implements an interface then only one implementation will be registered - /// although no error will be thrown. - /// - /// Assemblies to process - /// Predicate to determine if a particular type should be registered - public void AutoRegister(IEnumerable assemblies, Func registrationPredicate) - { - AutoRegisterInternal(assemblies, true, registrationPredicate); - } - - /// - /// Attempt to automatically register all non-generic classes and interfaces in the specified assemblies - /// - /// Assemblies to process - /// Whether to ignore duplicate implementations of an interface/base class. False=throw an exception - /// - public void AutoRegister(IEnumerable assemblies, bool ignoreDuplicateImplementations) - { - AutoRegisterInternal(assemblies, ignoreDuplicateImplementations, null); - } - - /// - /// Attempt to automatically register all non-generic classes and interfaces in the specified assemblies - /// Types will only be registered if they pass the supplied registration predicate. - /// - /// Assemblies to process - /// Whether to ignore duplicate implementations of an interface/base class. False=throw an exception - /// Predicate to determine if a particular type should be registered - /// - public void AutoRegister(IEnumerable assemblies, bool ignoreDuplicateImplementations, Func registrationPredicate) - { - AutoRegisterInternal(assemblies, ignoreDuplicateImplementations, registrationPredicate); - } - - /// - /// Creates/replaces a container class registration with default options. - /// - /// Type to register - /// RegisterOptions for fluent API - public RegisterOptions Register(Type registerType) - { - return RegisterInternal(registerType, string.Empty, GetDefaultObjectFactory(registerType, registerType)); - } - - /// - /// Creates/replaces a named container class registration with default options. - /// - /// Type to register - /// Name of registration - /// RegisterOptions for fluent API - public RegisterOptions Register(Type registerType, string name) - { - return RegisterInternal(registerType, name, GetDefaultObjectFactory(registerType, registerType)); - - } - - /// - /// Creates/replaces a container class registration with a given implementation and default options. - /// - /// Type to register - /// Type to instantiate that implements RegisterType - /// RegisterOptions for fluent API - public RegisterOptions Register(Type registerType, Type registerImplementation) - { - return this.RegisterInternal(registerType, string.Empty, GetDefaultObjectFactory(registerType, registerImplementation)); - } - - /// - /// Creates/replaces a named container class registration with a given implementation and default options. - /// - /// Type to register - /// Type to instantiate that implements RegisterType - /// Name of registration - /// RegisterOptions for fluent API - public RegisterOptions Register(Type registerType, Type registerImplementation, string name) - { - return this.RegisterInternal(registerType, name, GetDefaultObjectFactory(registerType, registerImplementation)); - } - - /// - /// Creates/replaces a container class registration with a specific, strong referenced, instance. - /// - /// Type to register - /// Instance of RegisterType to register - /// RegisterOptions for fluent API - public RegisterOptions Register(Type registerType, object instance) - { - return RegisterInternal(registerType, string.Empty, new InstanceFactory(registerType, registerType, instance)); - } - - /// - /// Creates/replaces a named container class registration with a specific, strong referenced, instance. - /// - /// Type to register - /// Instance of RegisterType to register - /// Name of registration - /// RegisterOptions for fluent API - public RegisterOptions Register(Type registerType, object instance, string name) - { - return RegisterInternal(registerType, name, new InstanceFactory(registerType, registerType, instance)); - } - - /// - /// Creates/replaces a container class registration with a specific, strong referenced, instance. - /// - /// Type to register - /// Type of instance to register that implements RegisterType - /// Instance of RegisterImplementation to register - /// RegisterOptions for fluent API - public RegisterOptions Register(Type registerType, Type registerImplementation, object instance) - { - return RegisterInternal(registerType, string.Empty, new InstanceFactory(registerType, registerImplementation, instance)); - } - - /// - /// Creates/replaces a named container class registration with a specific, strong referenced, instance. - /// - /// Type to register - /// Type of instance to register that implements RegisterType - /// Instance of RegisterImplementation to register - /// Name of registration - /// RegisterOptions for fluent API - public RegisterOptions Register(Type registerType, Type registerImplementation, object instance, string name) - { - return RegisterInternal(registerType, name, new InstanceFactory(registerType, registerImplementation, instance)); - } - - /// - /// Creates/replaces a container class registration with a user specified factory - /// - /// Type to register - /// Factory/lambda that returns an instance of RegisterType - /// RegisterOptions for fluent API - public RegisterOptions Register(Type registerType, Func factory) - { - return RegisterInternal(registerType, string.Empty, new DelegateFactory(registerType, factory)); - } - - /// - /// Creates/replaces a container class registration with a user specified factory - /// - /// Type to register - /// Factory/lambda that returns an instance of RegisterType - /// Name of registation - /// RegisterOptions for fluent API - public RegisterOptions Register(Type registerType, Func factory, string name) - { - return RegisterInternal(registerType, name, new DelegateFactory(registerType, factory)); - } - - /// - /// Creates/replaces a container class registration with default options. - /// - /// Type to register - /// RegisterOptions for fluent API - public RegisterOptions Register() - where RegisterType : class - { - return this.Register(typeof(RegisterType)); - } - - /// - /// Creates/replaces a named container class registration with default options. - /// - /// Type to register - /// Name of registration - /// RegisterOptions for fluent API - public RegisterOptions Register(string name) - where RegisterType : class - { - return this.Register(typeof(RegisterType), name); - } - - /// - /// Creates/replaces a container class registration with a given implementation and default options. - /// - /// Type to register - /// Type to instantiate that implements RegisterType - /// RegisterOptions for fluent API - public RegisterOptions Register() - where RegisterType : class - where RegisterImplementation : class, RegisterType - { - return this.Register(typeof(RegisterType), typeof(RegisterImplementation)); - } - - /// - /// Creates/replaces a named container class registration with a given implementation and default options. - /// - /// Type to register - /// Type to instantiate that implements RegisterType - /// Name of registration - /// RegisterOptions for fluent API - public RegisterOptions Register(string name) - where RegisterType : class - where RegisterImplementation : class, RegisterType - { - return this.Register(typeof(RegisterType), typeof(RegisterImplementation), name); - } - - /// - /// Creates/replaces a container class registration with a specific, strong referenced, instance. - /// - /// Type to register - /// Instance of RegisterType to register - /// RegisterOptions for fluent API - public RegisterOptions Register(RegisterType instance) - where RegisterType : class - { - return this.Register(typeof(RegisterType), instance); - } - - /// - /// Creates/replaces a named container class registration with a specific, strong referenced, instance. - /// - /// Type to register - /// Instance of RegisterType to register - /// Name of registration - /// RegisterOptions for fluent API - public RegisterOptions Register(RegisterType instance, string name) - where RegisterType : class - { - return this.Register(typeof(RegisterType), instance, name); - } - - /// - /// Creates/replaces a container class registration with a specific, strong referenced, instance. - /// - /// Type to register - /// Type of instance to register that implements RegisterType - /// Instance of RegisterImplementation to register - /// RegisterOptions for fluent API - public RegisterOptions Register(RegisterImplementation instance) - where RegisterType : class - where RegisterImplementation : class, RegisterType - { - return this.Register(typeof(RegisterType), typeof(RegisterImplementation), instance); - } - - /// - /// Creates/replaces a named container class registration with a specific, strong referenced, instance. - /// - /// Type to register - /// Type of instance to register that implements RegisterType - /// Instance of RegisterImplementation to register - /// Name of registration - /// RegisterOptions for fluent API - public RegisterOptions Register(RegisterImplementation instance, string name) - where RegisterType : class - where RegisterImplementation : class, RegisterType - { - return this.Register(typeof(RegisterType), typeof(RegisterImplementation), instance, name); - } - - /// - /// Creates/replaces a container class registration with a user specified factory - /// - /// Type to register - /// Factory/lambda that returns an instance of RegisterType - /// RegisterOptions for fluent API - public RegisterOptions Register(Func factory) - where RegisterType : class - { - if (factory == null) - { - throw new ArgumentNullException("factory"); - } - - return this.Register(typeof(RegisterType), (c, o) => factory(c, o)); - } - - /// - /// Creates/replaces a named container class registration with a user specified factory - /// - /// Type to register - /// Factory/lambda that returns an instance of RegisterType - /// Name of registation - /// RegisterOptions for fluent API - public RegisterOptions Register(Func factory, string name) - where RegisterType : class - { - if (factory == null) - { - throw new ArgumentNullException("factory"); - } - - return this.Register(typeof(RegisterType), (c, o) => factory(c, o), name); - } - - /// - /// Register multiple implementations of a type. - /// - /// Internally this registers each implementation using the full name of the class as its registration name. - /// - /// Type that each implementation implements - /// Types that implement RegisterType - /// MultiRegisterOptions for the fluent API - public MultiRegisterOptions RegisterMultiple(IEnumerable implementationTypes) - { - return RegisterMultiple(typeof(RegisterType), implementationTypes); - } - - /// - /// Register multiple implementations of a type. - /// - /// Internally this registers each implementation using the full name of the class as its registration name. - /// - /// Type that each implementation implements - /// Types that implement RegisterType - /// MultiRegisterOptions for the fluent API - public MultiRegisterOptions RegisterMultiple(Type registrationType, IEnumerable implementationTypes) - { - if (implementationTypes == null) - throw new ArgumentNullException("types", "types is null."); - - foreach (var type in implementationTypes) -//#if NETFX_CORE -// if (!registrationType.GetTypeInfo().IsAssignableFrom(type.GetTypeInfo())) -//#else - if (!registrationType.IsAssignableFrom(type)) -//#endif - throw new ArgumentException(String.Format("types: The type {0} is not assignable from {1}", registrationType.FullName, type.FullName)); - - if (implementationTypes.Count() != implementationTypes.Distinct().Count()) - throw new ArgumentException("types: The same implementation type cannot be specificed multiple times"); - - var registerOptions = new List(); - - foreach (var type in implementationTypes) - { - registerOptions.Add(Register(registrationType, type, type.FullName)); - } - - return new MultiRegisterOptions(registerOptions); - } - #endregion - - #region Resolution - /// - /// Attempts to resolve a type using default options. - /// - /// Type to resolve - /// Instance of type - /// Unable to resolve the type. - public object Resolve(Type resolveType) - { - return ResolveInternal(new TypeRegistration(resolveType), NamedParameterOverloads.Default, ResolveOptions.Default); - } - - /// - /// Attempts to resolve a type using specified options. - /// - /// Type to resolve - /// Resolution options - /// Instance of type - /// Unable to resolve the type. - public object Resolve(Type resolveType, ResolveOptions options) - { - return ResolveInternal(new TypeRegistration(resolveType), NamedParameterOverloads.Default, options); - } - - /// - /// Attempts to resolve a type using default options and the supplied name. - /// - /// Parameters are used in conjunction with normal container resolution to find the most suitable constructor (if one exists). - /// All user supplied parameters must exist in at least one resolvable constructor of RegisterType or resolution will fail. - /// - /// Type to resolve - /// Name of registration - /// Instance of type - /// Unable to resolve the type. - public object Resolve(Type resolveType, string name) - { - return ResolveInternal(new TypeRegistration(resolveType, name), NamedParameterOverloads.Default, ResolveOptions.Default); - } - - /// - /// Attempts to resolve a type using supplied options and name. - /// - /// Parameters are used in conjunction with normal container resolution to find the most suitable constructor (if one exists). - /// All user supplied parameters must exist in at least one resolvable constructor of RegisterType or resolution will fail. - /// - /// Type to resolve - /// Name of registration - /// Resolution options - /// Instance of type - /// Unable to resolve the type. - public object Resolve(Type resolveType, string name, ResolveOptions options) - { - return ResolveInternal(new TypeRegistration(resolveType, name), NamedParameterOverloads.Default, options); - } - - /// - /// Attempts to resolve a type using default options and the supplied constructor parameters. - /// - /// Parameters are used in conjunction with normal container resolution to find the most suitable constructor (if one exists). - /// All user supplied parameters must exist in at least one resolvable constructor of RegisterType or resolution will fail. - /// - /// Type to resolve - /// User specified constructor parameters - /// Instance of type - /// Unable to resolve the type. - public object Resolve(Type resolveType, NamedParameterOverloads parameters) - { - return ResolveInternal(new TypeRegistration(resolveType), parameters, ResolveOptions.Default); - } - - /// - /// Attempts to resolve a type using specified options and the supplied constructor parameters. - /// - /// Parameters are used in conjunction with normal container resolution to find the most suitable constructor (if one exists). - /// All user supplied parameters must exist in at least one resolvable constructor of RegisterType or resolution will fail. - /// - /// Type to resolve - /// User specified constructor parameters - /// Resolution options - /// Instance of type - /// Unable to resolve the type. - public object Resolve(Type resolveType, NamedParameterOverloads parameters, ResolveOptions options) - { - return ResolveInternal(new TypeRegistration(resolveType), parameters, options); - } - - /// - /// Attempts to resolve a type using default options and the supplied constructor parameters and name. - /// - /// Parameters are used in conjunction with normal container resolution to find the most suitable constructor (if one exists). - /// All user supplied parameters must exist in at least one resolvable constructor of RegisterType or resolution will fail. - /// - /// Type to resolve - /// User specified constructor parameters - /// Name of registration - /// Instance of type - /// Unable to resolve the type. - public object Resolve(Type resolveType, string name, NamedParameterOverloads parameters) - { - return ResolveInternal(new TypeRegistration(resolveType, name), parameters, ResolveOptions.Default); - } - - /// - /// Attempts to resolve a named type using specified options and the supplied constructor parameters. - /// - /// Parameters are used in conjunction with normal container resolution to find the most suitable constructor (if one exists). - /// All user supplied parameters must exist in at least one resolvable constructor of RegisterType or resolution will fail. - /// - /// Type to resolve - /// Name of registration - /// User specified constructor parameters - /// Resolution options - /// Instance of type - /// Unable to resolve the type. - public object Resolve(Type resolveType, string name, NamedParameterOverloads parameters, ResolveOptions options) - { - return ResolveInternal(new TypeRegistration(resolveType, name), parameters, options); - } - - /// - /// Attempts to resolve a type using default options. - /// - /// Type to resolve - /// Instance of type - /// Unable to resolve the type. - public ResolveType Resolve() - where ResolveType : class - { - return (ResolveType)Resolve(typeof(ResolveType)); - } - - /// - /// Attempts to resolve a type using specified options. - /// - /// Type to resolve - /// Resolution options - /// Instance of type - /// Unable to resolve the type. - public ResolveType Resolve(ResolveOptions options) - where ResolveType : class - { - return (ResolveType)Resolve(typeof(ResolveType), options); - } - - /// - /// Attempts to resolve a type using default options and the supplied name. - /// - /// Parameters are used in conjunction with normal container resolution to find the most suitable constructor (if one exists). - /// All user supplied parameters must exist in at least one resolvable constructor of RegisterType or resolution will fail. - /// - /// Type to resolve - /// Name of registration - /// Instance of type - /// Unable to resolve the type. - public ResolveType Resolve(string name) - where ResolveType : class - { - return (ResolveType)Resolve(typeof(ResolveType), name); - } - - /// - /// Attempts to resolve a type using supplied options and name. - /// - /// Parameters are used in conjunction with normal container resolution to find the most suitable constructor (if one exists). - /// All user supplied parameters must exist in at least one resolvable constructor of RegisterType or resolution will fail. - /// - /// Type to resolve - /// Name of registration - /// Resolution options - /// Instance of type - /// Unable to resolve the type. - public ResolveType Resolve(string name, ResolveOptions options) - where ResolveType : class - { - return (ResolveType)Resolve(typeof(ResolveType), name, options); - } - - /// - /// Attempts to resolve a type using default options and the supplied constructor parameters. - /// - /// Parameters are used in conjunction with normal container resolution to find the most suitable constructor (if one exists). - /// All user supplied parameters must exist in at least one resolvable constructor of RegisterType or resolution will fail. - /// - /// Type to resolve - /// User specified constructor parameters - /// Instance of type - /// Unable to resolve the type. - public ResolveType Resolve(NamedParameterOverloads parameters) - where ResolveType : class - { - return (ResolveType)Resolve(typeof(ResolveType), parameters); - } - - /// - /// Attempts to resolve a type using specified options and the supplied constructor parameters. - /// - /// Parameters are used in conjunction with normal container resolution to find the most suitable constructor (if one exists). - /// All user supplied parameters must exist in at least one resolvable constructor of RegisterType or resolution will fail. - /// - /// Type to resolve - /// User specified constructor parameters - /// Resolution options - /// Instance of type - /// Unable to resolve the type. - public ResolveType Resolve(NamedParameterOverloads parameters, ResolveOptions options) - where ResolveType : class - { - return (ResolveType)Resolve(typeof(ResolveType), parameters, options); - } - - /// - /// Attempts to resolve a type using default options and the supplied constructor parameters and name. - /// - /// Parameters are used in conjunction with normal container resolution to find the most suitable constructor (if one exists). - /// All user supplied parameters must exist in at least one resolvable constructor of RegisterType or resolution will fail. - /// - /// Type to resolve - /// User specified constructor parameters - /// Name of registration - /// Instance of type - /// Unable to resolve the type. - public ResolveType Resolve(string name, NamedParameterOverloads parameters) - where ResolveType : class - { - return (ResolveType)Resolve(typeof(ResolveType), name, parameters); - } - - /// - /// Attempts to resolve a named type using specified options and the supplied constructor parameters. - /// - /// Parameters are used in conjunction with normal container resolution to find the most suitable constructor (if one exists). - /// All user supplied parameters must exist in at least one resolvable constructor of RegisterType or resolution will fail. - /// - /// Type to resolve - /// Name of registration - /// User specified constructor parameters - /// Resolution options - /// Instance of type - /// Unable to resolve the type. - public ResolveType Resolve(string name, NamedParameterOverloads parameters, ResolveOptions options) - where ResolveType : class - { - return (ResolveType)Resolve(typeof(ResolveType), name, parameters, options); - } - - /// - /// Attempts to predict whether a given type can be resolved with default options. - /// - /// Note: Resolution may still fail if user defined factory registations fail to construct objects when called. - /// - /// Type to resolve - /// Name of registration - /// Bool indicating whether the type can be resolved - public bool CanResolve(Type resolveType) - { - return CanResolveInternal(new TypeRegistration(resolveType), NamedParameterOverloads.Default, ResolveOptions.Default); - } - - /// - /// Attempts to predict whether a given named type can be resolved with default options. - /// - /// Note: Resolution may still fail if user defined factory registations fail to construct objects when called. - /// - /// Type to resolve - /// Bool indicating whether the type can be resolved - private bool CanResolve(Type resolveType, string name) - { - return CanResolveInternal(new TypeRegistration(resolveType, name), NamedParameterOverloads.Default, ResolveOptions.Default); - } - - /// - /// Attempts to predict whether a given type can be resolved with the specified options. - /// - /// Note: Resolution may still fail if user defined factory registations fail to construct objects when called. - /// - /// Type to resolve - /// Name of registration - /// Resolution options - /// Bool indicating whether the type can be resolved - public bool CanResolve(Type resolveType, ResolveOptions options) - { - return CanResolveInternal(new TypeRegistration(resolveType), NamedParameterOverloads.Default, options); - } - - /// - /// Attempts to predict whether a given named type can be resolved with the specified options. - /// - /// Note: Resolution may still fail if user defined factory registations fail to construct objects when called. - /// - /// Type to resolve - /// Name of registration - /// Resolution options - /// Bool indicating whether the type can be resolved - public bool CanResolve(Type resolveType, string name, ResolveOptions options) - { - return CanResolveInternal(new TypeRegistration(resolveType, name), NamedParameterOverloads.Default, options); - } - - /// - /// Attempts to predict whether a given type can be resolved with the supplied constructor parameters and default options. - /// - /// Parameters are used in conjunction with normal container resolution to find the most suitable constructor (if one exists). - /// All user supplied parameters must exist in at least one resolvable constructor of RegisterType or resolution will fail. - /// - /// Note: Resolution may still fail if user defined factory registations fail to construct objects when called. - /// - /// Type to resolve - /// User supplied named parameter overloads - /// Bool indicating whether the type can be resolved - public bool CanResolve(Type resolveType, NamedParameterOverloads parameters) - { - return CanResolveInternal(new TypeRegistration(resolveType), parameters, ResolveOptions.Default); - } - - /// - /// Attempts to predict whether a given named type can be resolved with the supplied constructor parameters and default options. - /// - /// Parameters are used in conjunction with normal container resolution to find the most suitable constructor (if one exists). - /// All user supplied parameters must exist in at least one resolvable constructor of RegisterType or resolution will fail. - /// - /// Note: Resolution may still fail if user defined factory registations fail to construct objects when called. - /// - /// Type to resolve - /// Name of registration - /// User supplied named parameter overloads - /// Bool indicating whether the type can be resolved - public bool CanResolve(Type resolveType, string name, NamedParameterOverloads parameters) - { - return CanResolveInternal(new TypeRegistration(resolveType, name), parameters, ResolveOptions.Default); - } - - /// - /// Attempts to predict whether a given type can be resolved with the supplied constructor parameters options. - /// - /// Parameters are used in conjunction with normal container resolution to find the most suitable constructor (if one exists). - /// All user supplied parameters must exist in at least one resolvable constructor of RegisterType or resolution will fail. - /// - /// Note: Resolution may still fail if user defined factory registations fail to construct objects when called. - /// - /// Type to resolve - /// User supplied named parameter overloads - /// Resolution options - /// Bool indicating whether the type can be resolved - public bool CanResolve(Type resolveType, NamedParameterOverloads parameters, ResolveOptions options) - { - return CanResolveInternal(new TypeRegistration(resolveType), parameters, options); - } - - /// - /// Attempts to predict whether a given named type can be resolved with the supplied constructor parameters options. - /// - /// Parameters are used in conjunction with normal container resolution to find the most suitable constructor (if one exists). - /// All user supplied parameters must exist in at least one resolvable constructor of RegisterType or resolution will fail. - /// - /// Note: Resolution may still fail if user defined factory registations fail to construct objects when called. - /// - /// Type to resolve - /// Name of registration - /// User supplied named parameter overloads - /// Resolution options - /// Bool indicating whether the type can be resolved - public bool CanResolve(Type resolveType, string name, NamedParameterOverloads parameters, ResolveOptions options) - { - return CanResolveInternal(new TypeRegistration(resolveType, name), parameters, options); - } - - /// - /// Attempts to predict whether a given type can be resolved with default options. - /// - /// Note: Resolution may still fail if user defined factory registations fail to construct objects when called. - /// - /// Type to resolve - /// Name of registration - /// Bool indicating whether the type can be resolved - public bool CanResolve() - where ResolveType : class - { - return CanResolve(typeof(ResolveType)); - } - - /// - /// Attempts to predict whether a given named type can be resolved with default options. - /// - /// Note: Resolution may still fail if user defined factory registations fail to construct objects when called. - /// - /// Type to resolve - /// Bool indicating whether the type can be resolved - public bool CanResolve(string name) - where ResolveType : class - { - return CanResolve(typeof(ResolveType), name); - } - - /// - /// Attempts to predict whether a given type can be resolved with the specified options. - /// - /// Note: Resolution may still fail if user defined factory registations fail to construct objects when called. - /// - /// Type to resolve - /// Name of registration - /// Resolution options - /// Bool indicating whether the type can be resolved - public bool CanResolve(ResolveOptions options) - where ResolveType : class - { - return CanResolve(typeof(ResolveType), options); - } - - /// - /// Attempts to predict whether a given named type can be resolved with the specified options. - /// - /// Note: Resolution may still fail if user defined factory registations fail to construct objects when called. - /// - /// Type to resolve - /// Name of registration - /// Resolution options - /// Bool indicating whether the type can be resolved - public bool CanResolve(string name, ResolveOptions options) - where ResolveType : class - { - return CanResolve(typeof(ResolveType), name, options); - } - - /// - /// Attempts to predict whether a given type can be resolved with the supplied constructor parameters and default options. - /// - /// Parameters are used in conjunction with normal container resolution to find the most suitable constructor (if one exists). - /// All user supplied parameters must exist in at least one resolvable constructor of RegisterType or resolution will fail. - /// - /// Note: Resolution may still fail if user defined factory registations fail to construct objects when called. - /// - /// Type to resolve - /// User supplied named parameter overloads - /// Bool indicating whether the type can be resolved - public bool CanResolve(NamedParameterOverloads parameters) - where ResolveType : class - { - return CanResolve(typeof(ResolveType), parameters); - } - - /// - /// Attempts to predict whether a given named type can be resolved with the supplied constructor parameters and default options. - /// - /// Parameters are used in conjunction with normal container resolution to find the most suitable constructor (if one exists). - /// All user supplied parameters must exist in at least one resolvable constructor of RegisterType or resolution will fail. - /// - /// Note: Resolution may still fail if user defined factory registations fail to construct objects when called. - /// - /// Type to resolve - /// Name of registration - /// User supplied named parameter overloads - /// Bool indicating whether the type can be resolved - public bool CanResolve(string name, NamedParameterOverloads parameters) - where ResolveType : class - { - return CanResolve(typeof(ResolveType), name, parameters); - } - - /// - /// Attempts to predict whether a given type can be resolved with the supplied constructor parameters options. - /// - /// Parameters are used in conjunction with normal container resolution to find the most suitable constructor (if one exists). - /// All user supplied parameters must exist in at least one resolvable constructor of RegisterType or resolution will fail. - /// - /// Note: Resolution may still fail if user defined factory registations fail to construct objects when called. - /// - /// Type to resolve - /// User supplied named parameter overloads - /// Resolution options - /// Bool indicating whether the type can be resolved - public bool CanResolve(NamedParameterOverloads parameters, ResolveOptions options) - where ResolveType : class - { - return CanResolve(typeof(ResolveType), parameters, options); - } - - /// - /// Attempts to predict whether a given named type can be resolved with the supplied constructor parameters options. - /// - /// Parameters are used in conjunction with normal container resolution to find the most suitable constructor (if one exists). - /// All user supplied parameters must exist in at least one resolvable constructor of RegisterType or resolution will fail. - /// - /// Note: Resolution may still fail if user defined factory registations fail to construct objects when called. - /// - /// Type to resolve - /// Name of registration - /// User supplied named parameter overloads - /// Resolution options - /// Bool indicating whether the type can be resolved - public bool CanResolve(string name, NamedParameterOverloads parameters, ResolveOptions options) - where ResolveType : class - { - return CanResolve(typeof(ResolveType), name, parameters, options); - } - - /// - /// Attemps to resolve a type using the default options - /// - /// Type to resolve - /// Resolved type or default if resolve fails - /// True if resolved sucessfully, false otherwise - public bool TryResolve(Type resolveType, out object resolvedType) - { - try - { - resolvedType = Resolve(resolveType); - return true; - } - catch (TinyIoCResolutionException) - { - resolvedType = null; - return false; - } - } - - /// - /// Attemps to resolve a type using the given options - /// - /// Type to resolve - /// Resolution options - /// Resolved type or default if resolve fails - /// True if resolved sucessfully, false otherwise - public bool TryResolve(Type resolveType, ResolveOptions options, out object resolvedType) - { - try - { - resolvedType = Resolve(resolveType, options); - return true; - } - catch (TinyIoCResolutionException) - { - resolvedType = null; - return false; - } - } - - /// - /// Attemps to resolve a type using the default options and given name - /// - /// Type to resolve - /// Name of registration - /// Resolved type or default if resolve fails - /// True if resolved sucessfully, false otherwise - public bool TryResolve(Type resolveType, string name, out object resolvedType) - { - try - { - resolvedType = Resolve(resolveType, name); - return true; - } - catch (TinyIoCResolutionException) - { - resolvedType = null; - return false; - } - } - - /// - /// Attemps to resolve a type using the given options and name - /// - /// Type to resolve - /// Name of registration - /// Resolution options - /// Resolved type or default if resolve fails - /// True if resolved sucessfully, false otherwise - public bool TryResolve(Type resolveType, string name, ResolveOptions options, out object resolvedType) - { - try - { - resolvedType = Resolve(resolveType, name, options); - return true; - } - catch (TinyIoCResolutionException) - { - resolvedType = null; - return false; - } - } - - /// - /// Attemps to resolve a type using the default options and supplied constructor parameters - /// - /// Type to resolve - /// User specified constructor parameters - /// Resolved type or default if resolve fails - /// True if resolved sucessfully, false otherwise - public bool TryResolve(Type resolveType, NamedParameterOverloads parameters, out object resolvedType) - { - try - { - resolvedType = Resolve(resolveType, parameters); - return true; - } - catch (TinyIoCResolutionException) - { - resolvedType = null; - return false; - } - } - - /// - /// Attemps to resolve a type using the default options and supplied name and constructor parameters - /// - /// Type to resolve - /// Name of registration - /// User specified constructor parameters - /// Resolved type or default if resolve fails - /// True if resolved sucessfully, false otherwise - public bool TryResolve(Type resolveType, string name, NamedParameterOverloads parameters, out object resolvedType) - { - try - { - resolvedType = Resolve(resolveType, name, parameters); - return true; - } - catch (TinyIoCResolutionException) - { - resolvedType = null; - return false; - } - } - - /// - /// Attemps to resolve a type using the supplied options and constructor parameters - /// - /// Type to resolve - /// Name of registration - /// User specified constructor parameters - /// Resolution options - /// Resolved type or default if resolve fails - /// True if resolved sucessfully, false otherwise - public bool TryResolve(Type resolveType, NamedParameterOverloads parameters, ResolveOptions options, out object resolvedType) - { - try - { - resolvedType = Resolve(resolveType, parameters, options); - return true; - } - catch (TinyIoCResolutionException) - { - resolvedType = null; - return false; - } - } - - /// - /// Attemps to resolve a type using the supplied name, options and constructor parameters - /// - /// Type to resolve - /// Name of registration - /// User specified constructor parameters - /// Resolution options - /// Resolved type or default if resolve fails - /// True if resolved sucessfully, false otherwise - public bool TryResolve(Type resolveType, string name, NamedParameterOverloads parameters, ResolveOptions options, out object resolvedType) - { - try - { - resolvedType = Resolve(resolveType, name, parameters, options); - return true; - } - catch (TinyIoCResolutionException) - { - resolvedType = null; - return false; - } - } - - /// - /// Attemps to resolve a type using the default options - /// - /// Type to resolve - /// Resolved type or default if resolve fails - /// True if resolved sucessfully, false otherwise - public bool TryResolve(out ResolveType resolvedType) - where ResolveType : class - { - try - { - resolvedType = Resolve(); - return true; - } - catch (TinyIoCResolutionException) - { - resolvedType = default(ResolveType); - return false; - } - } - - /// - /// Attemps to resolve a type using the given options - /// - /// Type to resolve - /// Resolution options - /// Resolved type or default if resolve fails - /// True if resolved sucessfully, false otherwise - public bool TryResolve(ResolveOptions options, out ResolveType resolvedType) - where ResolveType : class - { - try - { - resolvedType = Resolve(options); - return true; - } - catch (TinyIoCResolutionException) - { - resolvedType = default(ResolveType); - return false; - } - } - - /// - /// Attemps to resolve a type using the default options and given name - /// - /// Type to resolve - /// Name of registration - /// Resolved type or default if resolve fails - /// True if resolved sucessfully, false otherwise - public bool TryResolve(string name, out ResolveType resolvedType) - where ResolveType : class - { - try - { - resolvedType = Resolve(name); - return true; - } - catch (TinyIoCResolutionException) - { - resolvedType = default(ResolveType); - return false; - } - } - - /// - /// Attemps to resolve a type using the given options and name - /// - /// Type to resolve - /// Name of registration - /// Resolution options - /// Resolved type or default if resolve fails - /// True if resolved sucessfully, false otherwise - public bool TryResolve(string name, ResolveOptions options, out ResolveType resolvedType) - where ResolveType : class - { - try - { - resolvedType = Resolve(name, options); - return true; - } - catch (TinyIoCResolutionException) - { - resolvedType = default(ResolveType); - return false; - } - } - - /// - /// Attemps to resolve a type using the default options and supplied constructor parameters - /// - /// Type to resolve - /// User specified constructor parameters - /// Resolved type or default if resolve fails - /// True if resolved sucessfully, false otherwise - public bool TryResolve(NamedParameterOverloads parameters, out ResolveType resolvedType) - where ResolveType : class - { - try - { - resolvedType = Resolve(parameters); - return true; - } - catch (TinyIoCResolutionException) - { - resolvedType = default(ResolveType); - return false; - } - } - - /// - /// Attemps to resolve a type using the default options and supplied name and constructor parameters - /// - /// Type to resolve - /// Name of registration - /// User specified constructor parameters - /// Resolved type or default if resolve fails - /// True if resolved sucessfully, false otherwise - public bool TryResolve(string name, NamedParameterOverloads parameters, out ResolveType resolvedType) - where ResolveType : class - { - try - { - resolvedType = Resolve(name, parameters); - return true; - } - catch (TinyIoCResolutionException) - { - resolvedType = default(ResolveType); - return false; - } - } - - /// - /// Attemps to resolve a type using the supplied options and constructor parameters - /// - /// Type to resolve - /// Name of registration - /// User specified constructor parameters - /// Resolution options - /// Resolved type or default if resolve fails - /// True if resolved sucessfully, false otherwise - public bool TryResolve(NamedParameterOverloads parameters, ResolveOptions options, out ResolveType resolvedType) - where ResolveType : class - { - try - { - resolvedType = Resolve(parameters, options); - return true; - } - catch (TinyIoCResolutionException) - { - resolvedType = default(ResolveType); - return false; - } - } - - /// - /// Attemps to resolve a type using the supplied name, options and constructor parameters - /// - /// Type to resolve - /// Name of registration - /// User specified constructor parameters - /// Resolution options - /// Resolved type or default if resolve fails - /// True if resolved sucessfully, false otherwise - public bool TryResolve(string name, NamedParameterOverloads parameters, ResolveOptions options, out ResolveType resolvedType) - where ResolveType : class - { - try - { - resolvedType = Resolve(name, parameters, options); - return true; - } - catch (TinyIoCResolutionException) - { - resolvedType = default(ResolveType); - return false; - } - } - - /// - /// Returns all registrations of a type - /// - /// Type to resolveAll - /// Whether to include un-named (default) registrations - /// IEnumerable - public IEnumerable ResolveAll(Type resolveType, bool includeUnnamed) - { - return ResolveAllInternal(resolveType, includeUnnamed); - } - - /// - /// Returns all registrations of a type, both named and unnamed - /// - /// Type to resolveAll - /// IEnumerable - public IEnumerable ResolveAll(Type resolveType) - { - return ResolveAll(resolveType, false); - } - - /// - /// Returns all registrations of a type - /// - /// Type to resolveAll - /// Whether to include un-named (default) registrations - /// IEnumerable - public IEnumerable ResolveAll(bool includeUnnamed) - where ResolveType : class - { - return this.ResolveAll(typeof(ResolveType), includeUnnamed).Cast(); - } - - /// - /// Returns all registrations of a type, both named and unnamed - /// - /// Type to resolveAll - /// Whether to include un-named (default) registrations - /// IEnumerable - public IEnumerable ResolveAll() - where ResolveType : class - { - return ResolveAll(true); - } - - /// - /// Attempts to resolve all public property dependencies on the given object. - /// - /// Object to "build up" - public void BuildUp(object input) - { - BuildUpInternal(input, ResolveOptions.Default); - } - - /// - /// Attempts to resolve all public property dependencies on the given object using the given resolve options. - /// - /// Object to "build up" - /// Resolve options to use - public void BuildUp(object input, ResolveOptions resolveOptions) - { - BuildUpInternal(input, resolveOptions); - } - #endregion - #endregion - - #region Object Factories - /// - /// Provides custom lifetime management for ASP.Net per-request lifetimes etc. - /// - public interface ITinyIoCObjectLifetimeProvider - { - /// - /// Gets the stored object if it exists, or null if not - /// - /// Object instance or null - object GetObject(); - - /// - /// Store the object - /// - /// Object to store - void SetObject(object value); - - /// - /// Release the object - /// - void ReleaseObject(); - } - - private abstract class ObjectFactoryBase - { - /// - /// Whether to assume this factory sucessfully constructs its objects - /// - /// Generally set to true for delegate style factories as CanResolve cannot delve - /// into the delegates they contain. - /// - public virtual bool AssumeConstruction { get { return false; } } - - /// - /// The type the factory instantiates - /// - public abstract Type CreatesType { get; } - - /// - /// Constructor to use, if specified - /// - public ConstructorInfo Constructor { get; protected set; } - - /// - /// Create the type - /// - /// Type user requested to be resolved - /// Container that requested the creation - /// Any user parameters passed - /// - /// - public abstract object GetObject(Type requestedType, TinyIoCContainer container, NamedParameterOverloads parameters, ResolveOptions options); - - public virtual ObjectFactoryBase SingletonVariant - { - get - { - throw new TinyIoCRegistrationException(this.GetType(), "singleton"); - } - } - - public virtual ObjectFactoryBase MultiInstanceVariant - { - get - { - throw new TinyIoCRegistrationException(this.GetType(), "multi-instance"); - } - } - - public virtual ObjectFactoryBase StrongReferenceVariant - { - get - { - throw new TinyIoCRegistrationException(this.GetType(), "strong reference"); - } - } - - public virtual ObjectFactoryBase WeakReferenceVariant - { - get - { - throw new TinyIoCRegistrationException(this.GetType(), "weak reference"); - } - } - - public virtual ObjectFactoryBase GetCustomObjectLifetimeVariant(ITinyIoCObjectLifetimeProvider lifetimeProvider, string errorString) - { - throw new TinyIoCRegistrationException(this.GetType(), errorString); - } - - public virtual void SetConstructor(ConstructorInfo constructor) - { - Constructor = constructor; - } - - public virtual ObjectFactoryBase GetFactoryForChildContainer(Type type, TinyIoCContainer parent, TinyIoCContainer child) - { - return this; - } - } - - /// - /// IObjectFactory that creates new instances of types for each resolution - /// - private class MultiInstanceFactory : ObjectFactoryBase - { - private readonly Type registerType; - private readonly Type registerImplementation; - public override Type CreatesType { get { return this.registerImplementation; } } - - public MultiInstanceFactory(Type registerType, Type registerImplementation) - { -//#if NETFX_CORE -// if (registerImplementation.GetTypeInfo().IsAbstract() || registerImplementation.GetTypeInfo().IsInterface()) -// throw new TinyIoCRegistrationTypeException(registerImplementation, "MultiInstanceFactory"); -//#else - if (registerImplementation.IsAbstract() || registerImplementation.IsInterface()) - throw new TinyIoCRegistrationTypeException(registerImplementation, "MultiInstanceFactory"); -//#endif - if (!IsValidAssignment(registerType, registerImplementation)) - throw new TinyIoCRegistrationTypeException(registerImplementation, "MultiInstanceFactory"); - - this.registerType = registerType; - this.registerImplementation = registerImplementation; - } - - public override object GetObject(Type requestedType, TinyIoCContainer container, NamedParameterOverloads parameters, ResolveOptions options) - { - try - { - return container.ConstructType(requestedType, this.registerImplementation, Constructor, parameters, options); - } - catch (TinyIoCResolutionException ex) - { - throw new TinyIoCResolutionException(this.registerType, ex); - } - } - - public override ObjectFactoryBase SingletonVariant - { - get - { - return new SingletonFactory(this.registerType, this.registerImplementation); - } - } - - public override ObjectFactoryBase GetCustomObjectLifetimeVariant(ITinyIoCObjectLifetimeProvider lifetimeProvider, string errorString) - { - return new CustomObjectLifetimeFactory(this.registerType, this.registerImplementation, lifetimeProvider, errorString); - } - - public override ObjectFactoryBase MultiInstanceVariant - { - get - { - return this; - } - } - } - - /// - /// IObjectFactory that invokes a specified delegate to construct the object - /// - private class DelegateFactory : ObjectFactoryBase - { - private readonly Type registerType; - - private Func _factory; - - public override bool AssumeConstruction { get { return true; } } - - public override Type CreatesType { get { return this.registerType; } } - - public override object GetObject(Type requestedType, TinyIoCContainer container, NamedParameterOverloads parameters, ResolveOptions options) - { - try - { - return _factory.Invoke(container, parameters); - } - catch (Exception ex) - { - throw new TinyIoCResolutionException(this.registerType, ex); - } - } - - public DelegateFactory( Type registerType, Func factory) - { - if (factory == null) - throw new ArgumentNullException("factory"); - - _factory = factory; - - this.registerType = registerType; - } - - public override ObjectFactoryBase WeakReferenceVariant - { - get - { - return new WeakDelegateFactory(this.registerType, _factory); - } - } - - public override ObjectFactoryBase StrongReferenceVariant - { - get - { - return this; - } - } - - public override void SetConstructor(ConstructorInfo constructor) - { - throw new TinyIoCConstructorResolutionException("Constructor selection is not possible for delegate factory registrations"); - } - } - - /// - /// IObjectFactory that invokes a specified delegate to construct the object - /// Holds the delegate using a weak reference - /// - private class WeakDelegateFactory : ObjectFactoryBase - { - private readonly Type registerType; - - private WeakReference _factory; - - public override bool AssumeConstruction { get { return true; } } - - public override Type CreatesType { get { return this.registerType; } } - - public override object GetObject(Type requestedType, TinyIoCContainer container, NamedParameterOverloads parameters, ResolveOptions options) - { - var factory = _factory.Target as Func; - - if (factory == null) - throw new TinyIoCWeakReferenceException(this.registerType); - - try - { - return factory.Invoke(container, parameters); - } - catch (Exception ex) - { - throw new TinyIoCResolutionException(this.registerType, ex); - } - } - - public WeakDelegateFactory(Type registerType, Func factory) - { - if (factory == null) - throw new ArgumentNullException("factory"); - - _factory = new WeakReference(factory); - - this.registerType = registerType; - } - - public override ObjectFactoryBase StrongReferenceVariant - { - get - { - var factory = _factory.Target as Func; - - if (factory == null) - throw new TinyIoCWeakReferenceException(this.registerType); - - return new DelegateFactory(this.registerType, factory); - } - } - - public override ObjectFactoryBase WeakReferenceVariant - { - get - { - return this; - } - } - - public override void SetConstructor(ConstructorInfo constructor) - { - throw new TinyIoCConstructorResolutionException("Constructor selection is not possible for delegate factory registrations"); - } - } - - /// - /// Stores an particular instance to return for a type - /// - private class InstanceFactory : ObjectFactoryBase, IDisposable - { - private readonly Type registerType; - private readonly Type registerImplementation; - private object _instance; - - public override bool AssumeConstruction { get { return true; } } - - public InstanceFactory(Type registerType, Type registerImplementation, object instance) - { - if (!IsValidAssignment(registerType, registerImplementation)) - throw new TinyIoCRegistrationTypeException(registerImplementation, "InstanceFactory"); - - this.registerType = registerType; - this.registerImplementation = registerImplementation; - _instance = instance; - } - - public override Type CreatesType - { - get { return this.registerImplementation; } - } - - public override object GetObject(Type requestedType, TinyIoCContainer container, NamedParameterOverloads parameters, ResolveOptions options) - { - return _instance; - } - - public override ObjectFactoryBase MultiInstanceVariant - { - get { return new MultiInstanceFactory(this.registerType, this.registerImplementation); } - } - - public override ObjectFactoryBase WeakReferenceVariant - { - get - { - return new WeakInstanceFactory(this.registerType, this.registerImplementation, this._instance); - } - } - - public override ObjectFactoryBase StrongReferenceVariant - { - get - { - return this; - } - } - - public override void SetConstructor(ConstructorInfo constructor) - { - throw new TinyIoCConstructorResolutionException("Constructor selection is not possible for instance factory registrations"); - } - - public void Dispose() - { - var disposable = _instance as IDisposable; - - if (disposable != null) - disposable.Dispose(); - } - } - - /// - /// Stores an particular instance to return for a type - /// - /// Stores the instance with a weak reference - /// - private class WeakInstanceFactory : ObjectFactoryBase, IDisposable - { - private readonly Type registerType; - private readonly Type registerImplementation; - private readonly WeakReference _instance; - - public WeakInstanceFactory(Type registerType, Type registerImplementation, object instance) - { - if (!IsValidAssignment(registerType, registerImplementation)) - throw new TinyIoCRegistrationTypeException(registerImplementation, "WeakInstanceFactory"); - - this.registerType = registerType; - this.registerImplementation = registerImplementation; - _instance = new WeakReference(instance); - } - - public override Type CreatesType - { - get { return this.registerImplementation; } - } - - public override object GetObject(Type requestedType, TinyIoCContainer container, NamedParameterOverloads parameters, ResolveOptions options) - { - var instance = _instance.Target; - - if (instance == null) - throw new TinyIoCWeakReferenceException(this.registerType); - - return instance; - } - - public override ObjectFactoryBase MultiInstanceVariant - { - get - { - return new MultiInstanceFactory(this.registerType, this.registerImplementation); - } - } - - public override ObjectFactoryBase WeakReferenceVariant - { - get - { - return this; - } - } - - public override ObjectFactoryBase StrongReferenceVariant - { - get - { - var instance = _instance.Target; - - if (instance == null) - throw new TinyIoCWeakReferenceException(this.registerType); - - return new InstanceFactory(this.registerType, this.registerImplementation, instance); - } - } - - public override void SetConstructor(ConstructorInfo constructor) - { - throw new TinyIoCConstructorResolutionException("Constructor selection is not possible for instance factory registrations"); - } - - public void Dispose() - { - var disposable = _instance.Target as IDisposable; - - if (disposable != null) - disposable.Dispose(); - } - } - - /// - /// A factory that lazy instantiates a type and always returns the same instance - /// - private class SingletonFactory : ObjectFactoryBase, IDisposable - { - private readonly Type registerType; - private readonly Type registerImplementation; - private readonly object SingletonLock = new object(); - private object _Current; - - public SingletonFactory(Type registerType, Type registerImplementation) - { -//#if NETFX_CORE -// if (registerImplementation.GetTypeInfo().IsAbstract() || registerImplementation.GetTypeInfo().IsInterface()) -//#else - if (registerImplementation.IsAbstract() || registerImplementation.IsInterface()) -//#endif - throw new TinyIoCRegistrationTypeException(registerImplementation, "SingletonFactory"); - - if (!IsValidAssignment(registerType, registerImplementation)) - throw new TinyIoCRegistrationTypeException(registerImplementation, "SingletonFactory"); - - this.registerType = registerType; - this.registerImplementation = registerImplementation; - } - - public override Type CreatesType - { - get { return this.registerImplementation; } - } - - public override object GetObject(Type requestedType, TinyIoCContainer container, NamedParameterOverloads parameters, ResolveOptions options) - { - if (parameters.Count != 0) - throw new ArgumentException("Cannot specify parameters for singleton types"); - - lock (SingletonLock) - if (_Current == null) - _Current = container.ConstructType(requestedType, this.registerImplementation, Constructor, options); - - return _Current; - } - - public override ObjectFactoryBase SingletonVariant - { - get - { - return this; - } - } - - public override ObjectFactoryBase GetCustomObjectLifetimeVariant(ITinyIoCObjectLifetimeProvider lifetimeProvider, string errorString) - { - return new CustomObjectLifetimeFactory(this.registerType, this.registerImplementation, lifetimeProvider, errorString); - } - - public override ObjectFactoryBase MultiInstanceVariant - { - get - { - return new MultiInstanceFactory(this.registerType, this.registerImplementation); - } - } - - public override ObjectFactoryBase GetFactoryForChildContainer(Type type, TinyIoCContainer parent, TinyIoCContainer child) - { - // We make sure that the singleton is constructed before the child container takes the factory. - // Otherwise the results would vary depending on whether or not the parent container had resolved - // the type before the child container does. - GetObject(type, parent, NamedParameterOverloads.Default, ResolveOptions.Default); - return this; - } - - public void Dispose() - { - if (this._Current == null) - return; - - var disposable = this._Current as IDisposable; - - if (disposable != null) - disposable.Dispose(); - } - } - - /// - /// A factory that offloads lifetime to an external lifetime provider - /// - private class CustomObjectLifetimeFactory : ObjectFactoryBase, IDisposable - { - private readonly object SingletonLock = new object(); - private readonly Type registerType; - private readonly Type registerImplementation; - private readonly ITinyIoCObjectLifetimeProvider _LifetimeProvider; - - public CustomObjectLifetimeFactory(Type registerType, Type registerImplementation, ITinyIoCObjectLifetimeProvider lifetimeProvider, string errorMessage) - { - if (lifetimeProvider == null) - throw new ArgumentNullException("lifetimeProvider", "lifetimeProvider is null."); - - if (!IsValidAssignment(registerType, registerImplementation)) - throw new TinyIoCRegistrationTypeException(registerImplementation, "SingletonFactory"); - -//#if NETFX_CORE -// if (registerImplementation.GetTypeInfo().IsAbstract() || registerImplementation.GetTypeInfo().IsInterface()) -//#else - if (registerImplementation.IsAbstract() || registerImplementation.IsInterface()) -//#endif - throw new TinyIoCRegistrationTypeException(registerImplementation, errorMessage); - - this.registerType = registerType; - this.registerImplementation = registerImplementation; - _LifetimeProvider = lifetimeProvider; - } - - public override Type CreatesType - { - get { return this.registerImplementation; } - } - - public override object GetObject(Type requestedType, TinyIoCContainer container, NamedParameterOverloads parameters, ResolveOptions options) - { - object current; - - lock (SingletonLock) - { - current = _LifetimeProvider.GetObject(); - if (current == null) - { - current = container.ConstructType(requestedType, this.registerImplementation, Constructor, options); - _LifetimeProvider.SetObject(current); - } - } - - return current; - } - - public override ObjectFactoryBase SingletonVariant - { - get - { - _LifetimeProvider.ReleaseObject(); - return new SingletonFactory(this.registerType, this.registerImplementation); - } - } - - public override ObjectFactoryBase MultiInstanceVariant - { - get - { - _LifetimeProvider.ReleaseObject(); - return new MultiInstanceFactory(this.registerType, this.registerImplementation); - } - } - - public override ObjectFactoryBase GetCustomObjectLifetimeVariant(ITinyIoCObjectLifetimeProvider lifetimeProvider, string errorString) - { - _LifetimeProvider.ReleaseObject(); - return new CustomObjectLifetimeFactory(this.registerType, this.registerImplementation, lifetimeProvider, errorString); - } - - public override ObjectFactoryBase GetFactoryForChildContainer(Type type, TinyIoCContainer parent, TinyIoCContainer child) - { - // We make sure that the singleton is constructed before the child container takes the factory. - // Otherwise the results would vary depending on whether or not the parent container had resolved - // the type before the child container does. - GetObject(type, parent, NamedParameterOverloads.Default, ResolveOptions.Default); - return this; - } - - public void Dispose() - { - _LifetimeProvider.ReleaseObject(); - } - } - #endregion - - #region Singleton Container - private static readonly TinyIoCContainer _Current = new TinyIoCContainer(); - - static TinyIoCContainer() - { - } - - /// - /// Lazy created Singleton instance of the container for simple scenarios - /// - public static TinyIoCContainer Current - { - get - { - return _Current; - } - } - #endregion - - #region Type Registrations - public sealed class TypeRegistration - { - private int _hashCode; - - public Type Type { get; private set; } - public string Name { get; private set; } - - public TypeRegistration(Type type) - : this(type, string.Empty) - { - } - - public TypeRegistration(Type type, string name) - { - Type = type; - Name = name; - - _hashCode = String.Concat(Type.FullName, "|", Name).GetHashCode(); - } - - public override bool Equals(object obj) - { - var typeRegistration = obj as TypeRegistration; - - if (typeRegistration == null) - return false; - - if (Type != typeRegistration.Type) - return false; - - if (String.Compare(Name, typeRegistration.Name, StringComparison.Ordinal) != 0) - return false; - - return true; - } - - public override int GetHashCode() - { - return _hashCode; - } - } - private readonly SafeDictionary _RegisteredTypes; - #endregion - - #region Constructors - public TinyIoCContainer() - { - _RegisteredTypes = new SafeDictionary(); - - RegisterDefaultTypes(); - } - - TinyIoCContainer _Parent; - private TinyIoCContainer(TinyIoCContainer parent) - : this() - { - _Parent = parent; - } - #endregion - - #region Internal Methods - private readonly object _AutoRegisterLock = new object(); - private void AutoRegisterInternal(IEnumerable assemblies, bool ignoreDuplicateImplementations, Func registrationPredicate) - { - lock (_AutoRegisterLock) - { - var types = assemblies.SelectMany(a => a.SafeGetTypes()).Where(t => !IsIgnoredType(t, registrationPredicate)).ToList(); - - var concreteTypes = from type in types - where (type.IsClass() == true) && (type.IsAbstract() == false) && (type != this.GetType() && (type.DeclaringType != this.GetType()) && (!type.IsGenericTypeDefinition())) - select type; - - foreach (var type in concreteTypes) - { - try - { - RegisterInternal(type, string.Empty, GetDefaultObjectFactory(type, type)); - } - catch (MethodAccessException) - { - // Ignore methods we can't access - added for Silverlight - } - } - - var abstractInterfaceTypes = from type in types - where ((type.IsInterface() == true || type.IsAbstract() == true) && (type.DeclaringType != this.GetType()) && (!type.IsGenericTypeDefinition())) - select type; - - foreach (var type in abstractInterfaceTypes) - { - var implementations = from implementationType in concreteTypes - where implementationType.GetInterfaces().Contains(type) || implementationType.BaseType() == type - select implementationType; - - if (!ignoreDuplicateImplementations && implementations.Count() > 1) - throw new TinyIoCAutoRegistrationException(type, implementations); - - var firstImplementation = implementations.FirstOrDefault(); - if (firstImplementation != null) - { - try - { - RegisterInternal(type, string.Empty, GetDefaultObjectFactory(type, firstImplementation)); - } - catch (MethodAccessException) - { - // Ignore methods we can't access - added for Silverlight - } - } - } - } - } - - private bool IsIgnoredAssembly(Assembly assembly) - { - // TODO - find a better way to remove "system" assemblies from the auto registration - var ignoreChecks = new List>() - { - asm => asm.FullName.StartsWith("Microsoft.", StringComparison.Ordinal), - asm => asm.FullName.StartsWith("System.", StringComparison.Ordinal), - asm => asm.FullName.StartsWith("System,", StringComparison.Ordinal), - asm => asm.FullName.StartsWith("CR_ExtUnitTest", StringComparison.Ordinal), - asm => asm.FullName.StartsWith("mscorlib,", StringComparison.Ordinal), - asm => asm.FullName.StartsWith("CR_VSTest", StringComparison.Ordinal), - asm => asm.FullName.StartsWith("DevExpress.CodeRush", StringComparison.Ordinal), - }; - - foreach (var check in ignoreChecks) - { - if (check(assembly)) - return true; - } - - return false; - } - - private bool IsIgnoredType(Type type, Func registrationPredicate) - { - // TODO - find a better way to remove "system" types from the auto registration - var ignoreChecks = new List>() - { - t => t.FullName.StartsWith("System.", StringComparison.Ordinal), - t => t.FullName.StartsWith("Microsoft.", StringComparison.Ordinal), - t => t.IsPrimitive(), -#if !UNBOUND_GENERICS_GETCONSTRUCTORS - t => t.IsGenericTypeDefinition(), -#endif - t => (t.GetConstructors(BindingFlags.Instance | BindingFlags.Public).Length == 0) && !(t.IsInterface() || t.IsAbstract()), - }; - - if (registrationPredicate != null) - { - ignoreChecks.Add(t => !registrationPredicate(t)); - } - - foreach (var check in ignoreChecks) - { - if (check(type)) - return true; - } - - return false; - } - - private void RegisterDefaultTypes() - { - Register(this); - -#if TINYMESSENGER - // Only register the TinyMessenger singleton if we are the root container - if (_Parent == null) - Register(); -#endif - } - - private ObjectFactoryBase GetCurrentFactory(TypeRegistration registration) - { - ObjectFactoryBase current = null; - - _RegisteredTypes.TryGetValue(registration, out current); - - return current; - } - - private RegisterOptions RegisterInternal(Type registerType, string name, ObjectFactoryBase factory) - { - var typeRegistration = new TypeRegistration(registerType, name); - - return AddUpdateRegistration(typeRegistration, factory); - } - - private RegisterOptions AddUpdateRegistration(TypeRegistration typeRegistration, ObjectFactoryBase factory) - { - _RegisteredTypes[typeRegistration] = factory; - - return new RegisterOptions(this, typeRegistration); - } - - private void RemoveRegistration(TypeRegistration typeRegistration) - { - _RegisteredTypes.Remove(typeRegistration); - } - - private ObjectFactoryBase GetDefaultObjectFactory(Type registerType, Type registerImplementation) - { -//#if NETFX_CORE -// if (registerType.GetTypeInfo().IsInterface() || registerType.GetTypeInfo().IsAbstract()) -//#else - if (registerType.IsInterface() || registerType.IsAbstract()) -//#endif - return new SingletonFactory(registerType, registerImplementation); - - return new MultiInstanceFactory(registerType, registerImplementation); - } - - private bool CanResolveInternal(TypeRegistration registration, NamedParameterOverloads parameters, ResolveOptions options) - { - if (parameters == null) - throw new ArgumentNullException("parameters"); - - Type checkType = registration.Type; - string name = registration.Name; - - ObjectFactoryBase factory; - if (_RegisteredTypes.TryGetValue(new TypeRegistration(checkType, name), out factory)) - { - if (factory.AssumeConstruction) - return true; - - if (factory.Constructor == null) - return (GetBestConstructor(factory.CreatesType, parameters, options) != null) ? true : false; - else - return CanConstruct(factory.Constructor, parameters, options); - } - - // Fail if requesting named resolution and settings set to fail if unresolved - // Or bubble up if we have a parent - if (!String.IsNullOrEmpty(name) && options.NamedResolutionFailureAction == NamedResolutionFailureActions.Fail) - return (_Parent != null) ? _Parent.CanResolveInternal(registration, parameters, options) : false; - - // Attemped unnamed fallback container resolution if relevant and requested - if (!String.IsNullOrEmpty(name) && options.NamedResolutionFailureAction == NamedResolutionFailureActions.AttemptUnnamedResolution) - { - if (_RegisteredTypes.TryGetValue(new TypeRegistration(checkType), out factory)) - { - if (factory.AssumeConstruction) - return true; - - return (GetBestConstructor(factory.CreatesType, parameters, options) != null) ? true : false; - } - } - - // Check if type is an automatic lazy factory request - if (IsAutomaticLazyFactoryRequest(checkType)) - return true; - - // Check if type is an IEnumerable - if (IsIEnumerableRequest(registration.Type)) - return true; - - // Attempt unregistered construction if possible and requested - // If we cant', bubble if we have a parent - if ((options.UnregisteredResolutionAction == UnregisteredResolutionActions.AttemptResolve) || (checkType.IsGenericType() && options.UnregisteredResolutionAction == UnregisteredResolutionActions.GenericsOnly)) - return (GetBestConstructor(checkType, parameters, options) != null) ? true : (_Parent != null) ? _Parent.CanResolveInternal(registration, parameters, options) : false; - - // Bubble resolution up the container tree if we have a parent - if (_Parent != null) - return _Parent.CanResolveInternal(registration, parameters, options); - - return false; - } - - private bool IsIEnumerableRequest(Type type) - { - if (!type.IsGenericType()) - return false; - - Type genericType = type.GetGenericTypeDefinition(); - - if (genericType == typeof(IEnumerable<>)) - return true; - - return false; - } - - private bool IsAutomaticLazyFactoryRequest(Type type) - { - if (!type.IsGenericType()) - return false; - - Type genericType = type.GetGenericTypeDefinition(); - - // Just a func - if (genericType == typeof(Func<>)) - return true; - - // 2 parameter func with string as first parameter (name) -//#if NETFX_CORE -// if ((genericType == typeof(Func<,>) && type.GetTypeInfo().GenericTypeArguments[0] == typeof(string))) -//#else - if ((genericType == typeof(Func<,>) && type.GetGenericArguments()[0] == typeof(string))) -//#endif - return true; - - // 3 parameter func with string as first parameter (name) and IDictionary as second (parameters) -//#if NETFX_CORE -// if ((genericType == typeof(Func<,,>) && type.GetTypeInfo().GenericTypeArguments[0] == typeof(string) && type.GetTypeInfo().GenericTypeArguments[1] == typeof(IDictionary))) -//#else - if ((genericType == typeof(Func<,,>) && type.GetGenericArguments()[0] == typeof(string) && type.GetGenericArguments()[1] == typeof(IDictionary))) -//#endif - return true; - - return false; - } - - private ObjectFactoryBase GetParentObjectFactory(TypeRegistration registration) - { - if (_Parent == null) - return null; - - ObjectFactoryBase factory; - if (_Parent._RegisteredTypes.TryGetValue(registration, out factory)) - { - return factory.GetFactoryForChildContainer(registration.Type, _Parent, this); - } - - return _Parent.GetParentObjectFactory(registration); - } - - private object ResolveInternal(TypeRegistration registration, NamedParameterOverloads parameters, ResolveOptions options) - { - ObjectFactoryBase factory; - - // Attempt container resolution - if (_RegisteredTypes.TryGetValue(registration, out factory)) - { - try - { - return factory.GetObject(registration.Type, this, parameters, options); - } - catch (TinyIoCResolutionException) - { - throw; - } - catch (Exception ex) - { - throw new TinyIoCResolutionException(registration.Type, ex); - } - } - -#if RESOLVE_OPEN_GENERICS - // Attempt container resolution of open generic - if (registration.Type.IsGenericType()) - { - var openTypeRegistration = new TypeRegistration(registration.Type.GetGenericTypeDefinition(), - registration.Name); - - if (_RegisteredTypes.TryGetValue(openTypeRegistration, out factory)) - { - try - { - return factory.GetObject(registration.Type, this, parameters, options); - } - catch (TinyIoCResolutionException) - { - throw; - } - catch (Exception ex) - { - throw new TinyIoCResolutionException(registration.Type, ex); - } - } - } -#endif - - // Attempt to get a factory from parent if we can - var bubbledObjectFactory = GetParentObjectFactory(registration); - if (bubbledObjectFactory != null) - { - try - { - return bubbledObjectFactory.GetObject(registration.Type, this, parameters, options); - } - catch (TinyIoCResolutionException) - { - throw; - } - catch (Exception ex) - { - throw new TinyIoCResolutionException(registration.Type, ex); - } - } - - // Fail if requesting named resolution and settings set to fail if unresolved - if (!String.IsNullOrEmpty(registration.Name) && options.NamedResolutionFailureAction == NamedResolutionFailureActions.Fail) - throw new TinyIoCResolutionException(registration.Type); - - // Attemped unnamed fallback container resolution if relevant and requested - if (!String.IsNullOrEmpty(registration.Name) && options.NamedResolutionFailureAction == NamedResolutionFailureActions.AttemptUnnamedResolution) - { - if (_RegisteredTypes.TryGetValue(new TypeRegistration(registration.Type, string.Empty), out factory)) - { - try - { - return factory.GetObject(registration.Type, this, parameters, options); - } - catch (TinyIoCResolutionException) - { - throw; - } - catch (Exception ex) - { - throw new TinyIoCResolutionException(registration.Type, ex); - } - } - } - -#if EXPRESSIONS - // Attempt to construct an automatic lazy factory if possible - if (IsAutomaticLazyFactoryRequest(registration.Type)) - return GetLazyAutomaticFactoryRequest(registration.Type); -#endif - if (IsIEnumerableRequest(registration.Type)) - return GetIEnumerableRequest(registration.Type); - - // Attempt unregistered construction if possible and requested - if ((options.UnregisteredResolutionAction == UnregisteredResolutionActions.AttemptResolve) || (registration.Type.IsGenericType() && options.UnregisteredResolutionAction == UnregisteredResolutionActions.GenericsOnly)) - { - if (!registration.Type.IsAbstract() && !registration.Type.IsInterface()) - return ConstructType(null, registration.Type, parameters, options); - } - - // Unable to resolve - throw - throw new TinyIoCResolutionException(registration.Type); - } - -#if EXPRESSIONS - private object GetLazyAutomaticFactoryRequest(Type type) - { - if (!type.IsGenericType()) - return null; - - Type genericType = type.GetGenericTypeDefinition(); -//#if NETFX_CORE -// Type[] genericArguments = type.GetTypeInfo().GenericTypeArguments.ToArray(); -//#else - Type[] genericArguments = type.GetGenericArguments(); -//#endif - - // Just a func - if (genericType == typeof(Func<>)) - { - Type returnType = genericArguments[0]; - -//#if NETFX_CORE -// MethodInfo resolveMethod = typeof(TinyIoCContainer).GetTypeInfo().GetDeclaredMethods("Resolve").First(mi => !mi.GetParameters().Any()); -//#else - MethodInfo resolveMethod = typeof(TinyIoCContainer).GetMethod("Resolve", new Type[] { }); -//#endif - resolveMethod = resolveMethod.MakeGenericMethod(returnType); - - var resolveCall = Expression.Call(Expression.Constant(this), resolveMethod); - - var resolveLambda = Expression.Lambda(resolveCall).Compile(); - - return resolveLambda; - } - - // 2 parameter func with string as first parameter (name) - if ((genericType == typeof(Func<,>)) && (genericArguments[0] == typeof(string))) - { - Type returnType = genericArguments[1]; - -//#if NETFX_CORE -// MethodInfo resolveMethod = typeof(TinyIoCContainer).GetTypeInfo().GetDeclaredMethods("Resolve").First(mi => mi.GetParameters().Length == 1 && mi.GetParameters()[0].GetType() == typeof(String)); -//#else - MethodInfo resolveMethod = typeof(TinyIoCContainer).GetMethod("Resolve", new Type[] { typeof(String) }); -//#endif - resolveMethod = resolveMethod.MakeGenericMethod(returnType); - - ParameterExpression[] resolveParameters = new ParameterExpression[] { Expression.Parameter(typeof(String), "name") }; - var resolveCall = Expression.Call(Expression.Constant(this), resolveMethod, resolveParameters); - - var resolveLambda = Expression.Lambda(resolveCall, resolveParameters).Compile(); - - return resolveLambda; - } - - // 3 parameter func with string as first parameter (name) and IDictionary as second (parameters) -//#if NETFX_CORE -// if ((genericType == typeof(Func<,,>) && type.GenericTypeArguments[0] == typeof(string) && type.GenericTypeArguments[1] == typeof(IDictionary))) -//#else - if ((genericType == typeof(Func<,,>) && type.GetGenericArguments()[0] == typeof(string) && type.GetGenericArguments()[1] == typeof(IDictionary))) -//#endif - { - Type returnType = genericArguments[2]; - - var name = Expression.Parameter(typeof(string), "name"); - var parameters = Expression.Parameter(typeof(IDictionary), "parameters"); - -//#if NETFX_CORE -// MethodInfo resolveMethod = typeof(TinyIoCContainer).GetTypeInfo().GetDeclaredMethods("Resolve").First(mi => mi.GetParameters().Length == 2 && mi.GetParameters()[0].GetType() == typeof(String) && mi.GetParameters()[1].GetType() == typeof(NamedParameterOverloads)); -//#else - MethodInfo resolveMethod = typeof(TinyIoCContainer).GetMethod("Resolve", new Type[] { typeof(String), typeof(NamedParameterOverloads) }); -//#endif - resolveMethod = resolveMethod.MakeGenericMethod(returnType); - - var resolveCall = Expression.Call(Expression.Constant(this), resolveMethod, name, Expression.Call(typeof(NamedParameterOverloads), "FromIDictionary", null, parameters)); - - var resolveLambda = Expression.Lambda(resolveCall, name, parameters).Compile(); - - return resolveLambda; - } - - throw new TinyIoCResolutionException(type); - } -#endif - private object GetIEnumerableRequest(Type type) - { -//#if NETFX_CORE -// var genericResolveAllMethod = this.GetType().GetGenericMethod("ResolveAll", type.GenericTypeArguments, new[] { typeof(bool) }); -//#else - var genericResolveAllMethod = this.GetType().GetGenericMethod(BindingFlags.Public | BindingFlags.Instance, "ResolveAll", type.GetGenericArguments(), new[] { typeof(bool) }); -//#endif - - return genericResolveAllMethod.Invoke(this, new object[] { false }); - } - - private bool CanConstruct(ConstructorInfo ctor, NamedParameterOverloads parameters, ResolveOptions options) - { - if (parameters == null) - throw new ArgumentNullException("parameters"); - - foreach (var parameter in ctor.GetParameters()) - { - if (string.IsNullOrEmpty(parameter.Name)) - return false; - - var isParameterOverload = parameters.ContainsKey(parameter.Name); - -//#if NETFX_CORE -// if (parameter.ParameterType.GetTypeInfo().IsPrimitive && !isParameterOverload) -//#else - if (parameter.ParameterType.IsPrimitive() && !isParameterOverload) -//#endif - return false; - - if (!isParameterOverload && !CanResolveInternal(new TypeRegistration(parameter.ParameterType), NamedParameterOverloads.Default, options)) - return false; - } - - return true; - } - - private ConstructorInfo GetBestConstructor(Type type, NamedParameterOverloads parameters, ResolveOptions options) - { - if (parameters == null) - throw new ArgumentNullException("parameters"); - -//#if NETFX_CORE -// if (type.GetTypeInfo().IsValueType) -//#else - if (type.IsValueType()) -//#endif - return null; - - // Get constructors in reverse order based on the number of parameters - // i.e. be as "greedy" as possible so we satify the most amount of dependencies possible - var ctors = this.GetTypeConstructors(type); - - return ctors.FirstOrDefault(ctor => this.CanConstruct(ctor, parameters, options)); - } - - private IEnumerable GetTypeConstructors(Type type) - { -//#if NETFX_CORE -// return type.GetTypeInfo().DeclaredConstructors.OrderByDescending(ctor => ctor.GetParameters().Count()); -//#else - return type.GetConstructors().OrderByDescending(ctor => ctor.GetParameters().Count()); -//#endif - } - - private object ConstructType(Type requestedType, Type implementationType, ResolveOptions options) - { - return ConstructType(requestedType, implementationType, null, NamedParameterOverloads.Default, options); - } - - private object ConstructType(Type requestedType, Type implementationType, ConstructorInfo constructor, ResolveOptions options) - { - return ConstructType(requestedType, implementationType, constructor, NamedParameterOverloads.Default, options); - } - - private object ConstructType(Type requestedType, Type implementationType, NamedParameterOverloads parameters, ResolveOptions options) - { - return ConstructType(requestedType, implementationType, null, parameters, options); - } - - private object ConstructType(Type requestedType, Type implementationType, ConstructorInfo constructor, NamedParameterOverloads parameters, ResolveOptions options) - { - var typeToConstruct = implementationType; - -#if RESOLVE_OPEN_GENERICS - if (implementationType.IsGenericTypeDefinition()) - { -//#if NETFX_CORE -// if (requestedType == null || !requestedType.IsGenericType() || !requestedType.GenericTypeArguments.Any()) -//#else - if (requestedType == null || !requestedType.IsGenericType() || !requestedType.GetGenericArguments().Any()) -//#endif - throw new TinyIoCResolutionException(typeToConstruct); - -//#if NETFX_CORE -// typeToConstruct = typeToConstruct.MakeGenericType(requestedType.GenericTypeArguments); -//#else - typeToConstruct = typeToConstruct.MakeGenericType(requestedType.GetGenericArguments()); -//#endif - } -#endif - - if (constructor == null) - { - // Try and get the best constructor that we can construct - // if we can't construct any then get the constructor - // with the least number of parameters so we can throw a meaningful - // resolve exception - constructor = GetBestConstructor(typeToConstruct, parameters, options) ?? GetTypeConstructors(typeToConstruct).LastOrDefault(); - } - - if (constructor == null) - throw new TinyIoCResolutionException(typeToConstruct); - - var ctorParams = constructor.GetParameters(); - object[] args = new object[ctorParams.Count()]; - - for (int parameterIndex = 0; parameterIndex < ctorParams.Count(); parameterIndex++) - { - var currentParam = ctorParams[parameterIndex]; - - try - { - args[parameterIndex] = parameters.ContainsKey(currentParam.Name) ? - parameters[currentParam.Name] : - ResolveInternal( - new TypeRegistration(currentParam.ParameterType), - NamedParameterOverloads.Default, - options); - } - catch (TinyIoCResolutionException ex) - { - // If a constructor parameter can't be resolved - // it will throw, so wrap it and throw that this can't - // be resolved. - throw new TinyIoCResolutionException(typeToConstruct, ex); - } - catch (Exception ex) - { - throw new TinyIoCResolutionException(typeToConstruct, ex); - } - } - - try - { - return constructor.Invoke(args); - } - catch (Exception ex) - { - throw new TinyIoCResolutionException(typeToConstruct, ex); - } - } - - private void BuildUpInternal(object input, ResolveOptions resolveOptions) - { -//#if NETFX_CORE -// var properties = from property in input.GetType().GetTypeInfo().DeclaredProperties -// where (property.GetMethod != null) && (property.SetMethod != null) && !property.PropertyType.GetTypeInfo().IsValueType -// select property; -//#else - var properties = from property in input.GetType().GetProperties() - where (property.GetGetMethod() != null) && (property.GetSetMethod() != null) && !property.PropertyType.IsValueType() - select property; -//#endif - - foreach (var property in properties) - { - if (property.GetValue(input, null) == null) - { - try - { - property.SetValue(input, ResolveInternal(new TypeRegistration(property.PropertyType), NamedParameterOverloads.Default, resolveOptions), null); - } - catch (TinyIoCResolutionException) - { - // Catch any resolution errors and ignore them - } - } - } - } - - private IEnumerable GetParentRegistrationsForType(Type resolveType) - { - if (_Parent == null) - return new TypeRegistration[] { }; - - var registrations = _Parent._RegisteredTypes.Keys.Where(tr => tr.Type == resolveType); - - return registrations.Concat(_Parent.GetParentRegistrationsForType(resolveType)); - } - - private IEnumerable ResolveAllInternal(Type resolveType, bool includeUnnamed) - { - var registrations = _RegisteredTypes.Keys.Where(tr => tr.Type == resolveType).Concat(GetParentRegistrationsForType(resolveType)); - - if (!includeUnnamed) - registrations = registrations.Where(tr => tr.Name != string.Empty); - - return registrations.Select(registration => this.ResolveInternal(registration, NamedParameterOverloads.Default, ResolveOptions.Default)); - } - - private static bool IsValidAssignment(Type registerType, Type registerImplementation) - { -//#if NETFX_CORE -// var registerTypeDef = registerType.GetTypeInfo(); -// var registerImplementationDef = registerImplementation.GetTypeInfo(); - -// if (!registerTypeDef.IsGenericTypeDefinition) -// { -// if (!registerTypeDef.IsAssignableFrom(registerImplementationDef)) -// return false; -// } -// else -// { -// if (registerTypeDef.IsInterface()) -// { -// if (!registerImplementationDef.ImplementedInterfaces.Any(t => t.GetTypeInfo().Name == registerTypeDef.Name)) -// return false; -// } -// else if (registerTypeDef.IsAbstract() && registerImplementationDef.BaseType() != registerType) -// { -// return false; -// } -// } -//#else - if (!registerType.IsGenericTypeDefinition()) - { - if (!registerType.IsAssignableFrom(registerImplementation)) - return false; - } - else - { - if (registerType.IsInterface()) - { - if (!registerImplementation.FindInterfaces((t, o) => t.Name == registerType.Name, null).Any()) - return false; - } - else if (registerType.IsAbstract() && registerImplementation.BaseType() != registerType) - { - return false; - } - } -//#endif - return true; - } - - #endregion - - #region IDisposable Members - bool disposed = false; - public void Dispose() - { - if (!disposed) - { - disposed = true; - - _RegisteredTypes.Dispose(); - - GC.SuppressFinalize(this); - } - } - - #endregion - } -} - -// reverse shim for WinRT SR changes... -#if !NETFX_CORE -namespace System.Reflection -{ - public static class ReverseTypeExtender - { - public static bool IsClass(this Type type) - { - return type.IsClass; - } - - public static bool IsAbstract(this Type type) - { - return type.IsAbstract; - } - - public static bool IsInterface(this Type type) - { - return type.IsInterface; - } - - public static bool IsPrimitive(this Type type) - { - return type.IsPrimitive; - } - - public static bool IsValueType(this Type type) - { - return type.IsValueType; - } - - public static bool IsGenericType(this Type type) - { - return type.IsGenericType; - } - - public static bool IsGenericParameter(this Type type) - { - return type.IsGenericParameter; - } - - public static bool IsGenericTypeDefinition(this Type type) - { - return type.IsGenericTypeDefinition; - } - - public static Type BaseType(this Type type) - { - return type.BaseType; - } - - public static Assembly Assembly(this Type type) - { - return type.Assembly; - } - } -} -#endif diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/WebApi/TinyIoCAspNetExtensions.cs b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/WebApi/TinyIoCAspNetExtensions.cs deleted file mode 100644 index 3aadbcb8..00000000 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/WebApi/TinyIoCAspNetExtensions.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Web; - -namespace TinyIoC -{ - public class HttpContextLifetimeProvider : TinyIoCContainer.ITinyIoCObjectLifetimeProvider - { - private readonly string _KeyName = String.Format("TinyIoC.HttpContext.{0}", Guid.NewGuid()); - - public object GetObject() - { - return HttpContext.Current.Items[_KeyName]; - } - - public void SetObject(object value) - { - HttpContext.Current.Items[_KeyName] = value; - } - - public void ReleaseObject() - { - var item = GetObject() as IDisposable; - - if (item != null) - item.Dispose(); - - SetObject(null); - } - } - - public static class TinyIoCAspNetExtensions - { - public static TinyIoC.TinyIoCContainer.RegisterOptions AsPerRequestSingleton(this TinyIoC.TinyIoCContainer.RegisterOptions registerOptions) - { - return TinyIoCContainer.RegisterOptions.ToCustomLifetimeManager(registerOptions, new HttpContextLifetimeProvider(), "per request singleton"); - } - } -} diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/WebApi/WebApi.csproj b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/WebApi/WebApi.csproj index 685a6c0d..449de3e2 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/WebApi/WebApi.csproj +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/WebApi/WebApi.csproj @@ -48,10 +48,10 @@ ..\..\packages\AspNetWebApi2Helpers.Serialization.1.0.0\lib\portable-net45+win+wpa81+wp80\AspnetWebApi2Helpers.Serialization.dll - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll @@ -59,19 +59,19 @@ ..\..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll - ..\..\packages\SimpleInjector.2.7.2\lib\net45\SimpleInjector.dll + ..\..\packages\SimpleInjector.2.7.3\lib\net45\SimpleInjector.dll True - ..\..\packages\SimpleInjector.2.7.2\lib\net45\SimpleInjector.Diagnostics.dll + ..\..\packages\SimpleInjector.2.7.3\lib\net45\SimpleInjector.Diagnostics.dll True - ..\..\packages\SimpleInjector.Extensions.ExecutionContextScoping.2.7.2\lib\net45\SimpleInjector.Extensions.ExecutionContextScoping.dll + ..\..\packages\SimpleInjector.Extensions.ExecutionContextScoping.2.7.3\lib\net45\SimpleInjector.Extensions.ExecutionContextScoping.dll True - ..\..\packages\SimpleInjector.Integration.WebApi.2.7.2\lib\net45\SimpleInjector.Integration.WebApi.dll + ..\..\packages\SimpleInjector.Integration.WebApi.2.7.3\lib\net45\SimpleInjector.Integration.WebApi.dll True @@ -140,23 +140,23 @@ False - ..\..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll False - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll False - ..\..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + ..\..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll False - ..\..\packages\TrackableEntities.Patterns.2.5.0\lib\net45\TrackableEntities.Patterns.dll + ..\..\packages\TrackableEntities.Patterns.2.5.2\lib\net45\TrackableEntities.Patterns.dll False - ..\..\packages\TrackableEntities.Patterns.EF.6.2.5.0\lib\net45\TrackableEntities.Patterns.EF.6.dll + ..\..\packages\TrackableEntities.Patterns.EF.6.2.5.2\lib\net45\TrackableEntities.Patterns.EF.6.dll ..\..\packages\WebActivator.1.4.4\lib\net40\WebActivator.dll diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/WebApi/WebApi.vstemplate b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/WebApi/WebApi.vstemplate index f67676da..060c7e3c 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/WebApi/WebApi.vstemplate +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/WebApi/WebApi.vstemplate @@ -246,7 +246,7 @@ - + @@ -263,14 +263,14 @@ - - - - - - - - + + + + + + + + diff --git a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/WebApi/packages.config b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/WebApi/packages.config index 011081bb..5992bbe3 100644 --- a/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/WebApi/packages.config +++ b/Extensions/VS2013/Output/Extract/ProjectTemplates/TrackableWebApiPatterns/WebApi/packages.config @@ -3,7 +3,7 @@ - + @@ -20,14 +20,14 @@ - - - - - - - - + + + + + + + + diff --git a/Extensions/VS2013/Output/Zip/ItemTemplates/EntityController.zip b/Extensions/VS2013/Output/Zip/ItemTemplates/EntityController.zip index 28081871..cbb40105 100644 Binary files a/Extensions/VS2013/Output/Zip/ItemTemplates/EntityController.zip and b/Extensions/VS2013/Output/Zip/ItemTemplates/EntityController.zip differ diff --git a/Extensions/VS2013/Output/Zip/ItemTemplates/EntityRepository.zip b/Extensions/VS2013/Output/Zip/ItemTemplates/EntityRepository.zip index bd9e72c8..d2e26a77 100644 Binary files a/Extensions/VS2013/Output/Zip/ItemTemplates/EntityRepository.zip and b/Extensions/VS2013/Output/Zip/ItemTemplates/EntityRepository.zip differ diff --git a/Extensions/VS2013/Output/Zip/ItemTemplates/ExampleUnitOfWork.zip b/Extensions/VS2013/Output/Zip/ItemTemplates/ExampleUnitOfWork.zip index 4b6404db..28e7500a 100644 Binary files a/Extensions/VS2013/Output/Zip/ItemTemplates/ExampleUnitOfWork.zip and b/Extensions/VS2013/Output/Zip/ItemTemplates/ExampleUnitOfWork.zip differ diff --git a/Extensions/VS2013/Output/Zip/ItemTemplates/IDatabaseContext.zip b/Extensions/VS2013/Output/Zip/ItemTemplates/IDatabaseContext.zip index 20550aa6..d2e564e8 100644 Binary files a/Extensions/VS2013/Output/Zip/ItemTemplates/IDatabaseContext.zip and b/Extensions/VS2013/Output/Zip/ItemTemplates/IDatabaseContext.zip differ diff --git a/Extensions/VS2013/Output/Zip/ItemTemplates/IEntityRepository.zip b/Extensions/VS2013/Output/Zip/ItemTemplates/IEntityRepository.zip index 45912f08..f1cc38d8 100644 Binary files a/Extensions/VS2013/Output/Zip/ItemTemplates/IEntityRepository.zip and b/Extensions/VS2013/Output/Zip/ItemTemplates/IEntityRepository.zip differ diff --git a/Extensions/VS2013/Output/Zip/ItemTemplates/IExampleUnitOfWork.zip b/Extensions/VS2013/Output/Zip/ItemTemplates/IExampleUnitOfWork.zip index 85b997b8..1b34a1a9 100644 Binary files a/Extensions/VS2013/Output/Zip/ItemTemplates/IExampleUnitOfWork.zip and b/Extensions/VS2013/Output/Zip/ItemTemplates/IExampleUnitOfWork.zip differ diff --git a/Extensions/VS2013/Output/Zip/ItemTemplates/WebApiController.zip b/Extensions/VS2013/Output/Zip/ItemTemplates/WebApiController.zip index b7688754..2ecc38c3 100644 Binary files a/Extensions/VS2013/Output/Zip/ItemTemplates/WebApiController.zip and b/Extensions/VS2013/Output/Zip/ItemTemplates/WebApiController.zip differ diff --git a/Extensions/VS2013/Output/Zip/ProjectTemplates/TrackableEntities.zip b/Extensions/VS2013/Output/Zip/ProjectTemplates/TrackableEntities.zip index b96982d7..255385c0 100644 Binary files a/Extensions/VS2013/Output/Zip/ProjectTemplates/TrackableEntities.zip and b/Extensions/VS2013/Output/Zip/ProjectTemplates/TrackableEntities.zip differ diff --git a/Extensions/VS2013/Output/Zip/ProjectTemplates/TrackableWcfService.zip b/Extensions/VS2013/Output/Zip/ProjectTemplates/TrackableWcfService.zip index 1c58e3a7..feebdcac 100644 Binary files a/Extensions/VS2013/Output/Zip/ProjectTemplates/TrackableWcfService.zip and b/Extensions/VS2013/Output/Zip/ProjectTemplates/TrackableWcfService.zip differ diff --git a/Extensions/VS2013/Output/Zip/ProjectTemplates/TrackableWebApi.zip b/Extensions/VS2013/Output/Zip/ProjectTemplates/TrackableWebApi.zip index e5270f08..e26143d4 100644 Binary files a/Extensions/VS2013/Output/Zip/ProjectTemplates/TrackableWebApi.zip and b/Extensions/VS2013/Output/Zip/ProjectTemplates/TrackableWebApi.zip differ diff --git a/Extensions/VS2013/Output/Zip/ProjectTemplates/TrackableWebApiPatterns.zip b/Extensions/VS2013/Output/Zip/ProjectTemplates/TrackableWebApiPatterns.zip index 3f17a157..7c4da169 100644 Binary files a/Extensions/VS2013/Output/Zip/ProjectTemplates/TrackableWebApiPatterns.zip and b/Extensions/VS2013/Output/Zip/ProjectTemplates/TrackableWebApiPatterns.zip differ diff --git a/Extensions/VS2013/VSIX/TrackableEntities.VS2013-2.5.2.vsix b/Extensions/VS2013/VSIX/TrackableEntities.VS2013-2.5.2.vsix new file mode 100644 index 00000000..a1104236 Binary files /dev/null and b/Extensions/VS2013/VSIX/TrackableEntities.VS2013-2.5.2.vsix differ diff --git a/NuGet/Packages/TrackableEntities.Client.Net4/TrackableEntities.Client.Net4.2.5.2.nupkg b/NuGet/Packages/TrackableEntities.Client.Net4/TrackableEntities.Client.Net4.2.5.2.nupkg new file mode 100644 index 00000000..2982aa73 Binary files /dev/null and b/NuGet/Packages/TrackableEntities.Client.Net4/TrackableEntities.Client.Net4.2.5.2.nupkg differ diff --git a/NuGet/Packages/TrackableEntities.Client.Net4/TrackableEntities.Client.Net4.2.5.2.symbols.nupkg b/NuGet/Packages/TrackableEntities.Client.Net4/TrackableEntities.Client.Net4.2.5.2.symbols.nupkg new file mode 100644 index 00000000..144ddc7c Binary files /dev/null and b/NuGet/Packages/TrackableEntities.Client.Net4/TrackableEntities.Client.Net4.2.5.2.symbols.nupkg differ diff --git a/NuGet/Packages/TrackableEntities.Client.Net4/TrackableEntities.Client.Net4.nuspec b/NuGet/Packages/TrackableEntities.Client.Net4/TrackableEntities.Client.Net4.nuspec index 71283207..dee8c93b 100644 --- a/NuGet/Packages/TrackableEntities.Client.Net4/TrackableEntities.Client.Net4.nuspec +++ b/NuGet/Packages/TrackableEntities.Client.Net4/TrackableEntities.Client.Net4.nuspec @@ -2,12 +2,12 @@ TrackableEntities.Client.Net4 - 2.5.0 + 2.5.2 Trackable Entities Client for .NET 4.0 Tony Sneed Tony Sneed - http://trackable.codeplex.com/license - http://trackable.codeplex.com + https://github.com/tonysneed/trackable-entities/blob/master/License.txt + http://tonysneed.github.io/trackable-entities http://tonysneed.com/images/trackable/tracking-small.png false Change-tracking utility for client applications that wish to transmit entities to a web service for batch updates. @@ -16,7 +16,7 @@ - + diff --git a/NuGet/Packages/TrackableEntities.Client/TrackableEntities.Client.2.5.2.nupkg b/NuGet/Packages/TrackableEntities.Client/TrackableEntities.Client.2.5.2.nupkg new file mode 100644 index 00000000..7b46ce2f Binary files /dev/null and b/NuGet/Packages/TrackableEntities.Client/TrackableEntities.Client.2.5.2.nupkg differ diff --git a/NuGet/Packages/TrackableEntities.Client/TrackableEntities.Client.2.5.2.symbols.nupkg b/NuGet/Packages/TrackableEntities.Client/TrackableEntities.Client.2.5.2.symbols.nupkg new file mode 100644 index 00000000..b97b0673 Binary files /dev/null and b/NuGet/Packages/TrackableEntities.Client/TrackableEntities.Client.2.5.2.symbols.nupkg differ diff --git a/NuGet/Packages/TrackableEntities.Client/TrackableEntities.Client.nuspec b/NuGet/Packages/TrackableEntities.Client/TrackableEntities.Client.nuspec index 1a44335e..32e3988e 100644 --- a/NuGet/Packages/TrackableEntities.Client/TrackableEntities.Client.nuspec +++ b/NuGet/Packages/TrackableEntities.Client/TrackableEntities.Client.nuspec @@ -2,20 +2,20 @@ TrackableEntities.Client - 2.5.0 + 2.5.2 Trackable Entities Client Tony Sneed Tony Sneed - http://trackable.codeplex.com/license - http://trackable.codeplex.com - http://tonysneed.com/images/trackable/tracking-small.png + https://github.com/tonysneed/trackable-entities/blob/master/License.txt + http://tonysneed.github.io/trackable-entities + http://bit.ly/tracking-logo-small false Change-tracking utility for client applications that wish to transmit entities to a web service for batch updates. en-US change-tracking entity-framework n-tier wcf web-api - + \ No newline at end of file diff --git a/NuGet/Packages/TrackableEntities.Common/TrackableEntities.Common.2.5.2.1.nupkg b/NuGet/Packages/TrackableEntities.Common/TrackableEntities.Common.2.5.2.1.nupkg new file mode 100644 index 00000000..dc9e41ad Binary files /dev/null and b/NuGet/Packages/TrackableEntities.Common/TrackableEntities.Common.2.5.2.1.nupkg differ diff --git a/NuGet/Packages/TrackableEntities.Common/TrackableEntities.Common.2.5.2.1.symbols.nupkg b/NuGet/Packages/TrackableEntities.Common/TrackableEntities.Common.2.5.2.1.symbols.nupkg new file mode 100644 index 00000000..cd2dfd8f Binary files /dev/null and b/NuGet/Packages/TrackableEntities.Common/TrackableEntities.Common.2.5.2.1.symbols.nupkg differ diff --git a/NuGet/Packages/TrackableEntities.Common/TrackableEntities.Common.2.5.2.nupkg b/NuGet/Packages/TrackableEntities.Common/TrackableEntities.Common.2.5.2.nupkg new file mode 100644 index 00000000..8f566537 Binary files /dev/null and b/NuGet/Packages/TrackableEntities.Common/TrackableEntities.Common.2.5.2.nupkg differ diff --git a/NuGet/Packages/TrackableEntities.Common/TrackableEntities.Common.2.5.2.symbols.nupkg b/NuGet/Packages/TrackableEntities.Common/TrackableEntities.Common.2.5.2.symbols.nupkg new file mode 100644 index 00000000..762f8fe6 Binary files /dev/null and b/NuGet/Packages/TrackableEntities.Common/TrackableEntities.Common.2.5.2.symbols.nupkg differ diff --git a/NuGet/Packages/TrackableEntities.Common/TrackableEntities.Common.nuspec b/NuGet/Packages/TrackableEntities.Common/TrackableEntities.Common.nuspec index c6b760f6..06d34fe8 100644 --- a/NuGet/Packages/TrackableEntities.Common/TrackableEntities.Common.nuspec +++ b/NuGet/Packages/TrackableEntities.Common/TrackableEntities.Common.nuspec @@ -2,12 +2,12 @@ TrackableEntities.Common - 2.5.0 + 2.5.2.1 Trackable Entities Common Tony Sneed Tony Sneed - http://trackable.codeplex.com/license - http://trackable.codeplex.com + https://github.com/tonysneed/trackable-entities/blob/master/License.txt + http://tonysneed.github.io/trackable-entities http://tonysneed.com/images/trackable/tracking-small.png false Assembly containing ITrackable interface and TrackingState enum. diff --git a/NuGet/Packages/TrackableEntities.EF.5/TrackableEntities.EF.5.2.5.2.nupkg b/NuGet/Packages/TrackableEntities.EF.5/TrackableEntities.EF.5.2.5.2.nupkg new file mode 100644 index 00000000..304f7c12 Binary files /dev/null and b/NuGet/Packages/TrackableEntities.EF.5/TrackableEntities.EF.5.2.5.2.nupkg differ diff --git a/NuGet/Packages/TrackableEntities.EF.5/TrackableEntities.EF.5.2.5.2.symbols.nupkg b/NuGet/Packages/TrackableEntities.EF.5/TrackableEntities.EF.5.2.5.2.symbols.nupkg new file mode 100644 index 00000000..98f1baed Binary files /dev/null and b/NuGet/Packages/TrackableEntities.EF.5/TrackableEntities.EF.5.2.5.2.symbols.nupkg differ diff --git a/NuGet/Packages/TrackableEntities.EF.5/TrackableEntities.EF.5.nuspec b/NuGet/Packages/TrackableEntities.EF.5/TrackableEntities.EF.5.nuspec index 4ec44955..76efe230 100644 --- a/NuGet/Packages/TrackableEntities.EF.5/TrackableEntities.EF.5.nuspec +++ b/NuGet/Packages/TrackableEntities.EF.5/TrackableEntities.EF.5.nuspec @@ -2,12 +2,12 @@ TrackableEntities.EF.5 - 2.5.0 + 2.5.2 Trackable Entities for EF5 Tony Sneed - - http://trackable.codeplex.com/license - http://trackable.codeplex.com + Tony Sneed + https://github.com/tonysneed/trackable-entities/blob/master/License.txt + http://tonysneed.github.io/trackable-entities http://tonysneed.com/images/trackable/tracking-small.png false Provides an ApplyChanges extension method for DbContext that sets EntityState on trackable entities, so they can be saved in a single transaction as part of a batch update. @@ -17,7 +17,7 @@ - + diff --git a/NuGet/Packages/TrackableEntities.EF.6/TrackableEntities.EF.6.2.5.2.nupkg b/NuGet/Packages/TrackableEntities.EF.6/TrackableEntities.EF.6.2.5.2.nupkg new file mode 100644 index 00000000..cac0365d Binary files /dev/null and b/NuGet/Packages/TrackableEntities.EF.6/TrackableEntities.EF.6.2.5.2.nupkg differ diff --git a/NuGet/Packages/TrackableEntities.EF.6/TrackableEntities.EF.6.2.5.2.symbols.nupkg b/NuGet/Packages/TrackableEntities.EF.6/TrackableEntities.EF.6.2.5.2.symbols.nupkg new file mode 100644 index 00000000..210314a2 Binary files /dev/null and b/NuGet/Packages/TrackableEntities.EF.6/TrackableEntities.EF.6.2.5.2.symbols.nupkg differ diff --git a/NuGet/Packages/TrackableEntities.EF.6/TrackableEntities.EF.6.nuspec b/NuGet/Packages/TrackableEntities.EF.6/TrackableEntities.EF.6.nuspec index ae5d1a7b..22e8cee8 100644 --- a/NuGet/Packages/TrackableEntities.EF.6/TrackableEntities.EF.6.nuspec +++ b/NuGet/Packages/TrackableEntities.EF.6/TrackableEntities.EF.6.nuspec @@ -2,12 +2,12 @@ TrackableEntities.EF.6 - 2.5.0 + 2.5.2 Trackable Entities for EF6 Tony Sneed - - http://trackable.codeplex.com/license - http://trackable.codeplex.com + Tony Sneed + https://github.com/tonysneed/trackable-entities/blob/master/License.txt + http://tonysneed.github.io/trackable-entities http://tonysneed.com/images/trackable/tracking-small.png false Provides an ApplyChanges extension method for DbContext that sets EntityState on trackable entities, so they can be saved in a single transaction as part of a batch update. @@ -15,9 +15,9 @@ change-tracking entity-framework n-tier wcf web-api - + - + diff --git a/NuGet/Packages/TrackableEntities.Patterns.EF.6/TrackableEntities.Patterns.EF.6.2.5.2.nupkg b/NuGet/Packages/TrackableEntities.Patterns.EF.6/TrackableEntities.Patterns.EF.6.2.5.2.nupkg new file mode 100644 index 00000000..a1550790 Binary files /dev/null and b/NuGet/Packages/TrackableEntities.Patterns.EF.6/TrackableEntities.Patterns.EF.6.2.5.2.nupkg differ diff --git a/NuGet/Packages/TrackableEntities.Patterns.EF.6/TrackableEntities.Patterns.EF.6.2.5.2.symbols.nupkg b/NuGet/Packages/TrackableEntities.Patterns.EF.6/TrackableEntities.Patterns.EF.6.2.5.2.symbols.nupkg new file mode 100644 index 00000000..22be3c31 Binary files /dev/null and b/NuGet/Packages/TrackableEntities.Patterns.EF.6/TrackableEntities.Patterns.EF.6.2.5.2.symbols.nupkg differ diff --git a/NuGet/Packages/TrackableEntities.Patterns.EF.6/TrackableEntities.Patterns.EF.6.nuspec b/NuGet/Packages/TrackableEntities.Patterns.EF.6/TrackableEntities.Patterns.EF.6.nuspec index c3956aa6..c916de00 100644 --- a/NuGet/Packages/TrackableEntities.Patterns.EF.6/TrackableEntities.Patterns.EF.6.nuspec +++ b/NuGet/Packages/TrackableEntities.Patterns.EF.6/TrackableEntities.Patterns.EF.6.nuspec @@ -5,9 +5,9 @@ 2.5.0 Trackable Entities Patterns for EF6 Tony Sneed - - http://trackable.codeplex.com/license - http://trackable.codeplex.com + Tony Sneed + https://github.com/tonysneed/trackable-entities/blob/master/License.txt + http://tonysneed.github.io/trackable-entities http://tonysneed.com/images/trackable/tracking-small.png false Provides a basic generic implementation of Repository and Unit of Work patterns. @@ -15,10 +15,10 @@ change-tracking entity-framework repository unitofwork patterns - - - - + + + + diff --git a/NuGet/Packages/TrackableEntities.Patterns/TrackableEntities.Patterns.2.5.2.nupkg b/NuGet/Packages/TrackableEntities.Patterns/TrackableEntities.Patterns.2.5.2.nupkg new file mode 100644 index 00000000..901441e0 Binary files /dev/null and b/NuGet/Packages/TrackableEntities.Patterns/TrackableEntities.Patterns.2.5.2.nupkg differ diff --git a/NuGet/Packages/TrackableEntities.Patterns/TrackableEntities.Patterns.2.5.2.symbols.nupkg b/NuGet/Packages/TrackableEntities.Patterns/TrackableEntities.Patterns.2.5.2.symbols.nupkg new file mode 100644 index 00000000..e31f8105 Binary files /dev/null and b/NuGet/Packages/TrackableEntities.Patterns/TrackableEntities.Patterns.2.5.2.symbols.nupkg differ diff --git a/NuGet/Packages/TrackableEntities.Patterns/TrackableEntities.Patterns.nuspec b/NuGet/Packages/TrackableEntities.Patterns/TrackableEntities.Patterns.nuspec index b59cbea9..da3b290f 100644 --- a/NuGet/Packages/TrackableEntities.Patterns/TrackableEntities.Patterns.nuspec +++ b/NuGet/Packages/TrackableEntities.Patterns/TrackableEntities.Patterns.nuspec @@ -2,12 +2,12 @@ TrackableEntities.Patterns - 2.5.0 + 2.5.2 Trackable Entities Patterns Tony Sneed Tony Sneed - http://trackable.codeplex.com/license - http://trackable.codeplex.com + https://github.com/tonysneed/trackable-entities/blob/master/License.txt + http://tonysneed.github.io/trackable-entities http://tonysneed.com/images/trackable/tracking-small.png false Assembly containing generic IRepository and IUnitOfWork interfaces. diff --git a/Samples/VS2013/WcfSample/WcfSample.Client.Entities/WcfSample.Client.Entities.csproj b/Samples/VS2013/WcfSample/WcfSample.Client.Entities/WcfSample.Client.Entities.csproj index 642c5062..7cff9433 100644 --- a/Samples/VS2013/WcfSample/WcfSample.Client.Entities/WcfSample.Client.Entities.csproj +++ b/Samples/VS2013/WcfSample/WcfSample.Client.Entities/WcfSample.Client.Entities.csproj @@ -59,14 +59,17 @@ - + ..\packages\Newtonsoft.Json.6.0.8\lib\portable-net45+wp80+win8+wpa81+aspnetcore50\Newtonsoft.Json.dll + True - - ..\packages\TrackableEntities.Client.2.5.0\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll + + ..\packages\TrackableEntities.Client.2.5.2\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll + True - - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + True diff --git a/Samples/VS2013/WcfSample/WcfSample.Client.Entities/packages.config b/Samples/VS2013/WcfSample/WcfSample.Client.Entities/packages.config index 0719a696..810d07f7 100644 --- a/Samples/VS2013/WcfSample/WcfSample.Client.Entities/packages.config +++ b/Samples/VS2013/WcfSample/WcfSample.Client.Entities/packages.config @@ -1,7 +1,7 @@  - - + + - + \ No newline at end of file diff --git a/Samples/VS2013/WcfSample/WcfSample.ConsoleClient/WcfSample.ConsoleClient.csproj b/Samples/VS2013/WcfSample/WcfSample.ConsoleClient/WcfSample.ConsoleClient.csproj index 98ab35b6..d4b2bf95 100644 --- a/Samples/VS2013/WcfSample/WcfSample.ConsoleClient/WcfSample.ConsoleClient.csproj +++ b/Samples/VS2013/WcfSample/WcfSample.ConsoleClient/WcfSample.ConsoleClient.csproj @@ -50,12 +50,12 @@ - False - ..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll + True - - False - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + True diff --git a/Samples/VS2013/WcfSample/WcfSample.ConsoleClient/packages.config b/Samples/VS2013/WcfSample/WcfSample.ConsoleClient/packages.config index 748a0574..7e617e90 100644 --- a/Samples/VS2013/WcfSample/WcfSample.ConsoleClient/packages.config +++ b/Samples/VS2013/WcfSample/WcfSample.ConsoleClient/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Samples/VS2013/WcfSample/WcfSample.Service.Core/WcfSample.Service.Core.csproj b/Samples/VS2013/WcfSample/WcfSample.Service.Core/WcfSample.Service.Core.csproj index 5b24d3cf..41f1bf1e 100644 --- a/Samples/VS2013/WcfSample/WcfSample.Service.Core/WcfSample.Service.Core.csproj +++ b/Samples/VS2013/WcfSample/WcfSample.Service.Core/WcfSample.Service.Core.csproj @@ -34,14 +34,14 @@ - False - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll + True - - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll True - + ..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll True @@ -55,16 +55,16 @@ - False - ..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll + True - - False - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + True - - False - ..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + + ..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll + True ..\packages\WcfSerializationHelper.1.0.0\lib\net45\WcfSerializationHelper.dll diff --git a/Samples/VS2013/WcfSample/WcfSample.Service.Core/packages.config b/Samples/VS2013/WcfSample/WcfSample.Service.Core/packages.config index 2774e939..676ffc55 100644 --- a/Samples/VS2013/WcfSample/WcfSample.Service.Core/packages.config +++ b/Samples/VS2013/WcfSample/WcfSample.Service.Core/packages.config @@ -1,9 +1,9 @@  - + - - - + + + \ No newline at end of file diff --git a/Samples/VS2013/WcfSample/WcfSample.Service.Entities/App.config b/Samples/VS2013/WcfSample/WcfSample.Service.Entities/App.config index 248eff0a..db378896 100644 --- a/Samples/VS2013/WcfSample/WcfSample.Service.Entities/App.config +++ b/Samples/VS2013/WcfSample/WcfSample.Service.Entities/App.config @@ -1,12 +1,11 @@ - +
- + diff --git a/Samples/VS2013/WcfSample/WcfSample.Service.Entities/WcfSample.Service.Entities.csproj b/Samples/VS2013/WcfSample/WcfSample.Service.Entities/WcfSample.Service.Entities.csproj index d7cb1680..0c51653e 100644 --- a/Samples/VS2013/WcfSample/WcfSample.Service.Entities/WcfSample.Service.Entities.csproj +++ b/Samples/VS2013/WcfSample/WcfSample.Service.Entities/WcfSample.Service.Entities.csproj @@ -34,16 +34,16 @@ - False - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll + True - - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll True - False ..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll + True @@ -55,16 +55,16 @@ - False - ..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll + True - False - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + True - False - ..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + ..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll + True diff --git a/Samples/VS2013/WcfSample/WcfSample.Service.Entities/packages.config b/Samples/VS2013/WcfSample/WcfSample.Service.Entities/packages.config index 21b6cf8a..4a11e116 100644 --- a/Samples/VS2013/WcfSample/WcfSample.Service.Entities/packages.config +++ b/Samples/VS2013/WcfSample/WcfSample.Service.Entities/packages.config @@ -1,9 +1,9 @@  - + - + - - + + \ No newline at end of file diff --git a/Samples/VS2013/WcfSample/WcfSample.Service.Web/WcfSample.Service.Web.csproj b/Samples/VS2013/WcfSample/WcfSample.Service.Web/WcfSample.Service.Web.csproj index 82f7c3af..36a95573 100644 --- a/Samples/VS2013/WcfSample/WcfSample.Service.Web/WcfSample.Service.Web.csproj +++ b/Samples/VS2013/WcfSample/WcfSample.Service.Web/WcfSample.Service.Web.csproj @@ -41,14 +41,6 @@ 4 - - False - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll - - - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll - True - False diff --git a/Samples/VS2013/WcfSample/WcfSample.Service.Web/packages.config b/Samples/VS2013/WcfSample/WcfSample.Service.Web/packages.config index de1e4869..ee3d4153 100644 --- a/Samples/VS2013/WcfSample/WcfSample.Service.Web/packages.config +++ b/Samples/VS2013/WcfSample/WcfSample.Service.Web/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Samples/VS2013/WcfSample/WcfSample.Shared.Entities.Net45/App.config b/Samples/VS2013/WcfSample/WcfSample.Shared.Entities.Net45/App.config index 7182dde1..8d02f723 100644 --- a/Samples/VS2013/WcfSample/WcfSample.Shared.Entities.Net45/App.config +++ b/Samples/VS2013/WcfSample/WcfSample.Shared.Entities.Net45/App.config @@ -1,9 +1,9 @@  - +
- + diff --git a/Samples/VS2013/WcfSample/WcfSample.Shared.Entities.Net45/WcfSample.Shared.Entities.Net45.csproj b/Samples/VS2013/WcfSample/WcfSample.Shared.Entities.Net45/WcfSample.Shared.Entities.Net45.csproj index 0b838d51..ab7936df 100644 --- a/Samples/VS2013/WcfSample/WcfSample.Shared.Entities.Net45/WcfSample.Shared.Entities.Net45.csproj +++ b/Samples/VS2013/WcfSample/WcfSample.Shared.Entities.Net45/WcfSample.Shared.Entities.Net45.csproj @@ -32,16 +32,17 @@ 4 - - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll + True - - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll True - - False + ..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll + True @@ -54,15 +55,16 @@ - False - ..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll + True - False - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + True - ..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + ..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll + True diff --git a/Samples/VS2013/WcfSample/WcfSample.Shared.Entities.Net45/packages.config b/Samples/VS2013/WcfSample/WcfSample.Shared.Entities.Net45/packages.config index 1c470ff4..8509ca6a 100644 --- a/Samples/VS2013/WcfSample/WcfSample.Shared.Entities.Net45/packages.config +++ b/Samples/VS2013/WcfSample/WcfSample.Shared.Entities.Net45/packages.config @@ -1,9 +1,9 @@  - + - + - - + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.ConsoleClient/SampleWebApi.Inheritance.ConsoleClient.csproj b/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.ConsoleClient/SampleWebApi.Inheritance.ConsoleClient.csproj index e941ea40..a9e24e31 100644 --- a/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.ConsoleClient/SampleWebApi.Inheritance.ConsoleClient.csproj +++ b/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.ConsoleClient/SampleWebApi.Inheritance.ConsoleClient.csproj @@ -52,12 +52,12 @@ - False - ..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll + True - False - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + True diff --git a/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.ConsoleClient/packages.config b/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.ConsoleClient/packages.config index 937697e8..7b984de1 100644 --- a/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.ConsoleClient/packages.config +++ b/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.ConsoleClient/packages.config @@ -2,6 +2,6 @@ - - + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.Shared.Entities/App.config b/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.Shared.Entities/App.config index 2fb423e8..01f6c9b5 100644 --- a/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.Shared.Entities/App.config +++ b/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.Shared.Entities/App.config @@ -1,9 +1,9 @@  - +
- + diff --git a/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.Shared.Entities/SampleWebApi.Inheritance.Shared.Entities.csproj b/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.Shared.Entities/SampleWebApi.Inheritance.Shared.Entities.csproj index a881f707..8895688b 100644 --- a/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.Shared.Entities/SampleWebApi.Inheritance.Shared.Entities.csproj +++ b/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.Shared.Entities/SampleWebApi.Inheritance.Shared.Entities.csproj @@ -31,10 +31,11 @@ - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll + True - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll True @@ -52,15 +53,16 @@ - False - ..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll + True - False - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + True - - ..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + + ..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll + True diff --git a/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.Shared.Entities/packages.config b/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.Shared.Entities/packages.config index 1c470ff4..8509ca6a 100644 --- a/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.Shared.Entities/packages.config +++ b/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.Shared.Entities/packages.config @@ -1,9 +1,9 @@  - + - + - - + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.WebApi/App_Data/NorthwindSlimInheritance.mdf b/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.WebApi/App_Data/NorthwindSlimInheritance.mdf index 2d8a3c21..f6490654 100644 Binary files a/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.WebApi/App_Data/NorthwindSlimInheritance.mdf and b/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.WebApi/App_Data/NorthwindSlimInheritance.mdf differ diff --git a/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.WebApi/App_Data/NorthwindSlimInheritance_log.ldf b/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.WebApi/App_Data/NorthwindSlimInheritance_log.ldf index dba6dc1c..a832a03d 100644 Binary files a/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.WebApi/App_Data/NorthwindSlimInheritance_log.ldf and b/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.WebApi/App_Data/NorthwindSlimInheritance_log.ldf differ diff --git a/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.WebApi/SampleWebApi.Inheritance.WebApi.csproj b/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.WebApi/SampleWebApi.Inheritance.WebApi.csproj index 2f9cfcae..ac14ed67 100644 --- a/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.WebApi/SampleWebApi.Inheritance.WebApi.csproj +++ b/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.WebApi/SampleWebApi.Inheritance.WebApi.csproj @@ -44,13 +44,13 @@ False ..\packages\Antlr.3.5.0.2\lib\Antlr3.Runtime.dll - - False - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll + True - - False - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll + True @@ -122,16 +122,16 @@ - False - ..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll + True - False - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + True - False - ..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + ..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll + True False diff --git a/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.WebApi/packages.config b/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.WebApi/packages.config index 760539ed..185986b1 100644 --- a/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.WebApi/packages.config +++ b/Samples/VS2013/WebApiSample.Inheritance/SampleWebApi.Inheritance.WebApi/packages.config @@ -2,7 +2,7 @@ - + @@ -19,9 +19,9 @@ - - - + + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Client.Entities.Temp/App.config b/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Client.Entities.Temp/App.config index 65027c26..340e303a 100644 --- a/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Client.Entities.Temp/App.config +++ b/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Client.Entities.Temp/App.config @@ -1,9 +1,9 @@  - +
- + diff --git a/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Client.Entities.Temp/WebApiSample.Client.Entities.Temp.csproj b/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Client.Entities.Temp/WebApiSample.Client.Entities.Temp.csproj index 48118df3..89321a21 100644 --- a/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Client.Entities.Temp/WebApiSample.Client.Entities.Temp.csproj +++ b/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Client.Entities.Temp/WebApiSample.Client.Entities.Temp.csproj @@ -32,11 +32,13 @@ 4 - - ..\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.dll + + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll + True - - ..\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.SqlServer.dll + + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll + True ..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll @@ -53,12 +55,12 @@ - - ..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + + ..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll True - - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll True diff --git a/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Client.Entities.Temp/packages.config b/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Client.Entities.Temp/packages.config index 82898aa9..d8179048 100644 --- a/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Client.Entities.Temp/packages.config +++ b/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Client.Entities.Temp/packages.config @@ -1,7 +1,7 @@  - + - - + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Client.Entities/WebApiSample.Client.Entities.csproj b/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Client.Entities/WebApiSample.Client.Entities.csproj index 16a1b195..6235f6f4 100644 --- a/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Client.Entities/WebApiSample.Client.Entities.csproj +++ b/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Client.Entities/WebApiSample.Client.Entities.csproj @@ -79,11 +79,10 @@ ..\packages\Newtonsoft.Json.6.0.8\lib\portable-net45+wp80+win8+wpa81+aspnetcore50\Newtonsoft.Json.dll - ..\packages\TrackableEntities.Client.2.5.0\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll - True + ..\packages\TrackableEntities.Client.2.5.2\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll True diff --git a/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Client.Entities/packages.config b/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Client.Entities/packages.config index 601de635..2a1da55b 100644 --- a/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Client.Entities/packages.config +++ b/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Client.Entities/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.ConsoleClient/WebApiSample.ConsoleClient.csproj b/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.ConsoleClient/WebApiSample.ConsoleClient.csproj index 2de3df72..548cdc07 100644 --- a/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.ConsoleClient/WebApiSample.ConsoleClient.csproj +++ b/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.ConsoleClient/WebApiSample.ConsoleClient.csproj @@ -53,11 +53,11 @@ - ..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll True - - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll True diff --git a/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.ConsoleClient/packages.config b/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.ConsoleClient/packages.config index 937697e8..7b984de1 100644 --- a/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.ConsoleClient/packages.config +++ b/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.ConsoleClient/packages.config @@ -2,6 +2,6 @@ - - + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Service.Entities/WebApiSample.Service.Entities.csproj b/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Service.Entities/WebApiSample.Service.Entities.csproj index 30f18b14..c818ad78 100644 --- a/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Service.Entities/WebApiSample.Service.Entities.csproj +++ b/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Service.Entities/WebApiSample.Service.Entities.csproj @@ -33,12 +33,12 @@ - False - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll + True - False - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll + True False @@ -55,12 +55,12 @@ - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll True - False - ..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + ..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll + True diff --git a/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Service.Entities/packages.config b/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Service.Entities/packages.config index 80901cec..32e59a02 100644 --- a/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Service.Entities/packages.config +++ b/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.Service.Entities/packages.config @@ -1,7 +1,7 @@  - + - - + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.WebApi/WebApiSample.WebApi.csproj b/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.WebApi/WebApiSample.WebApi.csproj index fcd299ce..46592b04 100644 --- a/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.WebApi/WebApiSample.WebApi.csproj +++ b/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.WebApi/WebApiSample.WebApi.csproj @@ -49,12 +49,12 @@ ..\packages\AspNetWebApi2Helpers.Serialization.1.0.0\lib\portable-net45+win+wpa81+wp80\AspnetWebApi2Helpers.Serialization.dll - False - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll + True - False - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll + True @@ -123,12 +123,13 @@ - - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + True - False - ..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + ..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll + True False diff --git a/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.WebApi/packages.config b/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.WebApi/packages.config index 2fc13c05..f5523017 100644 --- a/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.WebApi/packages.config +++ b/Samples/VS2013/WebApiSample.ModelFirst/WebApiSample.WebApi/packages.config @@ -3,7 +3,7 @@ - + @@ -20,8 +20,8 @@ - - + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm.WpfClient/WebApiSample.Mvvm.WpfClient.csproj b/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm.WpfClient/WebApiSample.Mvvm.WpfClient.csproj index 3884f6c9..96a91e07 100644 --- a/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm.WpfClient/WebApiSample.Mvvm.WpfClient.csproj +++ b/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm.WpfClient/WebApiSample.Mvvm.WpfClient.csproj @@ -80,12 +80,12 @@ 4.0 - False - ..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll + True - False - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + True diff --git a/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm.WpfClient/packages.config b/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm.WpfClient/packages.config index 8287e330..fb318d2f 100644 --- a/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm.WpfClient/packages.config +++ b/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm.WpfClient/packages.config @@ -4,6 +4,6 @@ - - + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.Client.Entities/WebApiSample.Mvvm.Client.Entities.csproj b/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.Client.Entities/WebApiSample.Mvvm.Client.Entities.csproj index 744aed85..81284f2a 100644 --- a/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.Client.Entities/WebApiSample.Mvvm.Client.Entities.csproj +++ b/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.Client.Entities/WebApiSample.Mvvm.Client.Entities.csproj @@ -59,11 +59,12 @@ ..\..\packages\Newtonsoft.Json.6.0.8\lib\portable-net45+wp80+win8+wpa81+aspnetcore50\Newtonsoft.Json.dll True - - ..\..\packages\TrackableEntities.Client.2.5.0\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll + + ..\..\packages\TrackableEntities.Client.2.5.2\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll + True - - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll True diff --git a/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.Client.Entities/packages.config b/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.Client.Entities/packages.config index 142f1d57..1775fd52 100644 --- a/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.Client.Entities/packages.config +++ b/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.Client.Entities/packages.config @@ -1,7 +1,7 @@  - + - + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.ConsoleClient/WebApiSample.Mvvm.ConsoleClient.csproj b/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.ConsoleClient/WebApiSample.Mvvm.ConsoleClient.csproj index 0f001918..0ce3a8ec 100644 --- a/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.ConsoleClient/WebApiSample.Mvvm.ConsoleClient.csproj +++ b/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.ConsoleClient/WebApiSample.Mvvm.ConsoleClient.csproj @@ -51,13 +51,12 @@ - - False - ..\..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + + ..\..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll + True - - False - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll diff --git a/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.ConsoleClient/packages.config b/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.ConsoleClient/packages.config index 937697e8..7b984de1 100644 --- a/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.ConsoleClient/packages.config +++ b/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.ConsoleClient/packages.config @@ -2,6 +2,6 @@ - - + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.Service.Entities/App.config b/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.Service.Entities/App.config index 230fbadd..df8035b7 100644 --- a/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.Service.Entities/App.config +++ b/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.Service.Entities/App.config @@ -1,12 +1,11 @@ - +
- + diff --git a/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.Service.Entities/WebApiSample.Mvvm.Service.Entities.csproj b/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.Service.Entities/WebApiSample.Mvvm.Service.Entities.csproj index 8a0b0a27..9aa2449c 100644 --- a/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.Service.Entities/WebApiSample.Mvvm.Service.Entities.csproj +++ b/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.Service.Entities/WebApiSample.Mvvm.Service.Entities.csproj @@ -32,12 +32,12 @@ - False - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll + True - False - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll + True False @@ -53,12 +53,12 @@ - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll True - False - ..\..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + ..\..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll + True diff --git a/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.Service.Entities/packages.config b/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.Service.Entities/packages.config index b41ceb73..b8bd56e7 100644 --- a/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.Service.Entities/packages.config +++ b/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.Service.Entities/packages.config @@ -1,8 +1,8 @@  - + - - + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.WebApi/WebApiSample.Mvvm.WebApi.csproj b/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.WebApi/WebApiSample.Mvvm.WebApi.csproj index 33e0df2a..f1d9df91 100644 --- a/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.WebApi/WebApiSample.Mvvm.WebApi.csproj +++ b/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.WebApi/WebApiSample.Mvvm.WebApi.csproj @@ -48,12 +48,12 @@ ..\..\packages\AspNetWebApi2Helpers.Serialization.1.0.0\lib\portable-net45+win+wpa81+wp80\AspnetWebApi2Helpers.Serialization.dll - False - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll + True - False - ..\..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll + True @@ -123,13 +123,13 @@ False ..\..\packages\Microsoft.AspNet.Web.Optimization.1.1.3\lib\net40\System.Web.Optimization.dll - - ..\..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + + ..\..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll True - False - ..\..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + ..\..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll + True False diff --git a/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.WebApi/packages.config b/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.WebApi/packages.config index 50b97b4f..10385c2d 100644 --- a/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.WebApi/packages.config +++ b/Samples/VS2013/WebApiSample.Mvvm/WebApiSample.Mvvm/WebApiSample.Mvvm.WebApi/packages.config @@ -3,7 +3,7 @@ - + @@ -22,7 +22,8 @@ - + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Client.Entities/WebApiSample.Client.Entities.csproj b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Client.Entities/WebApiSample.Client.Entities.csproj index e045795e..9bf2d8dd 100644 --- a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Client.Entities/WebApiSample.Client.Entities.csproj +++ b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Client.Entities/WebApiSample.Client.Entities.csproj @@ -62,12 +62,12 @@ ..\packages\Newtonsoft.Json.6.0.8\lib\portable-net45+wp80+win8+wpa81+aspnetcore50\Newtonsoft.Json.dll - - ..\packages\TrackableEntities.Client.2.5.0\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll + + ..\packages\TrackableEntities.Client.2.5.2\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll True - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll True diff --git a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Client.Entities/packages.config b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Client.Entities/packages.config index 0719a696..30015a1b 100644 --- a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Client.Entities/packages.config +++ b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Client.Entities/packages.config @@ -1,7 +1,7 @@  - + - + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.ConsoleClient/WebApiSample.ConsoleClient.csproj b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.ConsoleClient/WebApiSample.ConsoleClient.csproj index 842e4596..87ef0d93 100644 --- a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.ConsoleClient/WebApiSample.ConsoleClient.csproj +++ b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.ConsoleClient/WebApiSample.ConsoleClient.csproj @@ -52,13 +52,13 @@ - - ..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + + ..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll True - False - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + True diff --git a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.ConsoleClient/packages.config b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.ConsoleClient/packages.config index 937697e8..7b984de1 100644 --- a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.ConsoleClient/packages.config +++ b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.ConsoleClient/packages.config @@ -2,6 +2,6 @@ - - + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.EF/WebApiSample.Service.EF.csproj b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.EF/WebApiSample.Service.EF.csproj index e9b0d72c..dbc3fade 100644 --- a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.EF/WebApiSample.Service.EF.csproj +++ b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.EF/WebApiSample.Service.EF.csproj @@ -32,13 +32,13 @@ 4 - - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll True - False - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll + True False @@ -53,20 +53,20 @@ - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll True - - False - ..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + + ..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll + True - - False - ..\packages\TrackableEntities.Patterns.2.5.0\lib\net45\TrackableEntities.Patterns.dll + + ..\packages\TrackableEntities.Patterns.2.5.2\lib\net45\TrackableEntities.Patterns.dll + True - - False - ..\packages\TrackableEntities.Patterns.EF.6.2.5.0\lib\net45\TrackableEntities.Patterns.EF.6.dll + + ..\packages\TrackableEntities.Patterns.EF.6.2.5.2\lib\net45\TrackableEntities.Patterns.EF.6.dll + True diff --git a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.EF/packages.config b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.EF/packages.config index 008b93b0..ff7e359b 100644 --- a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.EF/packages.config +++ b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.EF/packages.config @@ -1,9 +1,9 @@  - + - - - - + + + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.Entities/App.config b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.Entities/App.config index 5498326f..b769b58c 100644 --- a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.Entities/App.config +++ b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.Entities/App.config @@ -1,12 +1,11 @@ - +
- + diff --git a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.Entities/WebApiSample.Service.Entities.csproj b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.Entities/WebApiSample.Service.Entities.csproj index ba2ac4a8..5d1544e8 100644 --- a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.Entities/WebApiSample.Service.Entities.csproj +++ b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.Entities/WebApiSample.Service.Entities.csproj @@ -32,12 +32,12 @@ 4 - - False - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll + True - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll True @@ -53,8 +53,8 @@ - - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll True diff --git a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.Entities/packages.config b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.Entities/packages.config index 6b196cee..010fa3ff 100644 --- a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.Entities/packages.config +++ b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.Entities/packages.config @@ -1,7 +1,7 @@  - + - + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.Persistence/WebApiSample.Service.Persistence.csproj b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.Persistence/WebApiSample.Service.Persistence.csproj index 1ffa1022..1e38f95f 100644 --- a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.Persistence/WebApiSample.Service.Persistence.csproj +++ b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.Persistence/WebApiSample.Service.Persistence.csproj @@ -39,12 +39,12 @@ - - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll True - - ..\packages\TrackableEntities.Patterns.2.5.0\lib\net45\TrackableEntities.Patterns.dll + + ..\packages\TrackableEntities.Patterns.2.5.2\lib\net45\TrackableEntities.Patterns.dll True diff --git a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.Persistence/packages.config b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.Persistence/packages.config index 3fa3b9a0..74c2af02 100644 --- a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.Persistence/packages.config +++ b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.Service.Persistence/packages.config @@ -1,5 +1,5 @@  - - + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.WebApi/WebApiSample.WebApi.csproj b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.WebApi/WebApiSample.WebApi.csproj index 240176d4..4e00f51b 100644 --- a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.WebApi/WebApiSample.WebApi.csproj +++ b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.WebApi/WebApiSample.WebApi.csproj @@ -48,12 +48,8 @@ ..\packages\AspNetWebApi2Helpers.Serialization.1.0.0\lib\portable-net45+win+wpa81+wp80\AspnetWebApi2Helpers.Serialization.dll - - False - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll - - - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll True @@ -61,20 +57,20 @@ ..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll True - - ..\packages\SimpleInjector.2.7.2\lib\net45\SimpleInjector.dll + + ..\packages\SimpleInjector.2.7.3\lib\net45\SimpleInjector.dll True - - ..\packages\SimpleInjector.2.7.2\lib\net45\SimpleInjector.Diagnostics.dll + + ..\packages\SimpleInjector.2.7.3\lib\net45\SimpleInjector.Diagnostics.dll True - - ..\packages\SimpleInjector.Extensions.ExecutionContextScoping.2.7.2\lib\net45\SimpleInjector.Extensions.ExecutionContextScoping.dll + + ..\packages\SimpleInjector.Extensions.ExecutionContextScoping.2.7.3\lib\net45\SimpleInjector.Extensions.ExecutionContextScoping.dll True - - ..\packages\SimpleInjector.Integration.WebApi.2.7.2\lib\net45\SimpleInjector.Integration.WebApi.dll + + ..\packages\SimpleInjector.Integration.WebApi.2.7.3\lib\net45\SimpleInjector.Integration.WebApi.dll True @@ -140,21 +136,21 @@ - - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll True - - ..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + + ..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll True - False - ..\packages\TrackableEntities.Patterns.2.5.0\lib\net45\TrackableEntities.Patterns.dll + ..\packages\TrackableEntities.Patterns.2.5.2\lib\net45\TrackableEntities.Patterns.dll + True - False - ..\packages\TrackableEntities.Patterns.EF.6.2.5.0\lib\net45\TrackableEntities.Patterns.EF.6.dll + ..\packages\TrackableEntities.Patterns.EF.6.2.5.2\lib\net45\TrackableEntities.Patterns.EF.6.dll + True ..\packages\WebActivator.1.4.4\lib\net40\WebActivator.dll diff --git a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.WebApi/packages.config b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.WebApi/packages.config index bf836a68..bce18bf4 100644 --- a/Samples/VS2013/WebApiSample.Patterns/WebApiSample.WebApi/packages.config +++ b/Samples/VS2013/WebApiSample.Patterns/WebApiSample.WebApi/packages.config @@ -3,7 +3,7 @@ - + @@ -20,13 +20,13 @@ - - - - - - - + + + + + + + diff --git a/Samples/VS2013/WebApiSample.Relations/WebApiSample.Client.Entities/WebApiSample.Client.Entities.csproj b/Samples/VS2013/WebApiSample.Relations/WebApiSample.Client.Entities/WebApiSample.Client.Entities.csproj index 9331f92b..496f93fd 100644 --- a/Samples/VS2013/WebApiSample.Relations/WebApiSample.Client.Entities/WebApiSample.Client.Entities.csproj +++ b/Samples/VS2013/WebApiSample.Relations/WebApiSample.Client.Entities/WebApiSample.Client.Entities.csproj @@ -63,11 +63,13 @@ ..\packages\Newtonsoft.Json.6.0.8\lib\portable-net45+wp80+win8+wpa81+aspnetcore50\Newtonsoft.Json.dll True - - ..\packages\TrackableEntities.Client.2.5.0\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll + + ..\packages\TrackableEntities.Client.2.5.2\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll + True - - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + True diff --git a/Samples/VS2013/WebApiSample.Relations/WebApiSample.Client.Entities/packages.config b/Samples/VS2013/WebApiSample.Relations/WebApiSample.Client.Entities/packages.config index 142f1d57..1775fd52 100644 --- a/Samples/VS2013/WebApiSample.Relations/WebApiSample.Client.Entities/packages.config +++ b/Samples/VS2013/WebApiSample.Relations/WebApiSample.Client.Entities/packages.config @@ -1,7 +1,7 @@  - + - + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample.Relations/WebApiSample.ConsoleClient/WebApiSample.ConsoleClient.csproj b/Samples/VS2013/WebApiSample.Relations/WebApiSample.ConsoleClient/WebApiSample.ConsoleClient.csproj index f9c0e7e6..74edf665 100644 --- a/Samples/VS2013/WebApiSample.Relations/WebApiSample.ConsoleClient/WebApiSample.ConsoleClient.csproj +++ b/Samples/VS2013/WebApiSample.Relations/WebApiSample.ConsoleClient/WebApiSample.ConsoleClient.csproj @@ -52,12 +52,12 @@ - - ..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + + ..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll True - - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll True diff --git a/Samples/VS2013/WebApiSample.Relations/WebApiSample.ConsoleClient/packages.config b/Samples/VS2013/WebApiSample.Relations/WebApiSample.ConsoleClient/packages.config index 937697e8..7b984de1 100644 --- a/Samples/VS2013/WebApiSample.Relations/WebApiSample.ConsoleClient/packages.config +++ b/Samples/VS2013/WebApiSample.Relations/WebApiSample.ConsoleClient/packages.config @@ -2,6 +2,6 @@ - - + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample.Relations/WebApiSample.Service.Entities/App.config b/Samples/VS2013/WebApiSample.Relations/WebApiSample.Service.Entities/App.config index 734640ea..124eebf3 100644 --- a/Samples/VS2013/WebApiSample.Relations/WebApiSample.Service.Entities/App.config +++ b/Samples/VS2013/WebApiSample.Relations/WebApiSample.Service.Entities/App.config @@ -1,12 +1,11 @@ - +
- + diff --git a/Samples/VS2013/WebApiSample.Relations/WebApiSample.Service.Entities/WebApiSample.Service.Entities.csproj b/Samples/VS2013/WebApiSample.Relations/WebApiSample.Service.Entities/WebApiSample.Service.Entities.csproj index f10588fc..9388b6ce 100644 --- a/Samples/VS2013/WebApiSample.Relations/WebApiSample.Service.Entities/WebApiSample.Service.Entities.csproj +++ b/Samples/VS2013/WebApiSample.Relations/WebApiSample.Service.Entities/WebApiSample.Service.Entities.csproj @@ -32,13 +32,13 @@ 4 - - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll True - False - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll + True ..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll @@ -53,12 +53,12 @@ - - False - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + True - ..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + ..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll True diff --git a/Samples/VS2013/WebApiSample.Relations/WebApiSample.Service.Entities/packages.config b/Samples/VS2013/WebApiSample.Relations/WebApiSample.Service.Entities/packages.config index b41ceb73..b8bd56e7 100644 --- a/Samples/VS2013/WebApiSample.Relations/WebApiSample.Service.Entities/packages.config +++ b/Samples/VS2013/WebApiSample.Relations/WebApiSample.Service.Entities/packages.config @@ -1,8 +1,8 @@  - + - - + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample.Relations/WebApiSample.WebApi/WebApiSample.WebApi.csproj b/Samples/VS2013/WebApiSample.Relations/WebApiSample.WebApi/WebApiSample.WebApi.csproj index b98c1c67..60815237 100644 --- a/Samples/VS2013/WebApiSample.Relations/WebApiSample.WebApi/WebApiSample.WebApi.csproj +++ b/Samples/VS2013/WebApiSample.Relations/WebApiSample.WebApi/WebApiSample.WebApi.csproj @@ -48,12 +48,12 @@ ..\packages\AspNetWebApi2Helpers.Serialization.1.0.0\lib\portable-net45+win+wpa81+wp80\AspnetWebApi2Helpers.Serialization.dll - - False - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll + True - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll True @@ -124,11 +124,12 @@ - - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + True - - ..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + + ..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll True diff --git a/Samples/VS2013/WebApiSample.Relations/WebApiSample.WebApi/packages.config b/Samples/VS2013/WebApiSample.Relations/WebApiSample.WebApi/packages.config index 2fc13c05..f5523017 100644 --- a/Samples/VS2013/WebApiSample.Relations/WebApiSample.WebApi/packages.config +++ b/Samples/VS2013/WebApiSample.Relations/WebApiSample.WebApi/packages.config @@ -3,7 +3,7 @@ - + @@ -20,8 +20,8 @@ - - + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample/WebApiSample.Client.Entities.Net45/WebApiSample.Client.Entities.Net45.csproj b/Samples/VS2013/WebApiSample/WebApiSample.Client.Entities.Net45/WebApiSample.Client.Entities.Net45.csproj index ef34bef3..a76b8ad5 100644 --- a/Samples/VS2013/WebApiSample/WebApiSample.Client.Entities.Net45/WebApiSample.Client.Entities.Net45.csproj +++ b/Samples/VS2013/WebApiSample/WebApiSample.Client.Entities.Net45/WebApiSample.Client.Entities.Net45.csproj @@ -47,12 +47,13 @@ - - False - ..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + + ..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll + True - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + True diff --git a/Samples/VS2013/WebApiSample/WebApiSample.Client.Entities.Net45/packages.config b/Samples/VS2013/WebApiSample/WebApiSample.Client.Entities.Net45/packages.config index c3b6e281..53457749 100644 --- a/Samples/VS2013/WebApiSample/WebApiSample.Client.Entities.Net45/packages.config +++ b/Samples/VS2013/WebApiSample/WebApiSample.Client.Entities.Net45/packages.config @@ -1,6 +1,7 @@  - + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample/WebApiSample.Client.Entities/WebApiSample.Client.Entities.csproj b/Samples/VS2013/WebApiSample/WebApiSample.Client.Entities/WebApiSample.Client.Entities.csproj index aeeb597b..246916e8 100644 --- a/Samples/VS2013/WebApiSample/WebApiSample.Client.Entities/WebApiSample.Client.Entities.csproj +++ b/Samples/VS2013/WebApiSample/WebApiSample.Client.Entities/WebApiSample.Client.Entities.csproj @@ -65,11 +65,13 @@ ..\packages\Newtonsoft.Json.6.0.8\lib\portable-net45+wp80+win8+wpa81+aspnetcore50\Newtonsoft.Json.dll True - - ..\packages\TrackableEntities.Client.2.5.0\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll + + ..\packages\TrackableEntities.Client.2.5.2\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll + True - - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + True diff --git a/Samples/VS2013/WebApiSample/WebApiSample.Client.Entities/packages.config b/Samples/VS2013/WebApiSample/WebApiSample.Client.Entities/packages.config index 142f1d57..1775fd52 100644 --- a/Samples/VS2013/WebApiSample/WebApiSample.Client.Entities/packages.config +++ b/Samples/VS2013/WebApiSample/WebApiSample.Client.Entities/packages.config @@ -1,7 +1,7 @@  - + - + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample/WebApiSample.ConsoleClient/App.config b/Samples/VS2013/WebApiSample/WebApiSample.ConsoleClient/App.config index 75a0d78c..bcb142cb 100644 --- a/Samples/VS2013/WebApiSample/WebApiSample.ConsoleClient/App.config +++ b/Samples/VS2013/WebApiSample/WebApiSample.ConsoleClient/App.config @@ -13,6 +13,10 @@ + + + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample/WebApiSample.ConsoleClient/WebApiSample.ConsoleClient.csproj b/Samples/VS2013/WebApiSample/WebApiSample.ConsoleClient/WebApiSample.ConsoleClient.csproj index d75a2d8f..fae27ce3 100644 --- a/Samples/VS2013/WebApiSample/WebApiSample.ConsoleClient/WebApiSample.ConsoleClient.csproj +++ b/Samples/VS2013/WebApiSample/WebApiSample.ConsoleClient/WebApiSample.ConsoleClient.csproj @@ -45,9 +45,9 @@ - - False - ..\packages\Microsoft.AspNet.WebApi.Client.5.2.2\lib\net45\System.Net.Http.Formatting.dll + + ..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll + True @@ -56,11 +56,11 @@ - ..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + ..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll True - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll True diff --git a/Samples/VS2013/WebApiSample/WebApiSample.ConsoleClient/packages.config b/Samples/VS2013/WebApiSample/WebApiSample.ConsoleClient/packages.config index ffe976d3..9967470d 100644 --- a/Samples/VS2013/WebApiSample/WebApiSample.ConsoleClient/packages.config +++ b/Samples/VS2013/WebApiSample/WebApiSample.ConsoleClient/packages.config @@ -1,8 +1,8 @@  - + - - + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample/WebApiSample.Service.Entities/WebApiSample.Service.Entities.csproj b/Samples/VS2013/WebApiSample/WebApiSample.Service.Entities/WebApiSample.Service.Entities.csproj index c4225cc8..6926a254 100644 --- a/Samples/VS2013/WebApiSample/WebApiSample.Service.Entities/WebApiSample.Service.Entities.csproj +++ b/Samples/VS2013/WebApiSample/WebApiSample.Service.Entities/WebApiSample.Service.Entities.csproj @@ -33,11 +33,11 @@ - False - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll + True - - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll True @@ -55,12 +55,13 @@ - - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + True - False - ..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + ..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll + True diff --git a/Samples/VS2013/WebApiSample/WebApiSample.Service.Entities/packages.config b/Samples/VS2013/WebApiSample/WebApiSample.Service.Entities/packages.config index b41ceb73..b8bd56e7 100644 --- a/Samples/VS2013/WebApiSample/WebApiSample.Service.Entities/packages.config +++ b/Samples/VS2013/WebApiSample/WebApiSample.Service.Entities/packages.config @@ -1,8 +1,8 @@  - + - - + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Data/App.config b/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Data/App.config index 2fb423e8..01f6c9b5 100644 --- a/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Data/App.config +++ b/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Data/App.config @@ -1,9 +1,9 @@  - +
- + diff --git a/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Data/WebApiSample.Shared.Entities.Data.csproj b/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Data/WebApiSample.Shared.Entities.Data.csproj index 84c6a890..2d3273f4 100644 --- a/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Data/WebApiSample.Shared.Entities.Data.csproj +++ b/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Data/WebApiSample.Shared.Entities.Data.csproj @@ -33,10 +33,11 @@ - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll + True - - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll True @@ -51,13 +52,13 @@ - - ..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + + ..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll True - False - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + True diff --git a/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Data/packages.config b/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Data/packages.config index 84b6ba4c..cdbf4e9e 100644 --- a/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Data/packages.config +++ b/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Data/packages.config @@ -1,7 +1,7 @@  - + - - + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Net45/App.config b/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Net45/App.config index 1b67e069..e5d47f61 100644 --- a/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Net45/App.config +++ b/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Net45/App.config @@ -1,9 +1,9 @@  - +
- + diff --git a/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Net45/WebApiSample.Shared.Entities.Net45.csproj b/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Net45/WebApiSample.Shared.Entities.Net45.csproj index 78c98084..8125b4d2 100644 --- a/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Net45/WebApiSample.Shared.Entities.Net45.csproj +++ b/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Net45/WebApiSample.Shared.Entities.Net45.csproj @@ -33,11 +33,13 @@ 4 - - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll + + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll + True - - ..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll + + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll + True ..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll @@ -53,17 +55,17 @@ - - ..\packages\TrackableEntities.Client.2.5.0\lib\net45\TrackableEntities.Client.dll + + ..\packages\TrackableEntities.Client.2.5.2\lib\net45\TrackableEntities.Client.dll True - False - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + True - False - ..\packages\TrackableEntities.EF.6.2.5.0\lib\net45\TrackableEntities.EF.6.dll + ..\packages\TrackableEntities.EF.6.2.5.2\lib\net45\TrackableEntities.EF.6.dll + True diff --git a/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Net45/packages.config b/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Net45/packages.config index d1d00bf1..8509ca6a 100644 --- a/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Net45/packages.config +++ b/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Net45/packages.config @@ -1,9 +1,9 @@  - + - + - - + + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Portable/WebApiSample.Shared.Entities.Portable.csproj b/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Portable/WebApiSample.Shared.Entities.Portable.csproj index 2c48bd18..5e6fb928 100644 --- a/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Portable/WebApiSample.Shared.Entities.Portable.csproj +++ b/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Portable/WebApiSample.Shared.Entities.Portable.csproj @@ -52,10 +52,11 @@ True - ..\packages\TrackableEntities.Client.2.5.0\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll + ..\packages\TrackableEntities.Client.2.5.2\lib\portable-net45+wp80+win8+wpa81\TrackableEntities.Client.dll + True - - ..\packages\TrackableEntities.Common.2.5.0\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll + + ..\packages\TrackableEntities.Common.2.5.2.1\lib\portable-net40+sl50+win+wpa81+wp80\TrackableEntities.Common.dll True diff --git a/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Portable/packages.config b/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Portable/packages.config index cf7127d4..c594ad0e 100644 --- a/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Portable/packages.config +++ b/Samples/VS2013/WebApiSample/WebApiSample.Shared.Entities.Portable/packages.config @@ -1,7 +1,7 @@  - + - + \ No newline at end of file diff --git a/Samples/VS2013/WebApiSample/WebApiSample.WebApi/Controllers/CustomerController.cs b/Samples/VS2013/WebApiSample/WebApiSample.WebApi/Controllers/CustomerController.cs index bab9a088..5d066ab6 100644 --- a/Samples/VS2013/WebApiSample/WebApiSample.WebApi/Controllers/CustomerController.cs +++ b/Samples/VS2013/WebApiSample/WebApiSample.WebApi/Controllers/CustomerController.cs @@ -1,16 +1,15 @@ -using System; -using System.Linq; -using System.Collections.Generic; +using System.Collections.Generic; using System.Data.Entity; using System.Data.Entity.Infrastructure; +using System.Linq; using System.Threading.Tasks; using System.Web.Http; using System.Web.Http.Description; using TrackableEntities; -using TrackableEntities.EF6; using TrackableEntities.Common; -using WebApiSample.Shared.Entities.Data.Contexts; -using WebApiSample.Shared.Entities.Portable.Models; +using TrackableEntities.EF6; +using WebApiSample.Service.Entities.Contexts; +using WebApiSample.Service.Entities.Models; namespace WebApiSample.Service.WebApi.Controllers { diff --git a/Samples/VS2013/WebApiSample/WebApiSample.WebApi/Controllers/OrderController.cs b/Samples/VS2013/WebApiSample/WebApiSample.WebApi/Controllers/OrderController.cs index 2747b268..72f2bb3d 100644 --- a/Samples/VS2013/WebApiSample/WebApiSample.WebApi/Controllers/OrderController.cs +++ b/Samples/VS2013/WebApiSample/WebApiSample.WebApi/Controllers/OrderController.cs @@ -1,16 +1,15 @@ -using System; -using System.Linq; -using System.Collections.Generic; +using System.Collections.Generic; using System.Data.Entity; using System.Data.Entity.Infrastructure; +using System.Linq; using System.Threading.Tasks; using System.Web.Http; using System.Web.Http.Description; using TrackableEntities; -using TrackableEntities.EF6; using TrackableEntities.Common; -using WebApiSample.Shared.Entities.Data.Contexts; -using WebApiSample.Shared.Entities.Portable.Models; +using TrackableEntities.EF6; +using WebApiSample.Service.Entities.Contexts; +using WebApiSample.Service.Entities.Models; namespace WebApiSample.Service.WebApi.Controllers { diff --git a/Samples/VS2013/WebApiSample/WebApiSample.WebApi/Icon.png b/Samples/VS2013/WebApiSample/WebApiSample.WebApi/Icon.png new file mode 100644 index 00000000..f0afb2ad Binary files /dev/null and b/Samples/VS2013/WebApiSample/WebApiSample.WebApi/Icon.png differ diff --git a/Samples/VS2013/WebApiSample/WebApiSample.WebApi/Scripts/jquery-2.1.3.min.js b/Samples/VS2013/WebApiSample/WebApiSample.WebApi/Scripts/jquery-2.1.3.min.js new file mode 100644 index 00000000..25714ed2 --- /dev/null +++ b/Samples/VS2013/WebApiSample/WebApiSample.WebApi/Scripts/jquery-2.1.3.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.3 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.3",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function hb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return a[u]=!0,a}function jb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function lb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ob(a){return ib(function(b){return b=+b,ib(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pb(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return gb(b,n,null,[a]).length>0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},gb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=gb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||gb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&gb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=gb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ib(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return function(b){return gb(a,b).length>0}}),contains:ib(function(a){return a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){return W.test(a||"")||gb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function vb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wb(a,b,c,d,e,f){return d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ib(f):f}return h=gb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return f},i=gb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&jb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),jb(function(a){return null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),gb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c) +},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*\s*$/g,ib={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("