commit
5a1b3052be
601 changed files with 714794 additions and 0 deletions
-
983.vs/RegistrationForm/config/applicationhost.config
-
16.vs/RegistrationForm/project-colors.json
-
BIN.vs/RegistrationForm/v16/.suo
-
BIN.vs/RegistrationForm/v17/.suo
-
BIN.vs/slnx.sqlite
-
30App_Start/BundleConfig.cs
-
13App_Start/FilterConfig.cs
-
23App_Start/RouteConfig.cs
-
24Content/Site.css
-
5051Content/bootstrap-grid.css
-
1Content/bootstrap-grid.css.map
-
7Content/bootstrap-grid.min.css
-
1Content/bootstrap-grid.min.css.map
-
5050Content/bootstrap-grid.rtl.css
-
1Content/bootstrap-grid.rtl.css.map
-
7Content/bootstrap-grid.rtl.min.css
-
1Content/bootstrap-grid.rtl.min.css.map
-
485Content/bootstrap-reboot.css
-
1Content/bootstrap-reboot.css.map
-
8Content/bootstrap-reboot.min.css
-
1Content/bootstrap-reboot.min.css.map
-
482Content/bootstrap-reboot.rtl.css
-
1Content/bootstrap-reboot.rtl.css.map
-
8Content/bootstrap-reboot.rtl.min.css
-
1Content/bootstrap-reboot.rtl.min.css.map
-
4866Content/bootstrap-utilities.css
-
1Content/bootstrap-utilities.css.map
-
7Content/bootstrap-utilities.min.css
-
1Content/bootstrap-utilities.min.css.map
-
4857Content/bootstrap-utilities.rtl.css
-
1Content/bootstrap-utilities.rtl.css.map
-
7Content/bootstrap-utilities.rtl.min.css
-
1Content/bootstrap-utilities.rtl.min.css.map
-
11266Content/bootstrap.css
-
1Content/bootstrap.css.map
-
7Content/bootstrap.min.css
-
1Content/bootstrap.min.css.map
-
11242Content/bootstrap.rtl.css
-
1Content/bootstrap.rtl.css.map
-
7Content/bootstrap.rtl.min.css
-
1Content/bootstrap.rtl.min.css.map
-
81Controllers/HomeController.cs
-
1Global.asax
-
21Global.asax.cs
-
21Models/Employ_Table.cs
-
30Models/EmployerListModel.Context.cs
-
636Models/EmployerListModel.Context.tt
-
10Models/EmployerListModel.Designer.cs
-
9Models/EmployerListModel.cs
-
73Models/EmployerListModel.edmx
-
12Models/EmployerListModel.edmx.diagram
-
733Models/EmployerListModel.tt
-
35Properties/AssemblyInfo.cs
-
8README.md
-
301RegistrationForm.csproj
-
46RegistrationForm.csproj.user
-
25RegistrationForm.sln
-
6812Scripts/bootstrap.bundle.js
-
1Scripts/bootstrap.bundle.js.map
-
7Scripts/bootstrap.bundle.min.js
-
1Scripts/bootstrap.bundle.min.js.map
-
4999Scripts/bootstrap.esm.js
-
1Scripts/bootstrap.esm.js.map
-
7Scripts/bootstrap.esm.min.js
-
1Scripts/bootstrap.esm.min.js.map
-
5046Scripts/bootstrap.js
-
1Scripts/bootstrap.js.map
-
7Scripts/bootstrap.min.js
-
1Scripts/bootstrap.min.js.map
-
2670Scripts/jquery-3.6.0.intellisense.js
-
10881Scripts/jquery-3.6.0.js
-
2Scripts/jquery-3.6.0.min.js
-
1Scripts/jquery-3.6.0.min.map
-
8782Scripts/jquery-3.6.0.slim.js
-
2Scripts/jquery-3.6.0.slim.min.js
-
1Scripts/jquery-3.6.0.slim.min.map
-
1288Scripts/jquery.validate-vsdoc.js
-
1657Scripts/jquery.validate.js
-
4Scripts/jquery.validate.min.js
-
711Scripts/jquery.validate.unobtrusive.js
-
283Scripts/jquery.validate.unobtrusive.min.js
-
1406Scripts/modernizr-2.8.3.js
-
71Views/Home/Index.cshtml
-
47Views/Home/Login.cshtml
-
37Views/Home/Main.cshtml
-
22Views/Home/UserDashBoard.cshtml
-
14Views/Shared/Error.cshtml
-
43Views/Shared/_Layout.cshtml
-
43Views/Web.config
-
3Views/_ViewStart.cshtml
-
30Web.Debug.config
-
31Web.Release.config
-
74Web.config
-
BINbin/Antlr3.Runtime.dll
-
BINbin/Antlr3.Runtime.pdb
-
BINbin/EntityFramework.SqlServer.dll
-
2156bin/EntityFramework.SqlServer.xml
-
BINbin/EntityFramework.dll
-
54121bin/EntityFramework.xml
-
BINbin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll
@ -0,0 +1,983 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!-- |
||||
|
|
||||
|
IIS configuration sections. |
||||
|
|
||||
|
For schema documentation, see |
||||
|
%IIS_BIN%\config\schema\IIS_schema.xml. |
||||
|
|
||||
|
Please make a backup of this file before making any changes to it. |
||||
|
|
||||
|
NOTE: The following environment variables are available to be used |
||||
|
within this file and are understood by the IIS Express. |
||||
|
|
||||
|
%IIS_USER_HOME% - The IIS Express home directory for the user |
||||
|
%IIS_SITES_HOME% - The default home directory for sites |
||||
|
%IIS_BIN% - The location of the IIS Express binaries |
||||
|
%SYSTEMDRIVE% - The drive letter of %IIS_BIN% |
||||
|
|
||||
|
--> |
||||
|
<configuration> |
||||
|
<!-- |
||||
|
|
||||
|
The <configSections> section controls the registration of sections. |
||||
|
Section is the basic unit of deployment, locking, searching and |
||||
|
containment for configuration settings. |
||||
|
|
||||
|
Every section belongs to one section group. |
||||
|
A section group is a container of logically-related sections. |
||||
|
|
||||
|
Sections cannot be nested. |
||||
|
Section groups may be nested. |
||||
|
|
||||
|
<section |
||||
|
name="" [Required, Collection Key] [XML name of the section] |
||||
|
allowDefinition="Everywhere" [MachineOnly|MachineToApplication|AppHostOnly|Everywhere] [Level where it can be set] |
||||
|
overrideModeDefault="Allow" [Allow|Deny] [Default delegation mode] |
||||
|
allowLocation="true" [true|false] [Allowed in location tags] |
||||
|
/> |
||||
|
|
||||
|
The recommended way to unlock sections is by using a location tag: |
||||
|
<location path="Default Web Site" overrideMode="Allow"> |
||||
|
<system.webServer> |
||||
|
<asp /> |
||||
|
</system.webServer> |
||||
|
</location> |
||||
|
|
||||
|
--> |
||||
|
<configSections> |
||||
|
<sectionGroup name="system.applicationHost"> |
||||
|
<section name="applicationPools" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
||||
|
<section name="configHistory" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
||||
|
<section name="customMetadata" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
||||
|
<section name="listenerAdapters" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
||||
|
<section name="log" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
||||
|
<section name="serviceAutoStartProviders" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
||||
|
<section name="sites" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
||||
|
<section name="webLimits" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
||||
|
</sectionGroup> |
||||
|
<sectionGroup name="system.webServer"> |
||||
|
<section name="asp" overrideModeDefault="Deny" /> |
||||
|
<section name="caching" overrideModeDefault="Allow" /> |
||||
|
<section name="cgi" overrideModeDefault="Deny" /> |
||||
|
<section name="defaultDocument" overrideModeDefault="Allow" /> |
||||
|
<section name="directoryBrowse" overrideModeDefault="Allow" /> |
||||
|
<section name="fastCgi" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
||||
|
<section name="globalModules" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
||||
|
<section name="handlers" overrideModeDefault="Deny" /> |
||||
|
<section name="httpCompression" overrideModeDefault="Allow" allowDefinition="Everywhere" /> |
||||
|
<section name="httpErrors" overrideModeDefault="Allow" /> |
||||
|
<section name="httpLogging" overrideModeDefault="Deny" /> |
||||
|
<section name="httpProtocol" overrideModeDefault="Allow" /> |
||||
|
<section name="httpRedirect" overrideModeDefault="Allow" /> |
||||
|
<section name="httpTracing" overrideModeDefault="Deny" /> |
||||
|
<section name="isapiFilters" allowDefinition="MachineToApplication" overrideModeDefault="Deny" /> |
||||
|
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" /> |
||||
|
<section name="applicationInitialization" allowDefinition="MachineToApplication" overrideModeDefault="Allow" /> |
||||
|
<section name="odbcLogging" overrideModeDefault="Deny" /> |
||||
|
<sectionGroup name="security"> |
||||
|
<section name="access" overrideModeDefault="Deny" /> |
||||
|
<section name="applicationDependencies" overrideModeDefault="Deny" /> |
||||
|
<sectionGroup name="authentication"> |
||||
|
<section name="anonymousAuthentication" overrideModeDefault="Deny" /> |
||||
|
<section name="basicAuthentication" overrideModeDefault="Deny" /> |
||||
|
<section name="clientCertificateMappingAuthentication" overrideModeDefault="Deny" /> |
||||
|
<section name="digestAuthentication" overrideModeDefault="Deny" /> |
||||
|
<section name="iisClientCertificateMappingAuthentication" overrideModeDefault="Deny" /> |
||||
|
<section name="windowsAuthentication" overrideModeDefault="Deny" /> |
||||
|
</sectionGroup> |
||||
|
<section name="authorization" overrideModeDefault="Allow" /> |
||||
|
<section name="ipSecurity" overrideModeDefault="Deny" /> |
||||
|
<section name="dynamicIpSecurity" overrideModeDefault="Deny" /> |
||||
|
<section name="isapiCgiRestriction" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> |
||||
|
<section name="requestFiltering" overrideModeDefault="Allow" /> |
||||
|
</sectionGroup> |
||||
|
<section name="serverRuntime" overrideModeDefault="Deny" /> |
||||
|
<section name="serverSideInclude" overrideModeDefault="Deny" /> |
||||
|
<section name="staticContent" overrideModeDefault="Allow" /> |
||||
|
<sectionGroup name="tracing"> |
||||
|
<section name="traceFailedRequests" overrideModeDefault="Allow" /> |
||||
|
<section name="traceProviderDefinitions" overrideModeDefault="Deny" /> |
||||
|
</sectionGroup> |
||||
|
<section name="urlCompression" overrideModeDefault="Allow" /> |
||||
|
<section name="validation" overrideModeDefault="Allow" /> |
||||
|
<sectionGroup name="webdav"> |
||||
|
<section name="globalSettings" overrideModeDefault="Deny" /> |
||||
|
<section name="authoring" overrideModeDefault="Deny" /> |
||||
|
<section name="authoringRules" overrideModeDefault="Deny" /> |
||||
|
</sectionGroup> |
||||
|
<sectionGroup name="rewrite"> |
||||
|
<section name="allowedServerVariables" overrideModeDefault="Deny" /> |
||||
|
<section name="rules" overrideModeDefault="Allow" /> |
||||
|
<section name="outboundRules" overrideModeDefault="Allow" /> |
||||
|
<section name="globalRules" overrideModeDefault="Deny" allowDefinition="AppHostOnly" /> |
||||
|
<section name="providers" overrideModeDefault="Allow" /> |
||||
|
<section name="rewriteMaps" overrideModeDefault="Allow" /> |
||||
|
</sectionGroup> |
||||
|
<section name="webSocket" overrideModeDefault="Deny" /> |
||||
|
<section name="aspNetCore" overrideModeDefault="Allow" /></sectionGroup> |
||||
|
</configSections> |
||||
|
<configProtectedData> |
||||
|
<providers> |
||||
|
<add name="IISWASOnlyRsaProvider" type="" description="Uses RsaCryptoServiceProvider to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useMachineContainer="true" useOAEP="false" /> |
||||
|
<add name="AesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisConfigurationKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAA/HKxkz6alrlAPez0IUgujj/6k3WxCDriHp6jvpv3yEZmo7h6SMzGLxo4mTrIQVHSkB7tmElHKfUFTzE2BWF7nFWHY6Z6qmGBauFzwJMwESjril7Gjz69RBFH259HQ6aRDq9Xfx7U7H4HtdmnKNqGjgl/hwPQBGeIlWiDh+sYv3vKB0QU971tjX6H2B+9armlnC8UOuA6JYMDMI/VLLL16sng0fWAy5JYe0YVABVjiAWDW264RZW9Tr1Oax4qHZKg+SdjULxeOc2YmpX+d0yeITo1HkPF1hN1gHpIPIUDo05ilHUNfR3OkjVCIQK4cFKCq1s8NH+y+13MxUC4Fn1AlQ==" /> |
||||
|
<add name="IISWASOnlyAesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAALmU8lTC+v2qtfQiiiquvvLpUQqKLEXs+jSKoWCM/uPhyB++k4dwug19mGidNK5FYiWK2KYE1yhjVJcbp12E98Q0R2nT7eBiCMY2JairxQ591rqABK7keGaIjwH7PwGzSpILl3RJ4YFvJ/7ZXEJxeDZIjW8ZxWVXx+/VyHs9U3WguLEkgMUX3jrxJi8LouxaIVPJAv/YQ1ZCWs8zImitxX/C/7o7yaIxznfsN5nGQzQfpUDPeby99aw2zPVTtZI2LaWIBON8guABvZ6JtJVDWmfdK6sodbnwdZkr6/Z2rfvamT1dC1SpQrGG7ulR/f9/GXvCaW10ZVKxekBF/CYlNMg==" /> |
||||
|
</providers> |
||||
|
</configProtectedData> |
||||
|
<system.applicationHost> |
||||
|
<applicationPools> |
||||
|
<add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> |
||||
|
<add name="Clr4ClassicAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> |
||||
|
<add name="Clr2IntegratedAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> |
||||
|
<add name="Clr2ClassicAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> |
||||
|
<add name="UnmanagedClassicAppPool" managedRuntimeVersion="" managedPipelineMode="Classic" autoStart="true" /> |
||||
|
<applicationPoolDefaults managedRuntimeVersion="v4.0"> |
||||
|
<processModel loadUserProfile="true" setProfileEnvironment="false" /> |
||||
|
</applicationPoolDefaults> |
||||
|
</applicationPools> |
||||
|
<!-- |
||||
|
|
||||
|
The <listenerAdapters> section defines the protocols with which the |
||||
|
Windows Process Activation Service (WAS) binds. |
||||
|
|
||||
|
--> |
||||
|
<listenerAdapters> |
||||
|
<add name="http" /> |
||||
|
</listenerAdapters> |
||||
|
<sites> |
||||
|
<site name="WebSite1" id="1" serverAutoStart="true"> |
||||
|
<application path="/"> |
||||
|
<virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" /> |
||||
|
</application> |
||||
|
<bindings> |
||||
|
<binding protocol="http" bindingInformation=":8080:localhost" /> |
||||
|
</bindings> |
||||
|
</site> |
||||
|
<site name="RegistrationForm" id="2"> |
||||
|
<application path="/" applicationPool="Clr4IntegratedAppPool"> |
||||
|
<virtualDirectory path="/" physicalPath="C:\업무용\5. source\개인공부\RegistrationForm" /> |
||||
|
</application> |
||||
|
<bindings> |
||||
|
<binding protocol="http" bindingInformation="*:49810:localhost" /> |
||||
|
<binding protocol="https" bindingInformation="*:44364:localhost" /> |
||||
|
</bindings> |
||||
|
</site> |
||||
|
<siteDefaults> |
||||
|
<!-- To enable logging, please change the below attribute "enabled" to "true" --> |
||||
|
<logFile logFormat="W3C" directory="%AppData%\Microsoft\IISExpressLogs" enabled="false" /> |
||||
|
<traceFailedRequestsLogging directory="%AppData%\Microsoft" enabled="false" maxLogFileSizeKB="1024" /> |
||||
|
</siteDefaults> |
||||
|
<applicationDefaults applicationPool="Clr4IntegratedAppPool" /> |
||||
|
<virtualDirectoryDefaults allowSubDirConfig="true" /> |
||||
|
</sites> |
||||
|
<webLimits /> |
||||
|
</system.applicationHost> |
||||
|
<system.webServer> |
||||
|
<serverRuntime /> |
||||
|
<asp scriptErrorSentToBrowser="true"> |
||||
|
<cache diskTemplateCacheDirectory="%TEMP%\iisexpress\ASP Compiled Templates" /> |
||||
|
<limits /> |
||||
|
</asp> |
||||
|
<caching enabled="true" enableKernelCache="true"> |
||||
|
</caching> |
||||
|
<cgi /> |
||||
|
<defaultDocument enabled="true"> |
||||
|
<files> |
||||
|
<add value="Default.htm" /> |
||||
|
<add value="Default.asp" /> |
||||
|
<add value="index.htm" /> |
||||
|
<add value="index.html" /> |
||||
|
<add value="iisstart.htm" /> |
||||
|
<add value="default.aspx" /> |
||||
|
</files> |
||||
|
</defaultDocument> |
||||
|
<directoryBrowse enabled="false" /> |
||||
|
<fastCgi /> |
||||
|
<!-- |
||||
|
|
||||
|
The <globalModules> section defines all native-code modules. |
||||
|
To enable a module, specify it in the <modules> section. |
||||
|
|
||||
|
--> |
||||
|
<globalModules> |
||||
|
<add name="HttpLoggingModule" image="%IIS_BIN%\loghttp.dll" /> |
||||
|
<add name="UriCacheModule" image="%IIS_BIN%\cachuri.dll" /> |
||||
|
<add name="TokenCacheModule" image="%IIS_BIN%\cachtokn.dll" /> |
||||
|
<add name="DynamicCompressionModule" image="%IIS_BIN%\compdyn.dll" /> |
||||
|
<add name="StaticCompressionModule" image="%IIS_BIN%\compstat.dll" /> |
||||
|
<add name="DefaultDocumentModule" image="%IIS_BIN%\defdoc.dll" /> |
||||
|
<add name="DirectoryListingModule" image="%IIS_BIN%\dirlist.dll" /> |
||||
|
<add name="ProtocolSupportModule" image="%IIS_BIN%\protsup.dll" /> |
||||
|
<add name="HttpRedirectionModule" image="%IIS_BIN%\redirect.dll" /> |
||||
|
<add name="ServerSideIncludeModule" image="%IIS_BIN%\iis_ssi.dll" /> |
||||
|
<add name="StaticFileModule" image="%IIS_BIN%\static.dll" /> |
||||
|
<add name="AnonymousAuthenticationModule" image="%IIS_BIN%\authanon.dll" /> |
||||
|
<add name="CertificateMappingAuthenticationModule" image="%IIS_BIN%\authcert.dll" /> |
||||
|
<add name="UrlAuthorizationModule" image="%IIS_BIN%\urlauthz.dll" /> |
||||
|
<add name="BasicAuthenticationModule" image="%IIS_BIN%\authbas.dll" /> |
||||
|
<add name="WindowsAuthenticationModule" image="%IIS_BIN%\authsspi.dll" /> |
||||
|
<add name="IISCertificateMappingAuthenticationModule" image="%IIS_BIN%\authmap.dll" /> |
||||
|
<add name="IpRestrictionModule" image="%IIS_BIN%\iprestr.dll" /> |
||||
|
<add name="DynamicIpRestrictionModule" image="%IIS_BIN%\diprestr.dll" /> |
||||
|
<add name="RequestFilteringModule" image="%IIS_BIN%\modrqflt.dll" /> |
||||
|
<add name="CustomLoggingModule" image="%IIS_BIN%\logcust.dll" /> |
||||
|
<add name="CustomErrorModule" image="%IIS_BIN%\custerr.dll" /> |
||||
|
<add name="FailedRequestsTracingModule" image="%IIS_BIN%\iisfreb.dll" /> |
||||
|
<add name="RequestMonitorModule" image="%IIS_BIN%\iisreqs.dll" /> |
||||
|
<add name="IsapiModule" image="%IIS_BIN%\isapi.dll" /> |
||||
|
<add name="IsapiFilterModule" image="%IIS_BIN%\filter.dll" /> |
||||
|
<add name="CgiModule" image="%IIS_BIN%\cgi.dll" /> |
||||
|
<add name="FastCgiModule" image="%IIS_BIN%\iisfcgi.dll" /> |
||||
|
<!-- <add name="WebDAVModule" image="%IIS_BIN%\webdav.dll" /> --> |
||||
|
<add name="RewriteModule" image="%IIS_BIN%\rewrite.dll" /> |
||||
|
<add name="ConfigurationValidationModule" image="%IIS_BIN%\validcfg.dll" /> |
||||
|
<add name="WebSocketModule" image="%IIS_BIN%\iiswsock.dll" /> |
||||
|
<add name="WebMatrixSupportModule" image="%IIS_BIN%\webmatrixsup.dll" /> |
||||
|
<add name="ManagedEngine" image="%windir%\Microsoft.NET\Framework\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness32" /> |
||||
|
<add name="ManagedEngine64" image="%windir%\Microsoft.NET\Framework64\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness64" /> |
||||
|
<add name="ManagedEngineV4.0_32bit" image="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" /> |
||||
|
<add name="ManagedEngineV4.0_64bit" image="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" /> |
||||
|
<add name="ApplicationInitializationModule" image="%IIS_BIN%\warmup.dll" /> |
||||
|
<add name="AspNetCoreModule" image="%IIS_BIN%\aspnetcore.dll" /> |
||||
|
<add name="AspNetCoreModuleV2" image="%IIS_BIN%\Asp.Net Core Module\V2\aspnetcorev2.dll" /> |
||||
|
</globalModules> |
||||
|
<httpCompression directory="%TEMP%"> |
||||
|
<scheme name="gzip" dll="%IIS_BIN%\gzip.dll" /> |
||||
|
<dynamicTypes> |
||||
|
<add mimeType="text/*" enabled="true" /> |
||||
|
<add mimeType="message/*" enabled="true" /> |
||||
|
<add mimeType="application/x-javascript" enabled="true" /> |
||||
|
<add mimeType="application/javascript" enabled="true" /> |
||||
|
<add mimeType="*/*" enabled="false" /> |
||||
|
<add mimeType="text/event-stream" enabled="false" /> |
||||
|
</dynamicTypes> |
||||
|
<staticTypes> |
||||
|
<add mimeType="text/*" enabled="true" /> |
||||
|
<add mimeType="message/*" enabled="true" /> |
||||
|
<add mimeType="application/javascript" enabled="true" /> |
||||
|
<add mimeType="application/atom+xml" enabled="true" /> |
||||
|
<add mimeType="application/xaml+xml" enabled="true" /> |
||||
|
<add mimeType="image/svg+xml" enabled="true" /> |
||||
|
<add mimeType="*/*" enabled="false" /> |
||||
|
</staticTypes> |
||||
|
</httpCompression> |
||||
|
<httpErrors lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath"> |
||||
|
<error statusCode="401" prefixLanguageFilePath="%IIS_BIN%\custerr" path="401.htm" /> |
||||
|
<error statusCode="403" prefixLanguageFilePath="%IIS_BIN%\custerr" path="403.htm" /> |
||||
|
<error statusCode="404" prefixLanguageFilePath="%IIS_BIN%\custerr" path="404.htm" /> |
||||
|
<error statusCode="405" prefixLanguageFilePath="%IIS_BIN%\custerr" path="405.htm" /> |
||||
|
<error statusCode="406" prefixLanguageFilePath="%IIS_BIN%\custerr" path="406.htm" /> |
||||
|
<error statusCode="412" prefixLanguageFilePath="%IIS_BIN%\custerr" path="412.htm" /> |
||||
|
<error statusCode="500" prefixLanguageFilePath="%IIS_BIN%\custerr" path="500.htm" /> |
||||
|
<error statusCode="501" prefixLanguageFilePath="%IIS_BIN%\custerr" path="501.htm" /> |
||||
|
<error statusCode="502" prefixLanguageFilePath="%IIS_BIN%\custerr" path="502.htm" /> |
||||
|
</httpErrors> |
||||
|
<httpLogging dontLog="false" /> |
||||
|
<httpProtocol> |
||||
|
<customHeaders> |
||||
|
<clear /> |
||||
|
<add name="X-Powered-By" value="ASP.NET" /> |
||||
|
</customHeaders> |
||||
|
<redirectHeaders> |
||||
|
<clear /> |
||||
|
</redirectHeaders> |
||||
|
</httpProtocol> |
||||
|
<httpRedirect enabled="false" /> |
||||
|
<httpTracing /> |
||||
|
<isapiFilters> |
||||
|
<filter name="ASP.Net_2.0.50727-64" path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv2.0" /> |
||||
|
<filter name="ASP.Net_2.0.50727.0" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv2.0" /> |
||||
|
<filter name="ASP.Net_2.0_for_v1.1" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv1.1" /> |
||||
|
<filter name="ASP.Net_4.0_32bit" path="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv4.0" /> |
||||
|
<filter name="ASP.Net_4.0_64bit" path="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv4.0" /> |
||||
|
</isapiFilters> |
||||
|
<odbcLogging /> |
||||
|
<security> |
||||
|
<access sslFlags="None" /> |
||||
|
<applicationDependencies> |
||||
|
<application name="Active Server Pages" groupId="ASP" /> |
||||
|
</applicationDependencies> |
||||
|
<authentication> |
||||
|
<anonymousAuthentication enabled="true" userName="" /> |
||||
|
<basicAuthentication enabled="false" /> |
||||
|
<clientCertificateMappingAuthentication enabled="false" /> |
||||
|
<digestAuthentication enabled="false" /> |
||||
|
<iisClientCertificateMappingAuthentication enabled="false"> |
||||
|
</iisClientCertificateMappingAuthentication> |
||||
|
<windowsAuthentication enabled="false"> |
||||
|
<providers> |
||||
|
<add value="Negotiate" /> |
||||
|
<add value="NTLM" /> |
||||
|
</providers> |
||||
|
</windowsAuthentication> |
||||
|
</authentication> |
||||
|
<authorization> |
||||
|
<add accessType="Allow" users="*" /> |
||||
|
</authorization> |
||||
|
<ipSecurity allowUnlisted="true" /> |
||||
|
<isapiCgiRestriction notListedIsapisAllowed="true" notListedCgisAllowed="true"> |
||||
|
<add path="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" allowed="true" groupId="ASP.NET_v4.0" description="ASP.NET_v4.0" /> |
||||
|
<add path="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" allowed="true" groupId="ASP.NET_v4.0" description="ASP.NET_v4.0" /> |
||||
|
<add path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" allowed="true" groupId="ASP.NET v2.0.50727" description="ASP.NET v2.0.50727" /> |
||||
|
<add path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" allowed="true" groupId="ASP.NET v2.0.50727" description="ASP.NET v2.0.50727" /> |
||||
|
</isapiCgiRestriction> |
||||
|
<requestFiltering> |
||||
|
<fileExtensions allowUnlisted="true" applyToWebDAV="true"> |
||||
|
<add fileExtension=".asa" allowed="false" /> |
||||
|
<add fileExtension=".asax" allowed="false" /> |
||||
|
<add fileExtension=".ascx" allowed="false" /> |
||||
|
<add fileExtension=".master" allowed="false" /> |
||||
|
<add fileExtension=".skin" allowed="false" /> |
||||
|
<add fileExtension=".browser" allowed="false" /> |
||||
|
<add fileExtension=".sitemap" allowed="false" /> |
||||
|
<add fileExtension=".config" allowed="false" /> |
||||
|
<add fileExtension=".cs" allowed="false" /> |
||||
|
<add fileExtension=".csproj" allowed="false" /> |
||||
|
<add fileExtension=".vb" allowed="false" /> |
||||
|
<add fileExtension=".vbproj" allowed="false" /> |
||||
|
<add fileExtension=".webinfo" allowed="false" /> |
||||
|
<add fileExtension=".licx" allowed="false" /> |
||||
|
<add fileExtension=".resx" allowed="false" /> |
||||
|
<add fileExtension=".resources" allowed="false" /> |
||||
|
<add fileExtension=".mdb" allowed="false" /> |
||||
|
<add fileExtension=".vjsproj" allowed="false" /> |
||||
|
<add fileExtension=".java" allowed="false" /> |
||||
|
<add fileExtension=".jsl" allowed="false" /> |
||||
|
<add fileExtension=".ldb" allowed="false" /> |
||||
|
<add fileExtension=".dsdgm" allowed="false" /> |
||||
|
<add fileExtension=".ssdgm" allowed="false" /> |
||||
|
<add fileExtension=".lsad" allowed="false" /> |
||||
|
<add fileExtension=".ssmap" allowed="false" /> |
||||
|
<add fileExtension=".cd" allowed="false" /> |
||||
|
<add fileExtension=".dsprototype" allowed="false" /> |
||||
|
<add fileExtension=".lsaprototype" allowed="false" /> |
||||
|
<add fileExtension=".sdm" allowed="false" /> |
||||
|
<add fileExtension=".sdmDocument" allowed="false" /> |
||||
|
<add fileExtension=".mdf" allowed="false" /> |
||||
|
<add fileExtension=".ldf" allowed="false" /> |
||||
|
<add fileExtension=".ad" allowed="false" /> |
||||
|
<add fileExtension=".dd" allowed="false" /> |
||||
|
<add fileExtension=".ldd" allowed="false" /> |
||||
|
<add fileExtension=".sd" allowed="false" /> |
||||
|
<add fileExtension=".adprototype" allowed="false" /> |
||||
|
<add fileExtension=".lddprototype" allowed="false" /> |
||||
|
<add fileExtension=".exclude" allowed="false" /> |
||||
|
<add fileExtension=".refresh" allowed="false" /> |
||||
|
<add fileExtension=".compiled" allowed="false" /> |
||||
|
<add fileExtension=".msgx" allowed="false" /> |
||||
|
<add fileExtension=".vsdisco" allowed="false" /> |
||||
|
<add fileExtension=".rules" allowed="false" /> |
||||
|
</fileExtensions> |
||||
|
<verbs allowUnlisted="true" applyToWebDAV="true" /> |
||||
|
<hiddenSegments applyToWebDAV="true"> |
||||
|
<add segment="web.config" /> |
||||
|
<add segment="bin" /> |
||||
|
<add segment="App_code" /> |
||||
|
<add segment="App_GlobalResources" /> |
||||
|
<add segment="App_LocalResources" /> |
||||
|
<add segment="App_WebReferences" /> |
||||
|
<add segment="App_Data" /> |
||||
|
<add segment="App_Browsers" /> |
||||
|
</hiddenSegments> |
||||
|
</requestFiltering> |
||||
|
</security> |
||||
|
<serverSideInclude ssiExecDisable="false" /> |
||||
|
<staticContent lockAttributes="isDocFooterFileName"> |
||||
|
<mimeMap fileExtension=".323" mimeType="text/h323" /> |
||||
|
<mimeMap fileExtension=".3g2" mimeType="video/3gpp2" /> |
||||
|
<mimeMap fileExtension=".3gp2" mimeType="video/3gpp2" /> |
||||
|
<mimeMap fileExtension=".3gp" mimeType="video/3gpp" /> |
||||
|
<mimeMap fileExtension=".3gpp" mimeType="video/3gpp" /> |
||||
|
<mimeMap fileExtension=".aac" mimeType="audio/aac" /> |
||||
|
<mimeMap fileExtension=".aaf" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".aca" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".accdb" mimeType="application/msaccess" /> |
||||
|
<mimeMap fileExtension=".accde" mimeType="application/msaccess" /> |
||||
|
<mimeMap fileExtension=".accdt" mimeType="application/msaccess" /> |
||||
|
<mimeMap fileExtension=".acx" mimeType="application/internet-property-stream" /> |
||||
|
<mimeMap fileExtension=".adt" mimeType="audio/vnd.dlna.adts" /> |
||||
|
<mimeMap fileExtension=".adts" mimeType="audio/vnd.dlna.adts" /> |
||||
|
<mimeMap fileExtension=".afm" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".ai" mimeType="application/postscript" /> |
||||
|
<mimeMap fileExtension=".aif" mimeType="audio/x-aiff" /> |
||||
|
<mimeMap fileExtension=".aifc" mimeType="audio/aiff" /> |
||||
|
<mimeMap fileExtension=".aiff" mimeType="audio/aiff" /> |
||||
|
<mimeMap fileExtension=".appcache" mimeType="text/cache-manifest" /> |
||||
|
<mimeMap fileExtension=".application" mimeType="application/x-ms-application" /> |
||||
|
<mimeMap fileExtension=".art" mimeType="image/x-jg" /> |
||||
|
<mimeMap fileExtension=".asd" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".asf" mimeType="video/x-ms-asf" /> |
||||
|
<mimeMap fileExtension=".asi" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".asm" mimeType="text/plain" /> |
||||
|
<mimeMap fileExtension=".asr" mimeType="video/x-ms-asf" /> |
||||
|
<mimeMap fileExtension=".asx" mimeType="video/x-ms-asf" /> |
||||
|
<mimeMap fileExtension=".atom" mimeType="application/atom+xml" /> |
||||
|
<mimeMap fileExtension=".au" mimeType="audio/basic" /> |
||||
|
<mimeMap fileExtension=".avi" mimeType="video/avi" /> |
||||
|
<mimeMap fileExtension=".axs" mimeType="application/olescript" /> |
||||
|
<mimeMap fileExtension=".bas" mimeType="text/plain" /> |
||||
|
<mimeMap fileExtension=".bcpio" mimeType="application/x-bcpio" /> |
||||
|
<mimeMap fileExtension=".bin" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".bmp" mimeType="image/bmp" /> |
||||
|
<mimeMap fileExtension=".c" mimeType="text/plain" /> |
||||
|
<mimeMap fileExtension=".cab" mimeType="application/vnd.ms-cab-compressed" /> |
||||
|
<mimeMap fileExtension=".calx" mimeType="application/vnd.ms-office.calx" /> |
||||
|
<mimeMap fileExtension=".cat" mimeType="application/vnd.ms-pki.seccat" /> |
||||
|
<mimeMap fileExtension=".cdf" mimeType="application/x-cdf" /> |
||||
|
<mimeMap fileExtension=".chm" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".class" mimeType="application/x-java-applet" /> |
||||
|
<mimeMap fileExtension=".clp" mimeType="application/x-msclip" /> |
||||
|
<mimeMap fileExtension=".cmx" mimeType="image/x-cmx" /> |
||||
|
<mimeMap fileExtension=".cnf" mimeType="text/plain" /> |
||||
|
<mimeMap fileExtension=".cod" mimeType="image/cis-cod" /> |
||||
|
<mimeMap fileExtension=".cpio" mimeType="application/x-cpio" /> |
||||
|
<mimeMap fileExtension=".cpp" mimeType="text/plain" /> |
||||
|
<mimeMap fileExtension=".crd" mimeType="application/x-mscardfile" /> |
||||
|
<mimeMap fileExtension=".crl" mimeType="application/pkix-crl" /> |
||||
|
<mimeMap fileExtension=".crt" mimeType="application/x-x509-ca-cert" /> |
||||
|
<mimeMap fileExtension=".csh" mimeType="application/x-csh" /> |
||||
|
<mimeMap fileExtension=".css" mimeType="text/css" /> |
||||
|
<mimeMap fileExtension=".csv" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".cur" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".dcr" mimeType="application/x-director" /> |
||||
|
<mimeMap fileExtension=".deploy" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".der" mimeType="application/x-x509-ca-cert" /> |
||||
|
<mimeMap fileExtension=".dib" mimeType="image/bmp" /> |
||||
|
<mimeMap fileExtension=".dir" mimeType="application/x-director" /> |
||||
|
<mimeMap fileExtension=".disco" mimeType="text/xml" /> |
||||
|
<mimeMap fileExtension=".dll" mimeType="application/x-msdownload" /> |
||||
|
<mimeMap fileExtension=".dll.config" mimeType="text/xml" /> |
||||
|
<mimeMap fileExtension=".dlm" mimeType="text/dlm" /> |
||||
|
<mimeMap fileExtension=".doc" mimeType="application/msword" /> |
||||
|
<mimeMap fileExtension=".docm" mimeType="application/vnd.ms-word.document.macroEnabled.12" /> |
||||
|
<mimeMap fileExtension=".docx" mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" /> |
||||
|
<mimeMap fileExtension=".dot" mimeType="application/msword" /> |
||||
|
<mimeMap fileExtension=".dotm" mimeType="application/vnd.ms-word.template.macroEnabled.12" /> |
||||
|
<mimeMap fileExtension=".dotx" mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.template" /> |
||||
|
<mimeMap fileExtension=".dsp" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".dtd" mimeType="text/xml" /> |
||||
|
<mimeMap fileExtension=".dvi" mimeType="application/x-dvi" /> |
||||
|
<mimeMap fileExtension=".dvr-ms" mimeType="video/x-ms-dvr" /> |
||||
|
<mimeMap fileExtension=".dwf" mimeType="drawing/x-dwf" /> |
||||
|
<mimeMap fileExtension=".dwp" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".dxr" mimeType="application/x-director" /> |
||||
|
<mimeMap fileExtension=".eml" mimeType="message/rfc822" /> |
||||
|
<mimeMap fileExtension=".emz" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" /> |
||||
|
<mimeMap fileExtension=".eps" mimeType="application/postscript" /> |
||||
|
<mimeMap fileExtension=".esd" mimeType="application/vnd.ms-cab-compressed" /> |
||||
|
<mimeMap fileExtension=".etx" mimeType="text/x-setext" /> |
||||
|
<mimeMap fileExtension=".evy" mimeType="application/envoy" /> |
||||
|
<mimeMap fileExtension=".exe" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".exe.config" mimeType="text/xml" /> |
||||
|
<mimeMap fileExtension=".fdf" mimeType="application/vnd.fdf" /> |
||||
|
<mimeMap fileExtension=".fif" mimeType="application/fractals" /> |
||||
|
<mimeMap fileExtension=".fla" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".flr" mimeType="x-world/x-vrml" /> |
||||
|
<mimeMap fileExtension=".flv" mimeType="video/x-flv" /> |
||||
|
<mimeMap fileExtension=".gif" mimeType="image/gif" /> |
||||
|
<mimeMap fileExtension=".glb" mimeType="model/gltf-binary" /> |
||||
|
<mimeMap fileExtension=".gtar" mimeType="application/x-gtar" /> |
||||
|
<mimeMap fileExtension=".gz" mimeType="application/x-gzip" /> |
||||
|
<mimeMap fileExtension=".h" mimeType="text/plain" /> |
||||
|
<mimeMap fileExtension=".hdf" mimeType="application/x-hdf" /> |
||||
|
<mimeMap fileExtension=".hdml" mimeType="text/x-hdml" /> |
||||
|
<mimeMap fileExtension=".hhc" mimeType="application/x-oleobject" /> |
||||
|
<mimeMap fileExtension=".hhk" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".hhp" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".hlp" mimeType="application/winhlp" /> |
||||
|
<mimeMap fileExtension=".hqx" mimeType="application/mac-binhex40" /> |
||||
|
<mimeMap fileExtension=".hta" mimeType="application/hta" /> |
||||
|
<mimeMap fileExtension=".htc" mimeType="text/x-component" /> |
||||
|
<mimeMap fileExtension=".htm" mimeType="text/html" /> |
||||
|
<mimeMap fileExtension=".html" mimeType="text/html" /> |
||||
|
<mimeMap fileExtension=".htt" mimeType="text/webviewhtml" /> |
||||
|
<mimeMap fileExtension=".hxt" mimeType="text/html" /> |
||||
|
<mimeMap fileExtension=".ico" mimeType="image/x-icon" /> |
||||
|
<mimeMap fileExtension=".ics" mimeType="text/calendar" /> |
||||
|
<mimeMap fileExtension=".ief" mimeType="image/ief" /> |
||||
|
<mimeMap fileExtension=".iii" mimeType="application/x-iphone" /> |
||||
|
<mimeMap fileExtension=".inf" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".ins" mimeType="application/x-internet-signup" /> |
||||
|
<mimeMap fileExtension=".isp" mimeType="application/x-internet-signup" /> |
||||
|
<mimeMap fileExtension=".IVF" mimeType="video/x-ivf" /> |
||||
|
<mimeMap fileExtension=".jar" mimeType="application/java-archive" /> |
||||
|
<mimeMap fileExtension=".java" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".jck" mimeType="application/liquidmotion" /> |
||||
|
<mimeMap fileExtension=".jcz" mimeType="application/liquidmotion" /> |
||||
|
<mimeMap fileExtension=".jfif" mimeType="image/pjpeg" /> |
||||
|
<mimeMap fileExtension=".jpb" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".jpe" mimeType="image/jpeg" /> |
||||
|
<mimeMap fileExtension=".jpeg" mimeType="image/jpeg" /> |
||||
|
<mimeMap fileExtension=".jpg" mimeType="image/jpeg" /> |
||||
|
<mimeMap fileExtension=".js" mimeType="application/javascript" /> |
||||
|
<mimeMap fileExtension=".json" mimeType="application/json" /> |
||||
|
<mimeMap fileExtension=".jsonld" mimeType="application/ld+json" /> |
||||
|
<mimeMap fileExtension=".jsx" mimeType="text/jscript" /> |
||||
|
<mimeMap fileExtension=".latex" mimeType="application/x-latex" /> |
||||
|
<mimeMap fileExtension=".less" mimeType="text/css" /> |
||||
|
<mimeMap fileExtension=".lit" mimeType="application/x-ms-reader" /> |
||||
|
<mimeMap fileExtension=".lpk" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".lsf" mimeType="video/x-la-asf" /> |
||||
|
<mimeMap fileExtension=".lsx" mimeType="video/x-la-asf" /> |
||||
|
<mimeMap fileExtension=".lzh" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".m13" mimeType="application/x-msmediaview" /> |
||||
|
<mimeMap fileExtension=".m14" mimeType="application/x-msmediaview" /> |
||||
|
<mimeMap fileExtension=".m1v" mimeType="video/mpeg" /> |
||||
|
<mimeMap fileExtension=".m2ts" mimeType="video/vnd.dlna.mpeg-tts" /> |
||||
|
<mimeMap fileExtension=".m3u" mimeType="audio/x-mpegurl" /> |
||||
|
<mimeMap fileExtension=".m4a" mimeType="audio/mp4" /> |
||||
|
<mimeMap fileExtension=".m4v" mimeType="video/mp4" /> |
||||
|
<mimeMap fileExtension=".man" mimeType="application/x-troff-man" /> |
||||
|
<mimeMap fileExtension=".manifest" mimeType="application/x-ms-manifest" /> |
||||
|
<mimeMap fileExtension=".map" mimeType="text/plain" /> |
||||
|
<mimeMap fileExtension=".mdb" mimeType="application/x-msaccess" /> |
||||
|
<mimeMap fileExtension=".mdp" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".me" mimeType="application/x-troff-me" /> |
||||
|
<mimeMap fileExtension=".mht" mimeType="message/rfc822" /> |
||||
|
<mimeMap fileExtension=".mhtml" mimeType="message/rfc822" /> |
||||
|
<mimeMap fileExtension=".mid" mimeType="audio/mid" /> |
||||
|
<mimeMap fileExtension=".midi" mimeType="audio/mid" /> |
||||
|
<mimeMap fileExtension=".mix" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".mmf" mimeType="application/x-smaf" /> |
||||
|
<mimeMap fileExtension=".mno" mimeType="text/xml" /> |
||||
|
<mimeMap fileExtension=".mny" mimeType="application/x-msmoney" /> |
||||
|
<mimeMap fileExtension=".mov" mimeType="video/quicktime" /> |
||||
|
<mimeMap fileExtension=".movie" mimeType="video/x-sgi-movie" /> |
||||
|
<mimeMap fileExtension=".mp2" mimeType="video/mpeg" /> |
||||
|
<mimeMap fileExtension=".mp3" mimeType="audio/mpeg" /> |
||||
|
<mimeMap fileExtension=".mp4" mimeType="video/mp4" /> |
||||
|
<mimeMap fileExtension=".mp4v" mimeType="video/mp4" /> |
||||
|
<mimeMap fileExtension=".mpa" mimeType="video/mpeg" /> |
||||
|
<mimeMap fileExtension=".mpe" mimeType="video/mpeg" /> |
||||
|
<mimeMap fileExtension=".mpeg" mimeType="video/mpeg" /> |
||||
|
<mimeMap fileExtension=".mpg" mimeType="video/mpeg" /> |
||||
|
<mimeMap fileExtension=".mpp" mimeType="application/vnd.ms-project" /> |
||||
|
<mimeMap fileExtension=".mpv2" mimeType="video/mpeg" /> |
||||
|
<mimeMap fileExtension=".ms" mimeType="application/x-troff-ms" /> |
||||
|
<mimeMap fileExtension=".msi" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".mso" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".mvb" mimeType="application/x-msmediaview" /> |
||||
|
<mimeMap fileExtension=".mvc" mimeType="application/x-miva-compiled" /> |
||||
|
<mimeMap fileExtension=".nc" mimeType="application/x-netcdf" /> |
||||
|
<mimeMap fileExtension=".nsc" mimeType="video/x-ms-asf" /> |
||||
|
<mimeMap fileExtension=".nws" mimeType="message/rfc822" /> |
||||
|
<mimeMap fileExtension=".ocx" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".oda" mimeType="application/oda" /> |
||||
|
<mimeMap fileExtension=".odc" mimeType="text/x-ms-odc" /> |
||||
|
<mimeMap fileExtension=".ods" mimeType="application/oleobject" /> |
||||
|
<mimeMap fileExtension=".oga" mimeType="audio/ogg" /> |
||||
|
<mimeMap fileExtension=".ogg" mimeType="video/ogg" /> |
||||
|
<mimeMap fileExtension=".ogv" mimeType="video/ogg" /> |
||||
|
<mimeMap fileExtension=".one" mimeType="application/onenote" /> |
||||
|
<mimeMap fileExtension=".onea" mimeType="application/onenote" /> |
||||
|
<mimeMap fileExtension=".onetoc" mimeType="application/onenote" /> |
||||
|
<mimeMap fileExtension=".onetoc2" mimeType="application/onenote" /> |
||||
|
<mimeMap fileExtension=".onetmp" mimeType="application/onenote" /> |
||||
|
<mimeMap fileExtension=".onepkg" mimeType="application/onenote" /> |
||||
|
<mimeMap fileExtension=".osdx" mimeType="application/opensearchdescription+xml" /> |
||||
|
<mimeMap fileExtension=".otf" mimeType="font/otf" /> |
||||
|
<mimeMap fileExtension=".p10" mimeType="application/pkcs10" /> |
||||
|
<mimeMap fileExtension=".p12" mimeType="application/x-pkcs12" /> |
||||
|
<mimeMap fileExtension=".p7b" mimeType="application/x-pkcs7-certificates" /> |
||||
|
<mimeMap fileExtension=".p7c" mimeType="application/pkcs7-mime" /> |
||||
|
<mimeMap fileExtension=".p7m" mimeType="application/pkcs7-mime" /> |
||||
|
<mimeMap fileExtension=".p7r" mimeType="application/x-pkcs7-certreqresp" /> |
||||
|
<mimeMap fileExtension=".p7s" mimeType="application/pkcs7-signature" /> |
||||
|
<mimeMap fileExtension=".pbm" mimeType="image/x-portable-bitmap" /> |
||||
|
<mimeMap fileExtension=".pcx" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".pcz" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".pdf" mimeType="application/pdf" /> |
||||
|
<mimeMap fileExtension=".pfb" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".pfm" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".pfx" mimeType="application/x-pkcs12" /> |
||||
|
<mimeMap fileExtension=".pgm" mimeType="image/x-portable-graymap" /> |
||||
|
<mimeMap fileExtension=".pko" mimeType="application/vnd.ms-pki.pko" /> |
||||
|
<mimeMap fileExtension=".pma" mimeType="application/x-perfmon" /> |
||||
|
<mimeMap fileExtension=".pmc" mimeType="application/x-perfmon" /> |
||||
|
<mimeMap fileExtension=".pml" mimeType="application/x-perfmon" /> |
||||
|
<mimeMap fileExtension=".pmr" mimeType="application/x-perfmon" /> |
||||
|
<mimeMap fileExtension=".pmw" mimeType="application/x-perfmon" /> |
||||
|
<mimeMap fileExtension=".png" mimeType="image/png" /> |
||||
|
<mimeMap fileExtension=".pnm" mimeType="image/x-portable-anymap" /> |
||||
|
<mimeMap fileExtension=".pnz" mimeType="image/png" /> |
||||
|
<mimeMap fileExtension=".pot" mimeType="application/vnd.ms-powerpoint" /> |
||||
|
<mimeMap fileExtension=".potm" mimeType="application/vnd.ms-powerpoint.template.macroEnabled.12" /> |
||||
|
<mimeMap fileExtension=".potx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.template" /> |
||||
|
<mimeMap fileExtension=".ppam" mimeType="application/vnd.ms-powerpoint.addin.macroEnabled.12" /> |
||||
|
<mimeMap fileExtension=".ppm" mimeType="image/x-portable-pixmap" /> |
||||
|
<mimeMap fileExtension=".pps" mimeType="application/vnd.ms-powerpoint" /> |
||||
|
<mimeMap fileExtension=".ppsm" mimeType="application/vnd.ms-powerpoint.slideshow.macroEnabled.12" /> |
||||
|
<mimeMap fileExtension=".ppsx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.slideshow" /> |
||||
|
<mimeMap fileExtension=".ppt" mimeType="application/vnd.ms-powerpoint" /> |
||||
|
<mimeMap fileExtension=".pptm" mimeType="application/vnd.ms-powerpoint.presentation.macroEnabled.12" /> |
||||
|
<mimeMap fileExtension=".pptx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation" /> |
||||
|
<mimeMap fileExtension=".prf" mimeType="application/pics-rules" /> |
||||
|
<mimeMap fileExtension=".prm" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".prx" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".ps" mimeType="application/postscript" /> |
||||
|
<mimeMap fileExtension=".psd" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".psm" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".psp" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".pub" mimeType="application/x-mspublisher" /> |
||||
|
<mimeMap fileExtension=".qt" mimeType="video/quicktime" /> |
||||
|
<mimeMap fileExtension=".qtl" mimeType="application/x-quicktimeplayer" /> |
||||
|
<mimeMap fileExtension=".qxd" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".ra" mimeType="audio/x-pn-realaudio" /> |
||||
|
<mimeMap fileExtension=".ram" mimeType="audio/x-pn-realaudio" /> |
||||
|
<mimeMap fileExtension=".rar" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".ras" mimeType="image/x-cmu-raster" /> |
||||
|
<mimeMap fileExtension=".rf" mimeType="image/vnd.rn-realflash" /> |
||||
|
<mimeMap fileExtension=".rgb" mimeType="image/x-rgb" /> |
||||
|
<mimeMap fileExtension=".rm" mimeType="application/vnd.rn-realmedia" /> |
||||
|
<mimeMap fileExtension=".rmi" mimeType="audio/mid" /> |
||||
|
<mimeMap fileExtension=".roff" mimeType="application/x-troff" /> |
||||
|
<mimeMap fileExtension=".rpm" mimeType="audio/x-pn-realaudio-plugin" /> |
||||
|
<mimeMap fileExtension=".rtf" mimeType="application/rtf" /> |
||||
|
<mimeMap fileExtension=".rtx" mimeType="text/richtext" /> |
||||
|
<mimeMap fileExtension=".scd" mimeType="application/x-msschedule" /> |
||||
|
<mimeMap fileExtension=".sct" mimeType="text/scriptlet" /> |
||||
|
<mimeMap fileExtension=".sea" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".setpay" mimeType="application/set-payment-initiation" /> |
||||
|
<mimeMap fileExtension=".setreg" mimeType="application/set-registration-initiation" /> |
||||
|
<mimeMap fileExtension=".sgml" mimeType="text/sgml" /> |
||||
|
<mimeMap fileExtension=".sh" mimeType="application/x-sh" /> |
||||
|
<mimeMap fileExtension=".shar" mimeType="application/x-shar" /> |
||||
|
<mimeMap fileExtension=".sit" mimeType="application/x-stuffit" /> |
||||
|
<mimeMap fileExtension=".sldm" mimeType="application/vnd.ms-powerpoint.slide.macroEnabled.12" /> |
||||
|
<mimeMap fileExtension=".sldx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.slide" /> |
||||
|
<mimeMap fileExtension=".smd" mimeType="audio/x-smd" /> |
||||
|
<mimeMap fileExtension=".smi" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".smx" mimeType="audio/x-smd" /> |
||||
|
<mimeMap fileExtension=".smz" mimeType="audio/x-smd" /> |
||||
|
<mimeMap fileExtension=".snd" mimeType="audio/basic" /> |
||||
|
<mimeMap fileExtension=".snp" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".spc" mimeType="application/x-pkcs7-certificates" /> |
||||
|
<mimeMap fileExtension=".spl" mimeType="application/futuresplash" /> |
||||
|
<mimeMap fileExtension=".spx" mimeType="audio/ogg" /> |
||||
|
<mimeMap fileExtension=".src" mimeType="application/x-wais-source" /> |
||||
|
<mimeMap fileExtension=".ssm" mimeType="application/streamingmedia" /> |
||||
|
<mimeMap fileExtension=".sst" mimeType="application/vnd.ms-pki.certstore" /> |
||||
|
<mimeMap fileExtension=".stl" mimeType="application/vnd.ms-pki.stl" /> |
||||
|
<mimeMap fileExtension=".sv4cpio" mimeType="application/x-sv4cpio" /> |
||||
|
<mimeMap fileExtension=".sv4crc" mimeType="application/x-sv4crc" /> |
||||
|
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" /> |
||||
|
<mimeMap fileExtension=".svgz" mimeType="image/svg+xml" /> |
||||
|
<mimeMap fileExtension=".swf" mimeType="application/x-shockwave-flash" /> |
||||
|
<mimeMap fileExtension=".t" mimeType="application/x-troff" /> |
||||
|
<mimeMap fileExtension=".tar" mimeType="application/x-tar" /> |
||||
|
<mimeMap fileExtension=".tcl" mimeType="application/x-tcl" /> |
||||
|
<mimeMap fileExtension=".tex" mimeType="application/x-tex" /> |
||||
|
<mimeMap fileExtension=".texi" mimeType="application/x-texinfo" /> |
||||
|
<mimeMap fileExtension=".texinfo" mimeType="application/x-texinfo" /> |
||||
|
<mimeMap fileExtension=".tgz" mimeType="application/x-compressed" /> |
||||
|
<mimeMap fileExtension=".thmx" mimeType="application/vnd.ms-officetheme" /> |
||||
|
<mimeMap fileExtension=".thn" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".tif" mimeType="image/tiff" /> |
||||
|
<mimeMap fileExtension=".tiff" mimeType="image/tiff" /> |
||||
|
<mimeMap fileExtension=".toc" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".tr" mimeType="application/x-troff" /> |
||||
|
<mimeMap fileExtension=".trm" mimeType="application/x-msterminal" /> |
||||
|
<mimeMap fileExtension=".ts" mimeType="video/vnd.dlna.mpeg-tts" /> |
||||
|
<mimeMap fileExtension=".tsv" mimeType="text/tab-separated-values" /> |
||||
|
<mimeMap fileExtension=".ttf" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".tts" mimeType="video/vnd.dlna.mpeg-tts" /> |
||||
|
<mimeMap fileExtension=".txt" mimeType="text/plain" /> |
||||
|
<mimeMap fileExtension=".u32" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".uls" mimeType="text/iuls" /> |
||||
|
<mimeMap fileExtension=".ustar" mimeType="application/x-ustar" /> |
||||
|
<mimeMap fileExtension=".vbs" mimeType="text/vbscript" /> |
||||
|
<mimeMap fileExtension=".vcf" mimeType="text/x-vcard" /> |
||||
|
<mimeMap fileExtension=".vcs" mimeType="text/plain" /> |
||||
|
<mimeMap fileExtension=".vdx" mimeType="application/vnd.ms-visio.viewer" /> |
||||
|
<mimeMap fileExtension=".vml" mimeType="text/xml" /> |
||||
|
<mimeMap fileExtension=".vsd" mimeType="application/vnd.visio" /> |
||||
|
<mimeMap fileExtension=".vss" mimeType="application/vnd.visio" /> |
||||
|
<mimeMap fileExtension=".vst" mimeType="application/vnd.visio" /> |
||||
|
<mimeMap fileExtension=".vsto" mimeType="application/x-ms-vsto" /> |
||||
|
<mimeMap fileExtension=".vsw" mimeType="application/vnd.visio" /> |
||||
|
<mimeMap fileExtension=".vsx" mimeType="application/vnd.visio" /> |
||||
|
<mimeMap fileExtension=".vtx" mimeType="application/vnd.visio" /> |
||||
|
<mimeMap fileExtension=".wasm" mimeType="application/wasm" /> |
||||
|
<mimeMap fileExtension=".wav" mimeType="audio/wav" /> |
||||
|
<mimeMap fileExtension=".wax" mimeType="audio/x-ms-wax" /> |
||||
|
<mimeMap fileExtension=".wbmp" mimeType="image/vnd.wap.wbmp" /> |
||||
|
<mimeMap fileExtension=".wcm" mimeType="application/vnd.ms-works" /> |
||||
|
<mimeMap fileExtension=".wdb" mimeType="application/vnd.ms-works" /> |
||||
|
<mimeMap fileExtension=".webm" mimeType="video/webm" /> |
||||
|
<mimeMap fileExtension=".wks" mimeType="application/vnd.ms-works" /> |
||||
|
<mimeMap fileExtension=".wm" mimeType="video/x-ms-wm" /> |
||||
|
<mimeMap fileExtension=".wma" mimeType="audio/x-ms-wma" /> |
||||
|
<mimeMap fileExtension=".wmd" mimeType="application/x-ms-wmd" /> |
||||
|
<mimeMap fileExtension=".wmf" mimeType="application/x-msmetafile" /> |
||||
|
<mimeMap fileExtension=".wml" mimeType="text/vnd.wap.wml" /> |
||||
|
<mimeMap fileExtension=".wmlc" mimeType="application/vnd.wap.wmlc" /> |
||||
|
<mimeMap fileExtension=".wmls" mimeType="text/vnd.wap.wmlscript" /> |
||||
|
<mimeMap fileExtension=".wmlsc" mimeType="application/vnd.wap.wmlscriptc" /> |
||||
|
<mimeMap fileExtension=".wmp" mimeType="video/x-ms-wmp" /> |
||||
|
<mimeMap fileExtension=".wmv" mimeType="video/x-ms-wmv" /> |
||||
|
<mimeMap fileExtension=".wmx" mimeType="video/x-ms-wmx" /> |
||||
|
<mimeMap fileExtension=".wmz" mimeType="application/x-ms-wmz" /> |
||||
|
<mimeMap fileExtension=".woff" mimeType="font/x-woff" /> |
||||
|
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" /> |
||||
|
<mimeMap fileExtension=".wps" mimeType="application/vnd.ms-works" /> |
||||
|
<mimeMap fileExtension=".wri" mimeType="application/x-mswrite" /> |
||||
|
<mimeMap fileExtension=".wrl" mimeType="x-world/x-vrml" /> |
||||
|
<mimeMap fileExtension=".wrz" mimeType="x-world/x-vrml" /> |
||||
|
<mimeMap fileExtension=".wsdl" mimeType="text/xml" /> |
||||
|
<mimeMap fileExtension=".wtv" mimeType="video/x-ms-wtv" /> |
||||
|
<mimeMap fileExtension=".wvx" mimeType="video/x-ms-wvx" /> |
||||
|
<mimeMap fileExtension=".x" mimeType="application/directx" /> |
||||
|
<mimeMap fileExtension=".xaf" mimeType="x-world/x-vrml" /> |
||||
|
<mimeMap fileExtension=".xaml" mimeType="application/xaml+xml" /> |
||||
|
<mimeMap fileExtension=".xap" mimeType="application/x-silverlight-app" /> |
||||
|
<mimeMap fileExtension=".xbap" mimeType="application/x-ms-xbap" /> |
||||
|
<mimeMap fileExtension=".xbm" mimeType="image/x-xbitmap" /> |
||||
|
<mimeMap fileExtension=".xdr" mimeType="text/plain" /> |
||||
|
<mimeMap fileExtension=".xht" mimeType="application/xhtml+xml" /> |
||||
|
<mimeMap fileExtension=".xhtml" mimeType="application/xhtml+xml" /> |
||||
|
<mimeMap fileExtension=".xla" mimeType="application/vnd.ms-excel" /> |
||||
|
<mimeMap fileExtension=".xlam" mimeType="application/vnd.ms-excel.addin.macroEnabled.12" /> |
||||
|
<mimeMap fileExtension=".xlc" mimeType="application/vnd.ms-excel" /> |
||||
|
<mimeMap fileExtension=".xlm" mimeType="application/vnd.ms-excel" /> |
||||
|
<mimeMap fileExtension=".xls" mimeType="application/vnd.ms-excel" /> |
||||
|
<mimeMap fileExtension=".xlsb" mimeType="application/vnd.ms-excel.sheet.binary.macroEnabled.12" /> |
||||
|
<mimeMap fileExtension=".xlsm" mimeType="application/vnd.ms-excel.sheet.macroEnabled.12" /> |
||||
|
<mimeMap fileExtension=".xlsx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" /> |
||||
|
<mimeMap fileExtension=".xlt" mimeType="application/vnd.ms-excel" /> |
||||
|
<mimeMap fileExtension=".xltm" mimeType="application/vnd.ms-excel.template.macroEnabled.12" /> |
||||
|
<mimeMap fileExtension=".xltx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.template" /> |
||||
|
<mimeMap fileExtension=".xlw" mimeType="application/vnd.ms-excel" /> |
||||
|
<mimeMap fileExtension=".xml" mimeType="text/xml" /> |
||||
|
<mimeMap fileExtension=".xof" mimeType="x-world/x-vrml" /> |
||||
|
<mimeMap fileExtension=".xpm" mimeType="image/x-xpixmap" /> |
||||
|
<mimeMap fileExtension=".xps" mimeType="application/vnd.ms-xpsdocument" /> |
||||
|
<mimeMap fileExtension=".xsd" mimeType="text/xml" /> |
||||
|
<mimeMap fileExtension=".xsf" mimeType="text/xml" /> |
||||
|
<mimeMap fileExtension=".xsl" mimeType="text/xml" /> |
||||
|
<mimeMap fileExtension=".xslt" mimeType="text/xml" /> |
||||
|
<mimeMap fileExtension=".xsn" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".xtp" mimeType="application/octet-stream" /> |
||||
|
<mimeMap fileExtension=".xwd" mimeType="image/x-xwindowdump" /> |
||||
|
<mimeMap fileExtension=".z" mimeType="application/x-compress" /> |
||||
|
<mimeMap fileExtension=".zip" mimeType="application/x-zip-compressed" /> |
||||
|
</staticContent> |
||||
|
<tracing> |
||||
|
<traceFailedRequests> |
||||
|
<add path="*"> |
||||
|
<traceAreas> |
||||
|
<add provider="ASP" verbosity="Verbose" /> |
||||
|
<add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" /> |
||||
|
<add provider="ISAPI Extension" verbosity="Verbose" /> |
||||
|
<add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,Rewrite,WebSocket" verbosity="Verbose" /> |
||||
|
</traceAreas> |
||||
|
<failureDefinitions statusCodes="200-999" /> |
||||
|
</add> |
||||
|
</traceFailedRequests> |
||||
|
<traceProviderDefinitions> |
||||
|
<add name="WWW Server" guid="{3a2a4e84-4c21-4981-ae10-3fda0d9b0f83}"> |
||||
|
<areas> |
||||
|
<clear /> |
||||
|
<add name="Authentication" value="2" /> |
||||
|
<add name="Security" value="4" /> |
||||
|
<add name="Filter" value="8" /> |
||||
|
<add name="StaticFile" value="16" /> |
||||
|
<add name="CGI" value="32" /> |
||||
|
<add name="Compression" value="64" /> |
||||
|
<add name="Cache" value="128" /> |
||||
|
<add name="RequestNotifications" value="256" /> |
||||
|
<add name="Module" value="512" /> |
||||
|
<add name="Rewrite" value="1024" /> |
||||
|
<add name="FastCGI" value="4096" /> |
||||
|
<add name="WebSocket" value="16384" /> |
||||
|
<add name="ANCM" value="65536" /> |
||||
|
</areas> |
||||
|
</add> |
||||
|
<add name="ASP" guid="{06b94d9a-b15e-456e-a4ef-37c984a2cb4b}"> |
||||
|
<areas> |
||||
|
<clear /> |
||||
|
</areas> |
||||
|
</add> |
||||
|
<add name="ISAPI Extension" guid="{a1c2040e-8840-4c31-ba11-9871031a19ea}"> |
||||
|
<areas> |
||||
|
<clear /> |
||||
|
</areas> |
||||
|
</add> |
||||
|
<add name="ASPNET" guid="{AFF081FE-0247-4275-9C4E-021F3DC1DA35}"> |
||||
|
<areas> |
||||
|
<add name="Infrastructure" value="1" /> |
||||
|
<add name="Module" value="2" /> |
||||
|
<add name="Page" value="4" /> |
||||
|
<add name="AppServices" value="8" /> |
||||
|
</areas> |
||||
|
</add> |
||||
|
</traceProviderDefinitions> |
||||
|
</tracing> |
||||
|
<urlCompression /> |
||||
|
<validation /> |
||||
|
<webdav> |
||||
|
<globalSettings> |
||||
|
<propertyStores> |
||||
|
<add name="webdav_simple_prop" image="%IIS_BIN%\webdav_simple_prop.dll" image32="%IIS_BIN%\webdav_simple_prop.dll" /> |
||||
|
</propertyStores> |
||||
|
<lockStores> |
||||
|
<add name="webdav_simple_lock" image="%IIS_BIN%\webdav_simple_lock.dll" image32="%IIS_BIN%\webdav_simple_lock.dll" /> |
||||
|
</lockStores> |
||||
|
</globalSettings> |
||||
|
<authoring> |
||||
|
<locks enabled="true" lockStore="webdav_simple_lock" /> |
||||
|
</authoring> |
||||
|
<authoringRules /> |
||||
|
</webdav> |
||||
|
<webSocket /> |
||||
|
<applicationInitialization /> |
||||
|
</system.webServer> |
||||
|
<location path="" overrideMode="Allow"> |
||||
|
<system.webServer> |
||||
|
<modules> |
||||
|
<add name="IsapiFilterModule" lockItem="true" /> |
||||
|
<add name="BasicAuthenticationModule" lockItem="true" /> |
||||
|
<add name="IsapiModule" lockItem="true" /> |
||||
|
<add name="HttpLoggingModule" lockItem="true" /> |
||||
|
<add name="DynamicCompressionModule" lockItem="true" /> |
||||
|
<add name="StaticCompressionModule" lockItem="true" /> |
||||
|
<add name="DefaultDocumentModule" lockItem="true" /> |
||||
|
<add name="DirectoryListingModule" lockItem="true" /> |
||||
|
<add name="ProtocolSupportModule" lockItem="true" /> |
||||
|
<add name="HttpRedirectionModule" lockItem="true" /> |
||||
|
<add name="ServerSideIncludeModule" lockItem="true" /> |
||||
|
<add name="StaticFileModule" lockItem="true" /> |
||||
|
<add name="AnonymousAuthenticationModule" lockItem="true" /> |
||||
|
<add name="CertificateMappingAuthenticationModule" lockItem="true" /> |
||||
|
<add name="UrlAuthorizationModule" lockItem="true" /> |
||||
|
<add name="WindowsAuthenticationModule" lockItem="true" /> |
||||
|
<add name="IISCertificateMappingAuthenticationModule" lockItem="true" /> |
||||
|
<add name="WebMatrixSupportModule" lockItem="true" /> |
||||
|
<add name="IpRestrictionModule" lockItem="true" /> |
||||
|
<add name="DynamicIpRestrictionModule" lockItem="true" /> |
||||
|
<add name="RequestFilteringModule" lockItem="true" /> |
||||
|
<add name="CustomLoggingModule" lockItem="true" /> |
||||
|
<add name="CustomErrorModule" lockItem="true" /> |
||||
|
<add name="FailedRequestsTracingModule" lockItem="true" /> |
||||
|
<add name="CgiModule" lockItem="true" /> |
||||
|
<add name="FastCgiModule" lockItem="true" /> |
||||
|
<!-- <add name="WebDAVModule" /> --> |
||||
|
<add name="RewriteModule" /> |
||||
|
<add name="OutputCache" type="System.Web.Caching.OutputCacheModule" preCondition="managedHandler" /> |
||||
|
<add name="Session" type="System.Web.SessionState.SessionStateModule" preCondition="managedHandler" /> |
||||
|
<add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" preCondition="managedHandler" /> |
||||
|
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" /> |
||||
|
<add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" preCondition="managedHandler" /> |
||||
|
<add name="RoleManager" type="System.Web.Security.RoleManagerModule" preCondition="managedHandler" /> |
||||
|
<add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" preCondition="managedHandler" /> |
||||
|
<add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule" preCondition="managedHandler" /> |
||||
|
<add name="AnonymousIdentification" type="System.Web.Security.AnonymousIdentificationModule" preCondition="managedHandler" /> |
||||
|
<add name="Profile" type="System.Web.Profile.ProfileModule" preCondition="managedHandler" /> |
||||
|
<add name="UrlMappingsModule" type="System.Web.UrlMappingsModule" preCondition="managedHandler" /> |
||||
|
<add name="ApplicationInitializationModule" lockItem="true" /> |
||||
|
<add name="WebSocketModule" lockItem="true" /> |
||||
|
<add name="ServiceModel-4.0" type="System.ServiceModel.Activation.ServiceHttpModule,System.ServiceModel.Activation,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" /> |
||||
|
<add name="ConfigurationValidationModule" lockItem="true" /> |
||||
|
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="managedHandler,runtimeVersionv4.0" /> |
||||
|
<add name="ScriptModule-4.0" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" /> |
||||
|
<add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler,runtimeVersionv2.0" /> |
||||
|
<add name="AspNetCoreModule" lockItem="true" /> |
||||
|
<add name="AspNetCoreModuleV2" lockItem="true" /> |
||||
|
</modules> |
||||
|
<handlers accessPolicy="Read, Script"> |
||||
|
<!-- <add name="WebDAV" path="*" verb="PROPFIND,PROPPATCH,MKCOL,PUT,COPY,DELETE,MOVE,LOCK,UNLOCK" modules="WebDAVModule" resourceType="Unspecified" requireAccess="None" /> --> |
||||
|
<add name="AXD-ISAPI-4.0_64bit" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
||||
|
<add name="PageHandlerFactory-ISAPI-4.0_64bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
||||
|
<add name="SimpleHandlerFactory-ISAPI-4.0_64bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
||||
|
<add name="WebServiceHandlerFactory-ISAPI-4.0_64bit" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
||||
|
<add name="HttpRemotingHandlerFactory-rem-ISAPI-4.0_64bit" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
||||
|
<add name="HttpRemotingHandlerFactory-soap-ISAPI-4.0_64bit" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
||||
|
<add name="svc-ISAPI-4.0_64bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> |
||||
|
<add name="rules-ISAPI-4.0_64bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> |
||||
|
<add name="xoml-ISAPI-4.0_64bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> |
||||
|
<add name="xamlx-ISAPI-4.0_64bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> |
||||
|
<add name="aspq-ISAPI-4.0_64bit" path="*.aspq" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
||||
|
<add name="cshtm-ISAPI-4.0_64bit" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
||||
|
<add name="cshtml-ISAPI-4.0_64bit" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
||||
|
<add name="vbhtm-ISAPI-4.0_64bit" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
||||
|
<add name="vbhtml-ISAPI-4.0_64bit" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
||||
|
<add name="svc-Integrated" path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> |
||||
|
<add name="svc-ISAPI-2.0" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> |
||||
|
<add name="xoml-Integrated" path="*.xoml" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> |
||||
|
<add name="xoml-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> |
||||
|
<add name="rules-Integrated" path="*.rules" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> |
||||
|
<add name="rules-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> |
||||
|
<add name="AXD-ISAPI-4.0_32bit" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
||||
|
<add name="PageHandlerFactory-ISAPI-4.0_32bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
||||
|
<add name="SimpleHandlerFactory-ISAPI-4.0_32bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
||||
|
<add name="WebServiceHandlerFactory-ISAPI-4.0_32bit" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
||||
|
<add name="HttpRemotingHandlerFactory-rem-ISAPI-4.0_32bit" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
||||
|
<add name="HttpRemotingHandlerFactory-soap-ISAPI-4.0_32bit" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
||||
|
<add name="svc-ISAPI-4.0_32bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> |
||||
|
<add name="rules-ISAPI-4.0_32bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> |
||||
|
<add name="xoml-ISAPI-4.0_32bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> |
||||
|
<add name="xamlx-ISAPI-4.0_32bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> |
||||
|
<add name="aspq-ISAPI-4.0_32bit" path="*.aspq" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
||||
|
<add name="cshtm-ISAPI-4.0_32bit" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
||||
|
<add name="cshtml-ISAPI-4.0_32bit" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
||||
|
<add name="vbhtm-ISAPI-4.0_32bit" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
||||
|
<add name="vbhtml-ISAPI-4.0_32bit" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
||||
|
<add name="TraceHandler-Integrated-4.0" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode,runtimeVersionv4.0" /> |
||||
|
<add name="WebAdminHandler-Integrated-4.0" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode,runtimeVersionv4.0" /> |
||||
|
<add name="AssemblyResourceLoader-Integrated-4.0" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv4.0" /> |
||||
|
<add name="PageHandlerFactory-Integrated-4.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" /> |
||||
|
<add name="SimpleHandlerFactory-Integrated-4.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" /> |
||||
|
<add name="WebServiceHandlerFactory-Integrated-4.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> |
||||
|
<add name="HttpRemotingHandlerFactory-rem-Integrated-4.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" /> |
||||
|
<add name="HttpRemotingHandlerFactory-soap-Integrated-4.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" /> |
||||
|
<add name="svc-Integrated-4.0" path="*.svc" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> |
||||
|
<add name="rules-Integrated-4.0" path="*.rules" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> |
||||
|
<add name="xoml-Integrated-4.0" path="*.xoml" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> |
||||
|
<add name="xamlx-Integrated-4.0" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" type="System.Xaml.Hosting.XamlHttpHandlerFactory, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> |
||||
|
<add name="aspq-Integrated-4.0" path="*.aspq" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> |
||||
|
<add name="cshtm-Integrated-4.0" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> |
||||
|
<add name="cshtml-Integrated-4.0" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> |
||||
|
<add name="vbhtm-Integrated-4.0" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> |
||||
|
<add name="vbhtml-Integrated-4.0" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> |
||||
|
<add name="ScriptHandlerFactoryAppServices-Integrated-4.0" path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" /> |
||||
|
<add name="ScriptResourceIntegrated-4.0" path="*ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" /> |
||||
|
<add name="ASPClassic" path="*.asp" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" /> |
||||
|
<add name="SecurityCertificate" path="*.cer" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" /> |
||||
|
<add name="ISAPI-dll" path="*.dll" verb="*" modules="IsapiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" /> |
||||
|
<add name="TraceHandler-Integrated" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode,runtimeVersionv2.0" /> |
||||
|
<add name="WebAdminHandler-Integrated" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode,runtimeVersionv2.0" /> |
||||
|
<add name="AssemblyResourceLoader-Integrated" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv2.0" /> |
||||
|
<add name="PageHandlerFactory-Integrated" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" /> |
||||
|
<add name="SimpleHandlerFactory-Integrated" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" /> |
||||
|
<add name="WebServiceHandlerFactory-Integrated" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Services.Protocols.WebServiceHandlerFactory,System.Web.Services,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" preCondition="integratedMode,runtimeVersionv2.0" /> |
||||
|
<add name="HttpRemotingHandlerFactory-rem-Integrated" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> |
||||
|
<add name="HttpRemotingHandlerFactory-soap-Integrated" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> |
||||
|
<add name="AXD-ISAPI-2.0" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> |
||||
|
<add name="PageHandlerFactory-ISAPI-2.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> |
||||
|
<add name="SimpleHandlerFactory-ISAPI-2.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> |
||||
|
<add name="WebServiceHandlerFactory-ISAPI-2.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> |
||||
|
<add name="HttpRemotingHandlerFactory-rem-ISAPI-2.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> |
||||
|
<add name="HttpRemotingHandlerFactory-soap-ISAPI-2.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> |
||||
|
<add name="svc-ISAPI-2.0-64" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" /> |
||||
|
<add name="AXD-ISAPI-2.0-64" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> |
||||
|
<add name="PageHandlerFactory-ISAPI-2.0-64" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> |
||||
|
<add name="SimpleHandlerFactory-ISAPI-2.0-64" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> |
||||
|
<add name="WebServiceHandlerFactory-ISAPI-2.0-64" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> |
||||
|
<add name="HttpRemotingHandlerFactory-rem-ISAPI-2.0-64" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> |
||||
|
<add name="HttpRemotingHandlerFactory-soap-ISAPI-2.0-64" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> |
||||
|
<add name="rules-64-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" /> |
||||
|
<add name="xoml-64-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" /> |
||||
|
<add name="CGI-exe" path="*.exe" verb="*" modules="CgiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" /> |
||||
|
<add name="SSINC-stm" path="*.stm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" /> |
||||
|
<add name="SSINC-shtm" path="*.shtm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" /> |
||||
|
<add name="SSINC-shtml" path="*.shtml" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" /> |
||||
|
<add name="TRACEVerbHandler" path="*" verb="TRACE" modules="ProtocolSupportModule" requireAccess="None" /> |
||||
|
<add name="OPTIONSVerbHandler" path="*" verb="OPTIONS" modules="ProtocolSupportModule" requireAccess="None" /> |
||||
|
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> |
||||
|
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> |
||||
|
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="0" /> |
||||
|
<add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" /> |
||||
|
</handlers> |
||||
|
</system.webServer> |
||||
|
</location> |
||||
|
</configuration> |
||||
@ -0,0 +1,16 @@ |
|||||
|
{ |
||||
|
"Version": 1, |
||||
|
"ProjectMap": { |
||||
|
"8f118ddc-3435-475f-81a1-f7fd266f758a": { |
||||
|
"ProjectGuid": "8f118ddc-3435-475f-81a1-f7fd266f758a", |
||||
|
"DisplayName": "RegistrationForm", |
||||
|
"ColorIndex": 0 |
||||
|
}, |
||||
|
"a2fe74e1-b743-11d0-ae1a-00a0c90fffc3": { |
||||
|
"ProjectGuid": "a2fe74e1-b743-11d0-ae1a-00a0c90fffc3", |
||||
|
"DisplayName": "기타 파일", |
||||
|
"ColorIndex": -1 |
||||
|
} |
||||
|
}, |
||||
|
"NextColorIndex": 1 |
||||
|
} |
||||
@ -0,0 +1,30 @@ |
|||||
|
using System.Web; |
||||
|
using System.Web.Optimization; |
||||
|
|
||||
|
namespace RegistrationForm |
||||
|
{ |
||||
|
public class BundleConfig |
||||
|
{ |
||||
|
// 묶음에 대한 자세한 내용은 https://go.microsoft.com/fwlink/?LinkId=301862를 참조하세요.
|
||||
|
public static void RegisterBundles(BundleCollection bundles) |
||||
|
{ |
||||
|
bundles.Add(new ScriptBundle("~/bundles/jquery").Include( |
||||
|
"~/Scripts/jquery-{version}.js")); |
||||
|
|
||||
|
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include( |
||||
|
"~/Scripts/jquery.validate*")); |
||||
|
|
||||
|
// Modernizr의 개발 버전을 사용하여 개발하고 배우십시오. 그런 다음
|
||||
|
// 프로덕션에 사용할 준비를 하고 https://modernizr.com의 빌드 도구를 사용하여 필요한 테스트만 선택하세요.
|
||||
|
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include( |
||||
|
"~/Scripts/modernizr-*")); |
||||
|
|
||||
|
bundles.Add(new Bundle("~/bundles/bootstrap").Include( |
||||
|
"~/Scripts/bootstrap.js")); |
||||
|
|
||||
|
bundles.Add(new StyleBundle("~/Content/css").Include( |
||||
|
"~/Content/bootstrap.css", |
||||
|
"~/Content/site.css")); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,13 @@ |
|||||
|
using System.Web; |
||||
|
using System.Web.Mvc; |
||||
|
|
||||
|
namespace RegistrationForm |
||||
|
{ |
||||
|
public class FilterConfig |
||||
|
{ |
||||
|
public static void RegisterGlobalFilters(GlobalFilterCollection filters) |
||||
|
{ |
||||
|
filters.Add(new HandleErrorAttribute()); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,23 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Web; |
||||
|
using System.Web.Mvc; |
||||
|
using System.Web.Routing; |
||||
|
|
||||
|
namespace RegistrationForm |
||||
|
{ |
||||
|
public class RouteConfig |
||||
|
{ |
||||
|
public static void RegisterRoutes(RouteCollection routes) |
||||
|
{ |
||||
|
routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); |
||||
|
|
||||
|
routes.MapRoute( |
||||
|
name: "Default", |
||||
|
url: "{controller}/{action}/{id}", |
||||
|
defaults: new { controller = "Home", action = "Main", id = UrlParameter.Optional } |
||||
|
); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,24 @@ |
|||||
|
body { |
||||
|
padding-top: 50px; |
||||
|
padding-bottom: 20px; |
||||
|
} |
||||
|
|
||||
|
/* Set padding to keep content from hitting the edges */ |
||||
|
.body-content { |
||||
|
padding-left: 15px; |
||||
|
padding-right: 15px; |
||||
|
} |
||||
|
|
||||
|
/* Override the default bootstrap behavior where horizontal description lists |
||||
|
will truncate terms that are too long to fit in the left column |
||||
|
*/ |
||||
|
.dl-horizontal dt { |
||||
|
white-space: normal; |
||||
|
} |
||||
|
|
||||
|
/* Set width on the form input elements since they're 100% wide by default */ |
||||
|
input, |
||||
|
select, |
||||
|
textarea { |
||||
|
max-width: 280px; |
||||
|
} |
||||
5051
Content/bootstrap-grid.css
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1
Content/bootstrap-grid.css.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
7
Content/bootstrap-grid.min.css
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1
Content/bootstrap-grid.min.css.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
5050
Content/bootstrap-grid.rtl.css
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1
Content/bootstrap-grid.rtl.css.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
7
Content/bootstrap-grid.rtl.min.css
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1
Content/bootstrap-grid.rtl.min.css.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,485 @@ |
|||||
|
/*! |
||||
|
* Bootstrap Reboot v5.1.3 (https://getbootstrap.com/) |
||||
|
* Copyright 2011-2021 The Bootstrap Authors |
||||
|
* Copyright 2011-2021 Twitter, Inc. |
||||
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
||||
|
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) |
||||
|
*/ |
||||
|
:root { |
||||
|
--bs-blue: #0d6efd; |
||||
|
--bs-indigo: #6610f2; |
||||
|
--bs-purple: #6f42c1; |
||||
|
--bs-pink: #d63384; |
||||
|
--bs-red: #dc3545; |
||||
|
--bs-orange: #fd7e14; |
||||
|
--bs-yellow: #ffc107; |
||||
|
--bs-green: #198754; |
||||
|
--bs-teal: #20c997; |
||||
|
--bs-cyan: #0dcaf0; |
||||
|
--bs-white: #fff; |
||||
|
--bs-gray: #6c757d; |
||||
|
--bs-gray-dark: #343a40; |
||||
|
--bs-gray-100: #f8f9fa; |
||||
|
--bs-gray-200: #e9ecef; |
||||
|
--bs-gray-300: #dee2e6; |
||||
|
--bs-gray-400: #ced4da; |
||||
|
--bs-gray-500: #adb5bd; |
||||
|
--bs-gray-600: #6c757d; |
||||
|
--bs-gray-700: #495057; |
||||
|
--bs-gray-800: #343a40; |
||||
|
--bs-gray-900: #212529; |
||||
|
--bs-primary: #0d6efd; |
||||
|
--bs-secondary: #6c757d; |
||||
|
--bs-success: #198754; |
||||
|
--bs-info: #0dcaf0; |
||||
|
--bs-warning: #ffc107; |
||||
|
--bs-danger: #dc3545; |
||||
|
--bs-light: #f8f9fa; |
||||
|
--bs-dark: #212529; |
||||
|
--bs-primary-rgb: 13, 110, 253; |
||||
|
--bs-secondary-rgb: 108, 117, 125; |
||||
|
--bs-success-rgb: 25, 135, 84; |
||||
|
--bs-info-rgb: 13, 202, 240; |
||||
|
--bs-warning-rgb: 255, 193, 7; |
||||
|
--bs-danger-rgb: 220, 53, 69; |
||||
|
--bs-light-rgb: 248, 249, 250; |
||||
|
--bs-dark-rgb: 33, 37, 41; |
||||
|
--bs-white-rgb: 255, 255, 255; |
||||
|
--bs-black-rgb: 0, 0, 0; |
||||
|
--bs-body-color-rgb: 33, 37, 41; |
||||
|
--bs-body-bg-rgb: 255, 255, 255; |
||||
|
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; |
||||
|
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; |
||||
|
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); |
||||
|
--bs-body-font-family: var(--bs-font-sans-serif); |
||||
|
--bs-body-font-size: 1rem; |
||||
|
--bs-body-font-weight: 400; |
||||
|
--bs-body-line-height: 1.5; |
||||
|
--bs-body-color: #212529; |
||||
|
--bs-body-bg: #fff; |
||||
|
} |
||||
|
|
||||
|
*, |
||||
|
*::before, |
||||
|
*::after { |
||||
|
box-sizing: border-box; |
||||
|
} |
||||
|
|
||||
|
@media (prefers-reduced-motion: no-preference) { |
||||
|
:root { |
||||
|
scroll-behavior: smooth; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
body { |
||||
|
margin: 0; |
||||
|
font-family: var(--bs-body-font-family); |
||||
|
font-size: var(--bs-body-font-size); |
||||
|
font-weight: var(--bs-body-font-weight); |
||||
|
line-height: var(--bs-body-line-height); |
||||
|
color: var(--bs-body-color); |
||||
|
text-align: var(--bs-body-text-align); |
||||
|
background-color: var(--bs-body-bg); |
||||
|
-webkit-text-size-adjust: 100%; |
||||
|
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); |
||||
|
} |
||||
|
|
||||
|
hr { |
||||
|
margin: 1rem 0; |
||||
|
color: inherit; |
||||
|
background-color: currentColor; |
||||
|
border: 0; |
||||
|
opacity: 0.25; |
||||
|
} |
||||
|
|
||||
|
hr:not([size]) { |
||||
|
height: 1px; |
||||
|
} |
||||
|
|
||||
|
h6, h5, h4, h3, h2, h1 { |
||||
|
margin-top: 0; |
||||
|
margin-bottom: 0.5rem; |
||||
|
font-weight: 500; |
||||
|
line-height: 1.2; |
||||
|
} |
||||
|
|
||||
|
h1 { |
||||
|
font-size: calc(1.375rem + 1.5vw); |
||||
|
} |
||||
|
@media (min-width: 1200px) { |
||||
|
h1 { |
||||
|
font-size: 2.5rem; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
h2 { |
||||
|
font-size: calc(1.325rem + 0.9vw); |
||||
|
} |
||||
|
@media (min-width: 1200px) { |
||||
|
h2 { |
||||
|
font-size: 2rem; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
h3 { |
||||
|
font-size: calc(1.3rem + 0.6vw); |
||||
|
} |
||||
|
@media (min-width: 1200px) { |
||||
|
h3 { |
||||
|
font-size: 1.75rem; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
h4 { |
||||
|
font-size: calc(1.275rem + 0.3vw); |
||||
|
} |
||||
|
@media (min-width: 1200px) { |
||||
|
h4 { |
||||
|
font-size: 1.5rem; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
h5 { |
||||
|
font-size: 1.25rem; |
||||
|
} |
||||
|
|
||||
|
h6 { |
||||
|
font-size: 1rem; |
||||
|
} |
||||
|
|
||||
|
p { |
||||
|
margin-top: 0; |
||||
|
margin-bottom: 1rem; |
||||
|
} |
||||
|
|
||||
|
abbr[title], |
||||
|
abbr[data-bs-original-title] { |
||||
|
-webkit-text-decoration: underline dotted; |
||||
|
text-decoration: underline dotted; |
||||
|
cursor: help; |
||||
|
-webkit-text-decoration-skip-ink: none; |
||||
|
text-decoration-skip-ink: none; |
||||
|
} |
||||
|
|
||||
|
address { |
||||
|
margin-bottom: 1rem; |
||||
|
font-style: normal; |
||||
|
line-height: inherit; |
||||
|
} |
||||
|
|
||||
|
ol, |
||||
|
ul { |
||||
|
padding-left: 2rem; |
||||
|
} |
||||
|
|
||||
|
ol, |
||||
|
ul, |
||||
|
dl { |
||||
|
margin-top: 0; |
||||
|
margin-bottom: 1rem; |
||||
|
} |
||||
|
|
||||
|
ol ol, |
||||
|
ul ul, |
||||
|
ol ul, |
||||
|
ul ol { |
||||
|
margin-bottom: 0; |
||||
|
} |
||||
|
|
||||
|
dt { |
||||
|
font-weight: 700; |
||||
|
} |
||||
|
|
||||
|
dd { |
||||
|
margin-bottom: 0.5rem; |
||||
|
margin-left: 0; |
||||
|
} |
||||
|
|
||||
|
blockquote { |
||||
|
margin: 0 0 1rem; |
||||
|
} |
||||
|
|
||||
|
b, |
||||
|
strong { |
||||
|
font-weight: bolder; |
||||
|
} |
||||
|
|
||||
|
small { |
||||
|
font-size: 0.875em; |
||||
|
} |
||||
|
|
||||
|
mark { |
||||
|
padding: 0.2em; |
||||
|
background-color: #fcf8e3; |
||||
|
} |
||||
|
|
||||
|
sub, |
||||
|
sup { |
||||
|
position: relative; |
||||
|
font-size: 0.75em; |
||||
|
line-height: 0; |
||||
|
vertical-align: baseline; |
||||
|
} |
||||
|
|
||||
|
sub { |
||||
|
bottom: -0.25em; |
||||
|
} |
||||
|
|
||||
|
sup { |
||||
|
top: -0.5em; |
||||
|
} |
||||
|
|
||||
|
a { |
||||
|
color: #0d6efd; |
||||
|
text-decoration: underline; |
||||
|
} |
||||
|
a:hover { |
||||
|
color: #0a58ca; |
||||
|
} |
||||
|
|
||||
|
a:not([href]):not([class]), a:not([href]):not([class]):hover { |
||||
|
color: inherit; |
||||
|
text-decoration: none; |
||||
|
} |
||||
|
|
||||
|
pre, |
||||
|
code, |
||||
|
kbd, |
||||
|
samp { |
||||
|
font-family: var(--bs-font-monospace); |
||||
|
font-size: 1em; |
||||
|
direction: ltr /* rtl:ignore */; |
||||
|
unicode-bidi: bidi-override; |
||||
|
} |
||||
|
|
||||
|
pre { |
||||
|
display: block; |
||||
|
margin-top: 0; |
||||
|
margin-bottom: 1rem; |
||||
|
overflow: auto; |
||||
|
font-size: 0.875em; |
||||
|
} |
||||
|
pre code { |
||||
|
font-size: inherit; |
||||
|
color: inherit; |
||||
|
word-break: normal; |
||||
|
} |
||||
|
|
||||
|
code { |
||||
|
font-size: 0.875em; |
||||
|
color: #d63384; |
||||
|
word-wrap: break-word; |
||||
|
} |
||||
|
a > code { |
||||
|
color: inherit; |
||||
|
} |
||||
|
|
||||
|
kbd { |
||||
|
padding: 0.2rem 0.4rem; |
||||
|
font-size: 0.875em; |
||||
|
color: #fff; |
||||
|
background-color: #212529; |
||||
|
border-radius: 0.2rem; |
||||
|
} |
||||
|
kbd kbd { |
||||
|
padding: 0; |
||||
|
font-size: 1em; |
||||
|
font-weight: 700; |
||||
|
} |
||||
|
|
||||
|
figure { |
||||
|
margin: 0 0 1rem; |
||||
|
} |
||||
|
|
||||
|
img, |
||||
|
svg { |
||||
|
vertical-align: middle; |
||||
|
} |
||||
|
|
||||
|
table { |
||||
|
caption-side: bottom; |
||||
|
border-collapse: collapse; |
||||
|
} |
||||
|
|
||||
|
caption { |
||||
|
padding-top: 0.5rem; |
||||
|
padding-bottom: 0.5rem; |
||||
|
color: #6c757d; |
||||
|
text-align: left; |
||||
|
} |
||||
|
|
||||
|
th { |
||||
|
text-align: inherit; |
||||
|
text-align: -webkit-match-parent; |
||||
|
} |
||||
|
|
||||
|
thead, |
||||
|
tbody, |
||||
|
tfoot, |
||||
|
tr, |
||||
|
td, |
||||
|
th { |
||||
|
border-color: inherit; |
||||
|
border-style: solid; |
||||
|
border-width: 0; |
||||
|
} |
||||
|
|
||||
|
label { |
||||
|
display: inline-block; |
||||
|
} |
||||
|
|
||||
|
button { |
||||
|
border-radius: 0; |
||||
|
} |
||||
|
|
||||
|
button:focus:not(:focus-visible) { |
||||
|
outline: 0; |
||||
|
} |
||||
|
|
||||
|
input, |
||||
|
button, |
||||
|
select, |
||||
|
optgroup, |
||||
|
textarea { |
||||
|
margin: 0; |
||||
|
font-family: inherit; |
||||
|
font-size: inherit; |
||||
|
line-height: inherit; |
||||
|
} |
||||
|
|
||||
|
button, |
||||
|
select { |
||||
|
text-transform: none; |
||||
|
} |
||||
|
|
||||
|
[role=button] { |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
|
||||
|
select { |
||||
|
word-wrap: normal; |
||||
|
} |
||||
|
select:disabled { |
||||
|
opacity: 1; |
||||
|
} |
||||
|
|
||||
|
[list]::-webkit-calendar-picker-indicator { |
||||
|
display: none; |
||||
|
} |
||||
|
|
||||
|
button, |
||||
|
[type=button], |
||||
|
[type=reset], |
||||
|
[type=submit] { |
||||
|
-webkit-appearance: button; |
||||
|
} |
||||
|
button:not(:disabled), |
||||
|
[type=button]:not(:disabled), |
||||
|
[type=reset]:not(:disabled), |
||||
|
[type=submit]:not(:disabled) { |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
|
||||
|
::-moz-focus-inner { |
||||
|
padding: 0; |
||||
|
border-style: none; |
||||
|
} |
||||
|
|
||||
|
textarea { |
||||
|
resize: vertical; |
||||
|
} |
||||
|
|
||||
|
fieldset { |
||||
|
min-width: 0; |
||||
|
padding: 0; |
||||
|
margin: 0; |
||||
|
border: 0; |
||||
|
} |
||||
|
|
||||
|
legend { |
||||
|
float: left; |
||||
|
width: 100%; |
||||
|
padding: 0; |
||||
|
margin-bottom: 0.5rem; |
||||
|
font-size: calc(1.275rem + 0.3vw); |
||||
|
line-height: inherit; |
||||
|
} |
||||
|
@media (min-width: 1200px) { |
||||
|
legend { |
||||
|
font-size: 1.5rem; |
||||
|
} |
||||
|
} |
||||
|
legend + * { |
||||
|
clear: left; |
||||
|
} |
||||
|
|
||||
|
::-webkit-datetime-edit-fields-wrapper, |
||||
|
::-webkit-datetime-edit-text, |
||||
|
::-webkit-datetime-edit-minute, |
||||
|
::-webkit-datetime-edit-hour-field, |
||||
|
::-webkit-datetime-edit-day-field, |
||||
|
::-webkit-datetime-edit-month-field, |
||||
|
::-webkit-datetime-edit-year-field { |
||||
|
padding: 0; |
||||
|
} |
||||
|
|
||||
|
::-webkit-inner-spin-button { |
||||
|
height: auto; |
||||
|
} |
||||
|
|
||||
|
[type=search] { |
||||
|
outline-offset: -2px; |
||||
|
-webkit-appearance: textfield; |
||||
|
} |
||||
|
|
||||
|
/* rtl:raw: |
||||
|
[type="tel"], |
||||
|
[type="url"], |
||||
|
[type="email"], |
||||
|
[type="number"] { |
||||
|
direction: ltr; |
||||
|
} |
||||
|
*/ |
||||
|
::-webkit-search-decoration { |
||||
|
-webkit-appearance: none; |
||||
|
} |
||||
|
|
||||
|
::-webkit-color-swatch-wrapper { |
||||
|
padding: 0; |
||||
|
} |
||||
|
|
||||
|
::-webkit-file-upload-button { |
||||
|
font: inherit; |
||||
|
} |
||||
|
|
||||
|
::file-selector-button { |
||||
|
font: inherit; |
||||
|
} |
||||
|
|
||||
|
::-webkit-file-upload-button { |
||||
|
font: inherit; |
||||
|
-webkit-appearance: button; |
||||
|
} |
||||
|
|
||||
|
output { |
||||
|
display: inline-block; |
||||
|
} |
||||
|
|
||||
|
iframe { |
||||
|
border: 0; |
||||
|
} |
||||
|
|
||||
|
summary { |
||||
|
display: list-item; |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
|
||||
|
progress { |
||||
|
vertical-align: baseline; |
||||
|
} |
||||
|
|
||||
|
[hidden] { |
||||
|
display: none !important; |
||||
|
} |
||||
|
|
||||
|
/*# sourceMappingURL=bootstrap-reboot.css.map */ |
||||
1
Content/bootstrap-reboot.css.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
8
Content/bootstrap-reboot.min.css
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1
Content/bootstrap-reboot.min.css.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,482 @@ |
|||||
|
/*! |
||||
|
* Bootstrap Reboot v5.1.3 (https://getbootstrap.com/) |
||||
|
* Copyright 2011-2021 The Bootstrap Authors |
||||
|
* Copyright 2011-2021 Twitter, Inc. |
||||
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
||||
|
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) |
||||
|
*/ |
||||
|
:root { |
||||
|
--bs-blue: #0d6efd; |
||||
|
--bs-indigo: #6610f2; |
||||
|
--bs-purple: #6f42c1; |
||||
|
--bs-pink: #d63384; |
||||
|
--bs-red: #dc3545; |
||||
|
--bs-orange: #fd7e14; |
||||
|
--bs-yellow: #ffc107; |
||||
|
--bs-green: #198754; |
||||
|
--bs-teal: #20c997; |
||||
|
--bs-cyan: #0dcaf0; |
||||
|
--bs-white: #fff; |
||||
|
--bs-gray: #6c757d; |
||||
|
--bs-gray-dark: #343a40; |
||||
|
--bs-gray-100: #f8f9fa; |
||||
|
--bs-gray-200: #e9ecef; |
||||
|
--bs-gray-300: #dee2e6; |
||||
|
--bs-gray-400: #ced4da; |
||||
|
--bs-gray-500: #adb5bd; |
||||
|
--bs-gray-600: #6c757d; |
||||
|
--bs-gray-700: #495057; |
||||
|
--bs-gray-800: #343a40; |
||||
|
--bs-gray-900: #212529; |
||||
|
--bs-primary: #0d6efd; |
||||
|
--bs-secondary: #6c757d; |
||||
|
--bs-success: #198754; |
||||
|
--bs-info: #0dcaf0; |
||||
|
--bs-warning: #ffc107; |
||||
|
--bs-danger: #dc3545; |
||||
|
--bs-light: #f8f9fa; |
||||
|
--bs-dark: #212529; |
||||
|
--bs-primary-rgb: 13, 110, 253; |
||||
|
--bs-secondary-rgb: 108, 117, 125; |
||||
|
--bs-success-rgb: 25, 135, 84; |
||||
|
--bs-info-rgb: 13, 202, 240; |
||||
|
--bs-warning-rgb: 255, 193, 7; |
||||
|
--bs-danger-rgb: 220, 53, 69; |
||||
|
--bs-light-rgb: 248, 249, 250; |
||||
|
--bs-dark-rgb: 33, 37, 41; |
||||
|
--bs-white-rgb: 255, 255, 255; |
||||
|
--bs-black-rgb: 0, 0, 0; |
||||
|
--bs-body-color-rgb: 33, 37, 41; |
||||
|
--bs-body-bg-rgb: 255, 255, 255; |
||||
|
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; |
||||
|
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; |
||||
|
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); |
||||
|
--bs-body-font-family: var(--bs-font-sans-serif); |
||||
|
--bs-body-font-size: 1rem; |
||||
|
--bs-body-font-weight: 400; |
||||
|
--bs-body-line-height: 1.5; |
||||
|
--bs-body-color: #212529; |
||||
|
--bs-body-bg: #fff; |
||||
|
} |
||||
|
|
||||
|
*, |
||||
|
*::before, |
||||
|
*::after { |
||||
|
box-sizing: border-box; |
||||
|
} |
||||
|
|
||||
|
@media (prefers-reduced-motion: no-preference) { |
||||
|
:root { |
||||
|
scroll-behavior: smooth; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
body { |
||||
|
margin: 0; |
||||
|
font-family: var(--bs-body-font-family); |
||||
|
font-size: var(--bs-body-font-size); |
||||
|
font-weight: var(--bs-body-font-weight); |
||||
|
line-height: var(--bs-body-line-height); |
||||
|
color: var(--bs-body-color); |
||||
|
text-align: var(--bs-body-text-align); |
||||
|
background-color: var(--bs-body-bg); |
||||
|
-webkit-text-size-adjust: 100%; |
||||
|
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); |
||||
|
} |
||||
|
|
||||
|
hr { |
||||
|
margin: 1rem 0; |
||||
|
color: inherit; |
||||
|
background-color: currentColor; |
||||
|
border: 0; |
||||
|
opacity: 0.25; |
||||
|
} |
||||
|
|
||||
|
hr:not([size]) { |
||||
|
height: 1px; |
||||
|
} |
||||
|
|
||||
|
h6, h5, h4, h3, h2, h1 { |
||||
|
margin-top: 0; |
||||
|
margin-bottom: 0.5rem; |
||||
|
font-weight: 500; |
||||
|
line-height: 1.2; |
||||
|
} |
||||
|
|
||||
|
h1 { |
||||
|
font-size: calc(1.375rem + 1.5vw); |
||||
|
} |
||||
|
@media (min-width: 1200px) { |
||||
|
h1 { |
||||
|
font-size: 2.5rem; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
h2 { |
||||
|
font-size: calc(1.325rem + 0.9vw); |
||||
|
} |
||||
|
@media (min-width: 1200px) { |
||||
|
h2 { |
||||
|
font-size: 2rem; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
h3 { |
||||
|
font-size: calc(1.3rem + 0.6vw); |
||||
|
} |
||||
|
@media (min-width: 1200px) { |
||||
|
h3 { |
||||
|
font-size: 1.75rem; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
h4 { |
||||
|
font-size: calc(1.275rem + 0.3vw); |
||||
|
} |
||||
|
@media (min-width: 1200px) { |
||||
|
h4 { |
||||
|
font-size: 1.5rem; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
h5 { |
||||
|
font-size: 1.25rem; |
||||
|
} |
||||
|
|
||||
|
h6 { |
||||
|
font-size: 1rem; |
||||
|
} |
||||
|
|
||||
|
p { |
||||
|
margin-top: 0; |
||||
|
margin-bottom: 1rem; |
||||
|
} |
||||
|
|
||||
|
abbr[title], |
||||
|
abbr[data-bs-original-title] { |
||||
|
-webkit-text-decoration: underline dotted; |
||||
|
text-decoration: underline dotted; |
||||
|
cursor: help; |
||||
|
-webkit-text-decoration-skip-ink: none; |
||||
|
text-decoration-skip-ink: none; |
||||
|
} |
||||
|
|
||||
|
address { |
||||
|
margin-bottom: 1rem; |
||||
|
font-style: normal; |
||||
|
line-height: inherit; |
||||
|
} |
||||
|
|
||||
|
ol, |
||||
|
ul { |
||||
|
padding-right: 2rem; |
||||
|
} |
||||
|
|
||||
|
ol, |
||||
|
ul, |
||||
|
dl { |
||||
|
margin-top: 0; |
||||
|
margin-bottom: 1rem; |
||||
|
} |
||||
|
|
||||
|
ol ol, |
||||
|
ul ul, |
||||
|
ol ul, |
||||
|
ul ol { |
||||
|
margin-bottom: 0; |
||||
|
} |
||||
|
|
||||
|
dt { |
||||
|
font-weight: 700; |
||||
|
} |
||||
|
|
||||
|
dd { |
||||
|
margin-bottom: 0.5rem; |
||||
|
margin-right: 0; |
||||
|
} |
||||
|
|
||||
|
blockquote { |
||||
|
margin: 0 0 1rem; |
||||
|
} |
||||
|
|
||||
|
b, |
||||
|
strong { |
||||
|
font-weight: bolder; |
||||
|
} |
||||
|
|
||||
|
small { |
||||
|
font-size: 0.875em; |
||||
|
} |
||||
|
|
||||
|
mark { |
||||
|
padding: 0.2em; |
||||
|
background-color: #fcf8e3; |
||||
|
} |
||||
|
|
||||
|
sub, |
||||
|
sup { |
||||
|
position: relative; |
||||
|
font-size: 0.75em; |
||||
|
line-height: 0; |
||||
|
vertical-align: baseline; |
||||
|
} |
||||
|
|
||||
|
sub { |
||||
|
bottom: -0.25em; |
||||
|
} |
||||
|
|
||||
|
sup { |
||||
|
top: -0.5em; |
||||
|
} |
||||
|
|
||||
|
a { |
||||
|
color: #0d6efd; |
||||
|
text-decoration: underline; |
||||
|
} |
||||
|
a:hover { |
||||
|
color: #0a58ca; |
||||
|
} |
||||
|
|
||||
|
a:not([href]):not([class]), a:not([href]):not([class]):hover { |
||||
|
color: inherit; |
||||
|
text-decoration: none; |
||||
|
} |
||||
|
|
||||
|
pre, |
||||
|
code, |
||||
|
kbd, |
||||
|
samp { |
||||
|
font-family: var(--bs-font-monospace); |
||||
|
font-size: 1em; |
||||
|
direction: ltr ; |
||||
|
unicode-bidi: bidi-override; |
||||
|
} |
||||
|
|
||||
|
pre { |
||||
|
display: block; |
||||
|
margin-top: 0; |
||||
|
margin-bottom: 1rem; |
||||
|
overflow: auto; |
||||
|
font-size: 0.875em; |
||||
|
} |
||||
|
pre code { |
||||
|
font-size: inherit; |
||||
|
color: inherit; |
||||
|
word-break: normal; |
||||
|
} |
||||
|
|
||||
|
code { |
||||
|
font-size: 0.875em; |
||||
|
color: #d63384; |
||||
|
word-wrap: break-word; |
||||
|
} |
||||
|
a > code { |
||||
|
color: inherit; |
||||
|
} |
||||
|
|
||||
|
kbd { |
||||
|
padding: 0.2rem 0.4rem; |
||||
|
font-size: 0.875em; |
||||
|
color: #fff; |
||||
|
background-color: #212529; |
||||
|
border-radius: 0.2rem; |
||||
|
} |
||||
|
kbd kbd { |
||||
|
padding: 0; |
||||
|
font-size: 1em; |
||||
|
font-weight: 700; |
||||
|
} |
||||
|
|
||||
|
figure { |
||||
|
margin: 0 0 1rem; |
||||
|
} |
||||
|
|
||||
|
img, |
||||
|
svg { |
||||
|
vertical-align: middle; |
||||
|
} |
||||
|
|
||||
|
table { |
||||
|
caption-side: bottom; |
||||
|
border-collapse: collapse; |
||||
|
} |
||||
|
|
||||
|
caption { |
||||
|
padding-top: 0.5rem; |
||||
|
padding-bottom: 0.5rem; |
||||
|
color: #6c757d; |
||||
|
text-align: right; |
||||
|
} |
||||
|
|
||||
|
th { |
||||
|
text-align: inherit; |
||||
|
text-align: -webkit-match-parent; |
||||
|
} |
||||
|
|
||||
|
thead, |
||||
|
tbody, |
||||
|
tfoot, |
||||
|
tr, |
||||
|
td, |
||||
|
th { |
||||
|
border-color: inherit; |
||||
|
border-style: solid; |
||||
|
border-width: 0; |
||||
|
} |
||||
|
|
||||
|
label { |
||||
|
display: inline-block; |
||||
|
} |
||||
|
|
||||
|
button { |
||||
|
border-radius: 0; |
||||
|
} |
||||
|
|
||||
|
button:focus:not(:focus-visible) { |
||||
|
outline: 0; |
||||
|
} |
||||
|
|
||||
|
input, |
||||
|
button, |
||||
|
select, |
||||
|
optgroup, |
||||
|
textarea { |
||||
|
margin: 0; |
||||
|
font-family: inherit; |
||||
|
font-size: inherit; |
||||
|
line-height: inherit; |
||||
|
} |
||||
|
|
||||
|
button, |
||||
|
select { |
||||
|
text-transform: none; |
||||
|
} |
||||
|
|
||||
|
[role=button] { |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
|
||||
|
select { |
||||
|
word-wrap: normal; |
||||
|
} |
||||
|
select:disabled { |
||||
|
opacity: 1; |
||||
|
} |
||||
|
|
||||
|
[list]::-webkit-calendar-picker-indicator { |
||||
|
display: none; |
||||
|
} |
||||
|
|
||||
|
button, |
||||
|
[type=button], |
||||
|
[type=reset], |
||||
|
[type=submit] { |
||||
|
-webkit-appearance: button; |
||||
|
} |
||||
|
button:not(:disabled), |
||||
|
[type=button]:not(:disabled), |
||||
|
[type=reset]:not(:disabled), |
||||
|
[type=submit]:not(:disabled) { |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
|
||||
|
::-moz-focus-inner { |
||||
|
padding: 0; |
||||
|
border-style: none; |
||||
|
} |
||||
|
|
||||
|
textarea { |
||||
|
resize: vertical; |
||||
|
} |
||||
|
|
||||
|
fieldset { |
||||
|
min-width: 0; |
||||
|
padding: 0; |
||||
|
margin: 0; |
||||
|
border: 0; |
||||
|
} |
||||
|
|
||||
|
legend { |
||||
|
float: right; |
||||
|
width: 100%; |
||||
|
padding: 0; |
||||
|
margin-bottom: 0.5rem; |
||||
|
font-size: calc(1.275rem + 0.3vw); |
||||
|
line-height: inherit; |
||||
|
} |
||||
|
@media (min-width: 1200px) { |
||||
|
legend { |
||||
|
font-size: 1.5rem; |
||||
|
} |
||||
|
} |
||||
|
legend + * { |
||||
|
clear: right; |
||||
|
} |
||||
|
|
||||
|
::-webkit-datetime-edit-fields-wrapper, |
||||
|
::-webkit-datetime-edit-text, |
||||
|
::-webkit-datetime-edit-minute, |
||||
|
::-webkit-datetime-edit-hour-field, |
||||
|
::-webkit-datetime-edit-day-field, |
||||
|
::-webkit-datetime-edit-month-field, |
||||
|
::-webkit-datetime-edit-year-field { |
||||
|
padding: 0; |
||||
|
} |
||||
|
|
||||
|
::-webkit-inner-spin-button { |
||||
|
height: auto; |
||||
|
} |
||||
|
|
||||
|
[type=search] { |
||||
|
outline-offset: -2px; |
||||
|
-webkit-appearance: textfield; |
||||
|
} |
||||
|
|
||||
|
[type="tel"], |
||||
|
[type="url"], |
||||
|
[type="email"], |
||||
|
[type="number"] { |
||||
|
direction: ltr; |
||||
|
} |
||||
|
::-webkit-search-decoration { |
||||
|
-webkit-appearance: none; |
||||
|
} |
||||
|
|
||||
|
::-webkit-color-swatch-wrapper { |
||||
|
padding: 0; |
||||
|
} |
||||
|
|
||||
|
::-webkit-file-upload-button { |
||||
|
font: inherit; |
||||
|
} |
||||
|
|
||||
|
::file-selector-button { |
||||
|
font: inherit; |
||||
|
} |
||||
|
|
||||
|
::-webkit-file-upload-button { |
||||
|
font: inherit; |
||||
|
-webkit-appearance: button; |
||||
|
} |
||||
|
|
||||
|
output { |
||||
|
display: inline-block; |
||||
|
} |
||||
|
|
||||
|
iframe { |
||||
|
border: 0; |
||||
|
} |
||||
|
|
||||
|
summary { |
||||
|
display: list-item; |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
|
||||
|
progress { |
||||
|
vertical-align: baseline; |
||||
|
} |
||||
|
|
||||
|
[hidden] { |
||||
|
display: none !important; |
||||
|
} |
||||
|
/*# sourceMappingURL=bootstrap-reboot.rtl.css.map */ |
||||
1
Content/bootstrap-reboot.rtl.css.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
8
Content/bootstrap-reboot.rtl.min.css
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1
Content/bootstrap-reboot.rtl.min.css.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
4866
Content/bootstrap-utilities.css
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1
Content/bootstrap-utilities.css.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
7
Content/bootstrap-utilities.min.css
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1
Content/bootstrap-utilities.min.css.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
4857
Content/bootstrap-utilities.rtl.css
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1
Content/bootstrap-utilities.rtl.css.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
7
Content/bootstrap-utilities.rtl.min.css
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1
Content/bootstrap-utilities.rtl.min.css.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
11266
Content/bootstrap.css
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1
Content/bootstrap.css.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
7
Content/bootstrap.min.css
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1
Content/bootstrap.min.css.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
11242
Content/bootstrap.rtl.css
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1
Content/bootstrap.rtl.css.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
7
Content/bootstrap.rtl.min.css
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1
Content/bootstrap.rtl.min.css.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,81 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Web; |
||||
|
using System.Web.Mvc; |
||||
|
|
||||
|
using RegistrationForm.Models; |
||||
|
|
||||
|
namespace RegistrationForm.Controllers |
||||
|
{ |
||||
|
public class HomeController : Controller |
||||
|
{ |
||||
|
EmployerListEntities db = new EmployerListEntities(); |
||||
|
public ActionResult Main() |
||||
|
{ |
||||
|
return View(); |
||||
|
} |
||||
|
|
||||
|
[HttpGet] |
||||
|
public ActionResult Login() |
||||
|
{ |
||||
|
return View(); |
||||
|
} |
||||
|
|
||||
|
[HttpPost] |
||||
|
[ValidateAntiForgeryToken] |
||||
|
public ActionResult Login(Employ_Table model) |
||||
|
{ |
||||
|
if (ModelState.IsValid) |
||||
|
{ |
||||
|
var emnum = db.Employ_Table |
||||
|
.Where(e => e.EmployNum == model.EmployNum) |
||||
|
.FirstOrDefault(); |
||||
|
try |
||||
|
{ |
||||
|
if (emnum.Password == model.Password) |
||||
|
{ |
||||
|
|
||||
|
TempData["greeting"] = emnum.Name + "님 환영합니다."; |
||||
|
|
||||
|
|
||||
|
return RedirectToAction("UserDashBoard","Home"); |
||||
|
} |
||||
|
} |
||||
|
catch (Exception) |
||||
|
{ |
||||
|
ViewBag.Message = "비밀번호가 일치하지 않습니다."; |
||||
|
} |
||||
|
|
||||
|
//var Name = db.Database.ExecuteSqlCommand("SELECT Name FROM Registration_Table WHERE Employee_Num = {0}", model.Employee_Num);
|
||||
|
//return RedirectToAction("UserDashBoard", "Home");
|
||||
|
} |
||||
|
return View(); |
||||
|
} |
||||
|
|
||||
|
public ActionResult Index() |
||||
|
{ |
||||
|
return View(); |
||||
|
} |
||||
|
|
||||
|
[HttpPost] |
||||
|
public ActionResult Index(Employ_Table table) |
||||
|
{ |
||||
|
if (ModelState.IsValid) |
||||
|
{ |
||||
|
|
||||
|
db.Employ_Table.Add(table); |
||||
|
db.SaveChanges(); |
||||
|
|
||||
|
return View("Main", "Home"); //리턴 변경
|
||||
|
} |
||||
|
return View(); |
||||
|
} |
||||
|
|
||||
|
public ActionResult UserDashBoard() |
||||
|
{ |
||||
|
ViewBag.Name = TempData["greeting"]; |
||||
|
return View(); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1 @@ |
|||||
|
<%@ Application Codebehind="Global.asax.cs" Inherits="RegistrationForm.MvcApplication" Language="C#" %> |
||||
@ -0,0 +1,21 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Web; |
||||
|
using System.Web.Mvc; |
||||
|
using System.Web.Optimization; |
||||
|
using System.Web.Routing; |
||||
|
|
||||
|
namespace RegistrationForm |
||||
|
{ |
||||
|
public class MvcApplication : System.Web.HttpApplication |
||||
|
{ |
||||
|
protected void Application_Start() |
||||
|
{ |
||||
|
AreaRegistration.RegisterAllAreas(); |
||||
|
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); |
||||
|
RouteConfig.RegisterRoutes(RouteTable.Routes); |
||||
|
BundleConfig.RegisterBundles(BundleTable.Bundles); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,21 @@ |
|||||
|
//------------------------------------------------------------------------------
|
||||
|
// <auto-generated>
|
||||
|
// 이 코드는 템플릿에서 생성되었습니다.
|
||||
|
//
|
||||
|
// 이 파일을 수동으로 변경하면 응용 프로그램에서 예기치 않은 동작이 발생할 수 있습니다.
|
||||
|
// 이 파일을 수동으로 변경하면 코드가 다시 생성될 때 변경 내용을 덮어씁니다.
|
||||
|
// </auto-generated>
|
||||
|
//------------------------------------------------------------------------------
|
||||
|
|
||||
|
namespace RegistrationForm.Models |
||||
|
{ |
||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
|
||||
|
public partial class Employ_Table |
||||
|
{ |
||||
|
public int EmployNum { get; set; } |
||||
|
public string Password { get; set; } |
||||
|
public string Name { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,30 @@ |
|||||
|
//------------------------------------------------------------------------------
|
||||
|
// <auto-generated>
|
||||
|
// 이 코드는 템플릿에서 생성되었습니다.
|
||||
|
//
|
||||
|
// 이 파일을 수동으로 변경하면 응용 프로그램에서 예기치 않은 동작이 발생할 수 있습니다.
|
||||
|
// 이 파일을 수동으로 변경하면 코드가 다시 생성될 때 변경 내용을 덮어씁니다.
|
||||
|
// </auto-generated>
|
||||
|
//------------------------------------------------------------------------------
|
||||
|
|
||||
|
namespace RegistrationForm.Models |
||||
|
{ |
||||
|
using System; |
||||
|
using System.Data.Entity; |
||||
|
using System.Data.Entity.Infrastructure; |
||||
|
|
||||
|
public partial class EmployerListEntities : DbContext |
||||
|
{ |
||||
|
public EmployerListEntities() |
||||
|
: base("name=EmployerListEntities") |
||||
|
{ |
||||
|
} |
||||
|
|
||||
|
protected override void OnModelCreating(DbModelBuilder modelBuilder) |
||||
|
{ |
||||
|
throw new UnintentionalCodeFirstException(); |
||||
|
} |
||||
|
|
||||
|
public virtual DbSet<Employ_Table> Employ_Table { get; set; } |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,636 @@ |
|||||
|
<#@ template language="C#" debug="false" hostspecific="true"#> |
||||
|
<#@ include file="EF6.Utility.CS.ttinclude"#><#@ |
||||
|
output extension=".cs"#><# |
||||
|
|
||||
|
const string inputFile = @"EmployerListModel.edmx"; |
||||
|
var textTransform = DynamicTextTransformation.Create(this); |
||||
|
var code = new CodeGenerationTools(this); |
||||
|
var ef = new MetadataTools(this); |
||||
|
var typeMapper = new TypeMapper(code, ef, textTransform.Errors); |
||||
|
var loader = new EdmMetadataLoader(textTransform.Host, textTransform.Errors); |
||||
|
var itemCollection = loader.CreateEdmItemCollection(inputFile); |
||||
|
var modelNamespace = loader.GetModelNamespace(inputFile); |
||||
|
var codeStringGenerator = new CodeStringGenerator(code, typeMapper, ef); |
||||
|
|
||||
|
var container = itemCollection.OfType<EntityContainer>().FirstOrDefault(); |
||||
|
if (container == null) |
||||
|
{ |
||||
|
return string.Empty; |
||||
|
} |
||||
|
#> |
||||
|
//------------------------------------------------------------------------------ |
||||
|
// <auto-generated> |
||||
|
// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine1")#> |
||||
|
// |
||||
|
// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine2")#> |
||||
|
// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine3")#> |
||||
|
// </auto-generated> |
||||
|
//------------------------------------------------------------------------------ |
||||
|
|
||||
|
<# |
||||
|
|
||||
|
var codeNamespace = code.VsNamespaceSuggestion(); |
||||
|
if (!String.IsNullOrEmpty(codeNamespace)) |
||||
|
{ |
||||
|
#> |
||||
|
namespace <#=code.EscapeNamespace(codeNamespace)#> |
||||
|
{ |
||||
|
<# |
||||
|
PushIndent(" "); |
||||
|
} |
||||
|
|
||||
|
#> |
||||
|
using System; |
||||
|
using System.Data.Entity; |
||||
|
using System.Data.Entity.Infrastructure; |
||||
|
<# |
||||
|
if (container.FunctionImports.Any()) |
||||
|
{ |
||||
|
#> |
||||
|
using System.Data.Entity.Core.Objects; |
||||
|
using System.Linq; |
||||
|
<# |
||||
|
} |
||||
|
#> |
||||
|
|
||||
|
<#=Accessibility.ForType(container)#> partial class <#=code.Escape(container)#> : DbContext |
||||
|
{ |
||||
|
public <#=code.Escape(container)#>() |
||||
|
: base("name=<#=container.Name#>") |
||||
|
{ |
||||
|
<# |
||||
|
if (!loader.IsLazyLoadingEnabled(container)) |
||||
|
{ |
||||
|
#> |
||||
|
this.Configuration.LazyLoadingEnabled = false; |
||||
|
<# |
||||
|
} |
||||
|
|
||||
|
foreach (var entitySet in container.BaseEntitySets.OfType<EntitySet>()) |
||||
|
{ |
||||
|
// Note: the DbSet members are defined below such that the getter and |
||||
|
// setter always have the same accessibility as the DbSet definition |
||||
|
if (Accessibility.ForReadOnlyProperty(entitySet) != "public") |
||||
|
{ |
||||
|
#> |
||||
|
<#=codeStringGenerator.DbSetInitializer(entitySet)#> |
||||
|
<# |
||||
|
} |
||||
|
} |
||||
|
#> |
||||
|
} |
||||
|
|
||||
|
protected override void OnModelCreating(DbModelBuilder modelBuilder) |
||||
|
{ |
||||
|
throw new UnintentionalCodeFirstException(); |
||||
|
} |
||||
|
|
||||
|
<# |
||||
|
foreach (var entitySet in container.BaseEntitySets.OfType<EntitySet>()) |
||||
|
{ |
||||
|
#> |
||||
|
<#=codeStringGenerator.DbSet(entitySet)#> |
||||
|
<# |
||||
|
} |
||||
|
|
||||
|
foreach (var edmFunction in container.FunctionImports) |
||||
|
{ |
||||
|
WriteFunctionImport(typeMapper, codeStringGenerator, edmFunction, modelNamespace, includeMergeOption: false); |
||||
|
} |
||||
|
#> |
||||
|
} |
||||
|
<# |
||||
|
|
||||
|
if (!String.IsNullOrEmpty(codeNamespace)) |
||||
|
{ |
||||
|
PopIndent(); |
||||
|
#> |
||||
|
} |
||||
|
<# |
||||
|
} |
||||
|
#> |
||||
|
<#+ |
||||
|
|
||||
|
private void WriteFunctionImport(TypeMapper typeMapper, CodeStringGenerator codeStringGenerator, EdmFunction edmFunction, string modelNamespace, bool includeMergeOption) |
||||
|
{ |
||||
|
if (typeMapper.IsComposable(edmFunction)) |
||||
|
{ |
||||
|
#> |
||||
|
|
||||
|
[DbFunction("<#=edmFunction.NamespaceName#>", "<#=edmFunction.Name#>")] |
||||
|
<#=codeStringGenerator.ComposableFunctionMethod(edmFunction, modelNamespace)#> |
||||
|
{ |
||||
|
<#+ |
||||
|
codeStringGenerator.WriteFunctionParameters(edmFunction, WriteFunctionParameter); |
||||
|
#> |
||||
|
<#=codeStringGenerator.ComposableCreateQuery(edmFunction, modelNamespace)#> |
||||
|
} |
||||
|
<#+ |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
#> |
||||
|
|
||||
|
<#=codeStringGenerator.FunctionMethod(edmFunction, modelNamespace, includeMergeOption)#> |
||||
|
{ |
||||
|
<#+ |
||||
|
codeStringGenerator.WriteFunctionParameters(edmFunction, WriteFunctionParameter); |
||||
|
#> |
||||
|
<#=codeStringGenerator.ExecuteFunction(edmFunction, modelNamespace, includeMergeOption)#> |
||||
|
} |
||||
|
<#+ |
||||
|
if (typeMapper.GenerateMergeOptionFunction(edmFunction, includeMergeOption)) |
||||
|
{ |
||||
|
WriteFunctionImport(typeMapper, codeStringGenerator, edmFunction, modelNamespace, includeMergeOption: true); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public void WriteFunctionParameter(string name, string isNotNull, string notNullInit, string nullInit) |
||||
|
{ |
||||
|
#> |
||||
|
var <#=name#> = <#=isNotNull#> ? |
||||
|
<#=notNullInit#> : |
||||
|
<#=nullInit#>; |
||||
|
|
||||
|
<#+ |
||||
|
} |
||||
|
|
||||
|
public const string TemplateId = "CSharp_DbContext_Context_EF6"; |
||||
|
|
||||
|
public class CodeStringGenerator |
||||
|
{ |
||||
|
private readonly CodeGenerationTools _code; |
||||
|
private readonly TypeMapper _typeMapper; |
||||
|
private readonly MetadataTools _ef; |
||||
|
|
||||
|
public CodeStringGenerator(CodeGenerationTools code, TypeMapper typeMapper, MetadataTools ef) |
||||
|
{ |
||||
|
ArgumentNotNull(code, "code"); |
||||
|
ArgumentNotNull(typeMapper, "typeMapper"); |
||||
|
ArgumentNotNull(ef, "ef"); |
||||
|
|
||||
|
_code = code; |
||||
|
_typeMapper = typeMapper; |
||||
|
_ef = ef; |
||||
|
} |
||||
|
|
||||
|
public string Property(EdmProperty edmProperty) |
||||
|
{ |
||||
|
return string.Format( |
||||
|
CultureInfo.InvariantCulture, |
||||
|
"{0} {1} {2} {{ {3}get; {4}set; }}", |
||||
|
Accessibility.ForProperty(edmProperty), |
||||
|
_typeMapper.GetTypeName(edmProperty.TypeUsage), |
||||
|
_code.Escape(edmProperty), |
||||
|
_code.SpaceAfter(Accessibility.ForGetter(edmProperty)), |
||||
|
_code.SpaceAfter(Accessibility.ForSetter(edmProperty))); |
||||
|
} |
||||
|
|
||||
|
public string NavigationProperty(NavigationProperty navProp) |
||||
|
{ |
||||
|
var endType = _typeMapper.GetTypeName(navProp.ToEndMember.GetEntityType()); |
||||
|
return string.Format( |
||||
|
CultureInfo.InvariantCulture, |
||||
|
"{0} {1} {2} {{ {3}get; {4}set; }}", |
||||
|
AccessibilityAndVirtual(Accessibility.ForNavigationProperty(navProp)), |
||||
|
navProp.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many ? ("ICollection<" + endType + ">") : endType, |
||||
|
_code.Escape(navProp), |
||||
|
_code.SpaceAfter(Accessibility.ForGetter(navProp)), |
||||
|
_code.SpaceAfter(Accessibility.ForSetter(navProp))); |
||||
|
} |
||||
|
|
||||
|
public string AccessibilityAndVirtual(string accessibility) |
||||
|
{ |
||||
|
return accessibility + (accessibility != "private" ? " virtual" : ""); |
||||
|
} |
||||
|
|
||||
|
public string EntityClassOpening(EntityType entity) |
||||
|
{ |
||||
|
return string.Format( |
||||
|
CultureInfo.InvariantCulture, |
||||
|
"{0} {1}partial class {2}{3}", |
||||
|
Accessibility.ForType(entity), |
||||
|
_code.SpaceAfter(_code.AbstractOption(entity)), |
||||
|
_code.Escape(entity), |
||||
|
_code.StringBefore(" : ", _typeMapper.GetTypeName(entity.BaseType))); |
||||
|
} |
||||
|
|
||||
|
public string EnumOpening(SimpleType enumType) |
||||
|
{ |
||||
|
return string.Format( |
||||
|
CultureInfo.InvariantCulture, |
||||
|
"{0} enum {1} : {2}", |
||||
|
Accessibility.ForType(enumType), |
||||
|
_code.Escape(enumType), |
||||
|
_code.Escape(_typeMapper.UnderlyingClrType(enumType))); |
||||
|
} |
||||
|
|
||||
|
public void WriteFunctionParameters(EdmFunction edmFunction, Action<string, string, string, string> writeParameter) |
||||
|
{ |
||||
|
var parameters = FunctionImportParameter.Create(edmFunction.Parameters, _code, _ef); |
||||
|
foreach (var parameter in parameters.Where(p => p.NeedsLocalVariable)) |
||||
|
{ |
||||
|
var isNotNull = parameter.IsNullableOfT ? parameter.FunctionParameterName + ".HasValue" : parameter.FunctionParameterName + " != null"; |
||||
|
var notNullInit = "new ObjectParameter(\"" + parameter.EsqlParameterName + "\", " + parameter.FunctionParameterName + ")"; |
||||
|
var nullInit = "new ObjectParameter(\"" + parameter.EsqlParameterName + "\", typeof(" + TypeMapper.FixNamespaces(parameter.RawClrTypeName) + "))"; |
||||
|
writeParameter(parameter.LocalVariableName, isNotNull, notNullInit, nullInit); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public string ComposableFunctionMethod(EdmFunction edmFunction, string modelNamespace) |
||||
|
{ |
||||
|
var parameters = _typeMapper.GetParameters(edmFunction); |
||||
|
|
||||
|
return string.Format( |
||||
|
CultureInfo.InvariantCulture, |
||||
|
"{0} IQueryable<{1}> {2}({3})", |
||||
|
AccessibilityAndVirtual(Accessibility.ForMethod(edmFunction)), |
||||
|
_typeMapper.GetTypeName(_typeMapper.GetReturnType(edmFunction), modelNamespace), |
||||
|
_code.Escape(edmFunction), |
||||
|
string.Join(", ", parameters.Select(p => TypeMapper.FixNamespaces(p.FunctionParameterType) + " " + p.FunctionParameterName).ToArray())); |
||||
|
} |
||||
|
|
||||
|
public string ComposableCreateQuery(EdmFunction edmFunction, string modelNamespace) |
||||
|
{ |
||||
|
var parameters = _typeMapper.GetParameters(edmFunction); |
||||
|
|
||||
|
return string.Format( |
||||
|
CultureInfo.InvariantCulture, |
||||
|
"return ((IObjectContextAdapter)this).ObjectContext.CreateQuery<{0}>(\"[{1}].[{2}]({3})\"{4});", |
||||
|
_typeMapper.GetTypeName(_typeMapper.GetReturnType(edmFunction), modelNamespace), |
||||
|
edmFunction.NamespaceName, |
||||
|
edmFunction.Name, |
||||
|
string.Join(", ", parameters.Select(p => "@" + p.EsqlParameterName).ToArray()), |
||||
|
_code.StringBefore(", ", string.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray()))); |
||||
|
} |
||||
|
|
||||
|
public string FunctionMethod(EdmFunction edmFunction, string modelNamespace, bool includeMergeOption) |
||||
|
{ |
||||
|
var parameters = _typeMapper.GetParameters(edmFunction); |
||||
|
var returnType = _typeMapper.GetReturnType(edmFunction); |
||||
|
|
||||
|
var paramList = String.Join(", ", parameters.Select(p => TypeMapper.FixNamespaces(p.FunctionParameterType) + " " + p.FunctionParameterName).ToArray()); |
||||
|
if (includeMergeOption) |
||||
|
{ |
||||
|
paramList = _code.StringAfter(paramList, ", ") + "MergeOption mergeOption"; |
||||
|
} |
||||
|
|
||||
|
return string.Format( |
||||
|
CultureInfo.InvariantCulture, |
||||
|
"{0} {1} {2}({3})", |
||||
|
AccessibilityAndVirtual(Accessibility.ForMethod(edmFunction)), |
||||
|
returnType == null ? "int" : "ObjectResult<" + _typeMapper.GetTypeName(returnType, modelNamespace) + ">", |
||||
|
_code.Escape(edmFunction), |
||||
|
paramList); |
||||
|
} |
||||
|
|
||||
|
public string ExecuteFunction(EdmFunction edmFunction, string modelNamespace, bool includeMergeOption) |
||||
|
{ |
||||
|
var parameters = _typeMapper.GetParameters(edmFunction); |
||||
|
var returnType = _typeMapper.GetReturnType(edmFunction); |
||||
|
|
||||
|
var callParams = _code.StringBefore(", ", String.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray())); |
||||
|
if (includeMergeOption) |
||||
|
{ |
||||
|
callParams = ", mergeOption" + callParams; |
||||
|
} |
||||
|
|
||||
|
return string.Format( |
||||
|
CultureInfo.InvariantCulture, |
||||
|
"return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction{0}(\"{1}\"{2});", |
||||
|
returnType == null ? "" : "<" + _typeMapper.GetTypeName(returnType, modelNamespace) + ">", |
||||
|
edmFunction.Name, |
||||
|
callParams); |
||||
|
} |
||||
|
|
||||
|
public string DbSet(EntitySet entitySet) |
||||
|
{ |
||||
|
return string.Format( |
||||
|
CultureInfo.InvariantCulture, |
||||
|
"{0} virtual DbSet<{1}> {2} {{ get; set; }}", |
||||
|
Accessibility.ForReadOnlyProperty(entitySet), |
||||
|
_typeMapper.GetTypeName(entitySet.ElementType), |
||||
|
_code.Escape(entitySet)); |
||||
|
} |
||||
|
|
||||
|
public string DbSetInitializer(EntitySet entitySet) |
||||
|
{ |
||||
|
return string.Format( |
||||
|
CultureInfo.InvariantCulture, |
||||
|
"{0} = Set<{1}>();", |
||||
|
_code.Escape(entitySet), |
||||
|
_typeMapper.GetTypeName(entitySet.ElementType)); |
||||
|
} |
||||
|
|
||||
|
public string UsingDirectives(bool inHeader, bool includeCollections = true) |
||||
|
{ |
||||
|
return inHeader == string.IsNullOrEmpty(_code.VsNamespaceSuggestion()) |
||||
|
? string.Format( |
||||
|
CultureInfo.InvariantCulture, |
||||
|
"{0}using System;{1}" + |
||||
|
"{2}", |
||||
|
inHeader ? Environment.NewLine : "", |
||||
|
includeCollections ? (Environment.NewLine + "using System.Collections.Generic;") : "", |
||||
|
inHeader ? "" : Environment.NewLine) |
||||
|
: ""; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public class TypeMapper |
||||
|
{ |
||||
|
private const string ExternalTypeNameAttributeName = @"http://schemas.microsoft.com/ado/2006/04/codegeneration:ExternalTypeName"; |
||||
|
|
||||
|
private readonly System.Collections.IList _errors; |
||||
|
private readonly CodeGenerationTools _code; |
||||
|
private readonly MetadataTools _ef; |
||||
|
|
||||
|
public static string FixNamespaces(string typeName) |
||||
|
{ |
||||
|
return typeName.Replace("System.Data.Spatial.", "System.Data.Entity.Spatial."); |
||||
|
} |
||||
|
|
||||
|
public TypeMapper(CodeGenerationTools code, MetadataTools ef, System.Collections.IList errors) |
||||
|
{ |
||||
|
ArgumentNotNull(code, "code"); |
||||
|
ArgumentNotNull(ef, "ef"); |
||||
|
ArgumentNotNull(errors, "errors"); |
||||
|
|
||||
|
_code = code; |
||||
|
_ef = ef; |
||||
|
_errors = errors; |
||||
|
} |
||||
|
|
||||
|
public string GetTypeName(TypeUsage typeUsage) |
||||
|
{ |
||||
|
return typeUsage == null ? null : GetTypeName(typeUsage.EdmType, _ef.IsNullable(typeUsage), modelNamespace: null); |
||||
|
} |
||||
|
|
||||
|
public string GetTypeName(EdmType edmType) |
||||
|
{ |
||||
|
return GetTypeName(edmType, isNullable: null, modelNamespace: null); |
||||
|
} |
||||
|
|
||||
|
public string GetTypeName(TypeUsage typeUsage, string modelNamespace) |
||||
|
{ |
||||
|
return typeUsage == null ? null : GetTypeName(typeUsage.EdmType, _ef.IsNullable(typeUsage), modelNamespace); |
||||
|
} |
||||
|
|
||||
|
public string GetTypeName(EdmType edmType, string modelNamespace) |
||||
|
{ |
||||
|
return GetTypeName(edmType, isNullable: null, modelNamespace: modelNamespace); |
||||
|
} |
||||
|
|
||||
|
public string GetTypeName(EdmType edmType, bool? isNullable, string modelNamespace) |
||||
|
{ |
||||
|
if (edmType == null) |
||||
|
{ |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
var collectionType = edmType as CollectionType; |
||||
|
if (collectionType != null) |
||||
|
{ |
||||
|
return String.Format(CultureInfo.InvariantCulture, "ICollection<{0}>", GetTypeName(collectionType.TypeUsage, modelNamespace)); |
||||
|
} |
||||
|
|
||||
|
var typeName = _code.Escape(edmType.MetadataProperties |
||||
|
.Where(p => p.Name == ExternalTypeNameAttributeName) |
||||
|
.Select(p => (string)p.Value) |
||||
|
.FirstOrDefault()) |
||||
|
?? (modelNamespace != null && edmType.NamespaceName != modelNamespace ? |
||||
|
_code.CreateFullName(_code.EscapeNamespace(edmType.NamespaceName), _code.Escape(edmType)) : |
||||
|
_code.Escape(edmType)); |
||||
|
|
||||
|
if (edmType is StructuralType) |
||||
|
{ |
||||
|
return typeName; |
||||
|
} |
||||
|
|
||||
|
if (edmType is SimpleType) |
||||
|
{ |
||||
|
var clrType = UnderlyingClrType(edmType); |
||||
|
if (!IsEnumType(edmType)) |
||||
|
{ |
||||
|
typeName = _code.Escape(clrType); |
||||
|
} |
||||
|
|
||||
|
typeName = FixNamespaces(typeName); |
||||
|
|
||||
|
return clrType.IsValueType && isNullable == true ? |
||||
|
String.Format(CultureInfo.InvariantCulture, "Nullable<{0}>", typeName) : |
||||
|
typeName; |
||||
|
} |
||||
|
|
||||
|
throw new ArgumentException("edmType"); |
||||
|
} |
||||
|
|
||||
|
public Type UnderlyingClrType(EdmType edmType) |
||||
|
{ |
||||
|
ArgumentNotNull(edmType, "edmType"); |
||||
|
|
||||
|
var primitiveType = edmType as PrimitiveType; |
||||
|
if (primitiveType != null) |
||||
|
{ |
||||
|
return primitiveType.ClrEquivalentType; |
||||
|
} |
||||
|
|
||||
|
if (IsEnumType(edmType)) |
||||
|
{ |
||||
|
return GetEnumUnderlyingType(edmType).ClrEquivalentType; |
||||
|
} |
||||
|
|
||||
|
return typeof(object); |
||||
|
} |
||||
|
|
||||
|
public object GetEnumMemberValue(MetadataItem enumMember) |
||||
|
{ |
||||
|
ArgumentNotNull(enumMember, "enumMember"); |
||||
|
|
||||
|
var valueProperty = enumMember.GetType().GetProperty("Value"); |
||||
|
return valueProperty == null ? null : valueProperty.GetValue(enumMember, null); |
||||
|
} |
||||
|
|
||||
|
public string GetEnumMemberName(MetadataItem enumMember) |
||||
|
{ |
||||
|
ArgumentNotNull(enumMember, "enumMember"); |
||||
|
|
||||
|
var nameProperty = enumMember.GetType().GetProperty("Name"); |
||||
|
return nameProperty == null ? null : (string)nameProperty.GetValue(enumMember, null); |
||||
|
} |
||||
|
|
||||
|
public System.Collections.IEnumerable GetEnumMembers(EdmType enumType) |
||||
|
{ |
||||
|
ArgumentNotNull(enumType, "enumType"); |
||||
|
|
||||
|
var membersProperty = enumType.GetType().GetProperty("Members"); |
||||
|
return membersProperty != null |
||||
|
? (System.Collections.IEnumerable)membersProperty.GetValue(enumType, null) |
||||
|
: Enumerable.Empty<MetadataItem>(); |
||||
|
} |
||||
|
|
||||
|
public bool EnumIsFlags(EdmType enumType) |
||||
|
{ |
||||
|
ArgumentNotNull(enumType, "enumType"); |
||||
|
|
||||
|
var isFlagsProperty = enumType.GetType().GetProperty("IsFlags"); |
||||
|
return isFlagsProperty != null && (bool)isFlagsProperty.GetValue(enumType, null); |
||||
|
} |
||||
|
|
||||
|
public bool IsEnumType(GlobalItem edmType) |
||||
|
{ |
||||
|
ArgumentNotNull(edmType, "edmType"); |
||||
|
|
||||
|
return edmType.GetType().Name == "EnumType"; |
||||
|
} |
||||
|
|
||||
|
public PrimitiveType GetEnumUnderlyingType(EdmType enumType) |
||||
|
{ |
||||
|
ArgumentNotNull(enumType, "enumType"); |
||||
|
|
||||
|
return (PrimitiveType)enumType.GetType().GetProperty("UnderlyingType").GetValue(enumType, null); |
||||
|
} |
||||
|
|
||||
|
public string CreateLiteral(object value) |
||||
|
{ |
||||
|
if (value == null || value.GetType() != typeof(TimeSpan)) |
||||
|
{ |
||||
|
return _code.CreateLiteral(value); |
||||
|
} |
||||
|
|
||||
|
return string.Format(CultureInfo.InvariantCulture, "new TimeSpan({0})", ((TimeSpan)value).Ticks); |
||||
|
} |
||||
|
|
||||
|
public bool VerifyCaseInsensitiveTypeUniqueness(IEnumerable<string> types, string sourceFile) |
||||
|
{ |
||||
|
ArgumentNotNull(types, "types"); |
||||
|
ArgumentNotNull(sourceFile, "sourceFile"); |
||||
|
|
||||
|
var hash = new HashSet<string>(StringComparer.InvariantCultureIgnoreCase); |
||||
|
if (types.Any(item => !hash.Add(item))) |
||||
|
{ |
||||
|
_errors.Add( |
||||
|
new CompilerError(sourceFile, -1, -1, "6023", |
||||
|
String.Format(CultureInfo.CurrentCulture, CodeGenerationTools.GetResourceString("Template_CaseInsensitiveTypeConflict")))); |
||||
|
return false; |
||||
|
} |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<SimpleType> GetEnumItemsToGenerate(IEnumerable<GlobalItem> itemCollection) |
||||
|
{ |
||||
|
return GetItemsToGenerate<SimpleType>(itemCollection) |
||||
|
.Where(e => IsEnumType(e)); |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<T> GetItemsToGenerate<T>(IEnumerable<GlobalItem> itemCollection) where T: EdmType |
||||
|
{ |
||||
|
return itemCollection |
||||
|
.OfType<T>() |
||||
|
.Where(i => !i.MetadataProperties.Any(p => p.Name == ExternalTypeNameAttributeName)) |
||||
|
.OrderBy(i => i.Name); |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<string> GetAllGlobalItems(IEnumerable<GlobalItem> itemCollection) |
||||
|
{ |
||||
|
return itemCollection |
||||
|
.Where(i => i is EntityType || i is ComplexType || i is EntityContainer || IsEnumType(i)) |
||||
|
.Select(g => GetGlobalItemName(g)); |
||||
|
} |
||||
|
|
||||
|
public string GetGlobalItemName(GlobalItem item) |
||||
|
{ |
||||
|
if (item is EdmType) |
||||
|
{ |
||||
|
return ((EdmType)item).Name; |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
return ((EntityContainer)item).Name; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<EdmProperty> GetSimpleProperties(EntityType type) |
||||
|
{ |
||||
|
return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type); |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<EdmProperty> GetSimpleProperties(ComplexType type) |
||||
|
{ |
||||
|
return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type); |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<EdmProperty> GetComplexProperties(EntityType type) |
||||
|
{ |
||||
|
return type.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == type); |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<EdmProperty> GetComplexProperties(ComplexType type) |
||||
|
{ |
||||
|
return type.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == type); |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<EdmProperty> GetPropertiesWithDefaultValues(EntityType type) |
||||
|
{ |
||||
|
return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type && p.DefaultValue != null); |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<EdmProperty> GetPropertiesWithDefaultValues(ComplexType type) |
||||
|
{ |
||||
|
return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type && p.DefaultValue != null); |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<NavigationProperty> GetNavigationProperties(EntityType type) |
||||
|
{ |
||||
|
return type.NavigationProperties.Where(np => np.DeclaringType == type); |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<NavigationProperty> GetCollectionNavigationProperties(EntityType type) |
||||
|
{ |
||||
|
return type.NavigationProperties.Where(np => np.DeclaringType == type && np.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many); |
||||
|
} |
||||
|
|
||||
|
public FunctionParameter GetReturnParameter(EdmFunction edmFunction) |
||||
|
{ |
||||
|
ArgumentNotNull(edmFunction, "edmFunction"); |
||||
|
|
||||
|
var returnParamsProperty = edmFunction.GetType().GetProperty("ReturnParameters"); |
||||
|
return returnParamsProperty == null |
||||
|
? edmFunction.ReturnParameter |
||||
|
: ((IEnumerable<FunctionParameter>)returnParamsProperty.GetValue(edmFunction, null)).FirstOrDefault(); |
||||
|
} |
||||
|
|
||||
|
public bool IsComposable(EdmFunction edmFunction) |
||||
|
{ |
||||
|
ArgumentNotNull(edmFunction, "edmFunction"); |
||||
|
|
||||
|
var isComposableProperty = edmFunction.GetType().GetProperty("IsComposableAttribute"); |
||||
|
return isComposableProperty != null && (bool)isComposableProperty.GetValue(edmFunction, null); |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<FunctionImportParameter> GetParameters(EdmFunction edmFunction) |
||||
|
{ |
||||
|
return FunctionImportParameter.Create(edmFunction.Parameters, _code, _ef); |
||||
|
} |
||||
|
|
||||
|
public TypeUsage GetReturnType(EdmFunction edmFunction) |
||||
|
{ |
||||
|
var returnParam = GetReturnParameter(edmFunction); |
||||
|
return returnParam == null ? null : _ef.GetElementType(returnParam.TypeUsage); |
||||
|
} |
||||
|
|
||||
|
public bool GenerateMergeOptionFunction(EdmFunction edmFunction, bool includeMergeOption) |
||||
|
{ |
||||
|
var returnType = GetReturnType(edmFunction); |
||||
|
return !includeMergeOption && returnType != null && returnType.EdmType.BuiltInTypeKind == BuiltInTypeKind.EntityType; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public static void ArgumentNotNull<T>(T arg, string name) where T : class |
||||
|
{ |
||||
|
if (arg == null) |
||||
|
{ |
||||
|
throw new ArgumentNullException(name); |
||||
|
} |
||||
|
} |
||||
|
#> |
||||
@ -0,0 +1,10 @@ |
|||||
|
// 모델 'C:\업무용\5. source\개인공부\RegistrationForm\Models\EmployerListModel.edmx'에 대해 T4 코드 생성이 사용됩니다.
|
||||
|
// 레거시 코드 생성을 사용하려면 '코드 생성 전략' 디자이너 속성의 값을
|
||||
|
// 'Legacy ObjectContext'로 변경하십시오. 이 속성은 모델이 디자이너에서 열릴 때
|
||||
|
// 속성 창에서 사용할 수 있습니다.
|
||||
|
|
||||
|
// 컨텍스트 및 엔터티 클래스가 생성되지 않은 경우 빈 모델을 만들었기 때문일 수도 있지만
|
||||
|
// 사용할 Entity Framework 버전을 선택하지 않았기 때문일 수도 있습니다. 모델에 맞는 컨텍스트 클래스 및
|
||||
|
// 엔터티 클래스를 생성하려면 디자이너에서 모델을 열고 디자이너 화면에서 마우스 오른쪽 단추를 클릭한
|
||||
|
// 다음 '데이터베이스에서 모델 업데이트...', '모델에서 데이터베이스 생성...' 또는 '코드 생성 항목 추가...'를
|
||||
|
// 선택하십시오.
|
||||
@ -0,0 +1,9 @@ |
|||||
|
//------------------------------------------------------------------------------
|
||||
|
// <auto-generated>
|
||||
|
// 이 코드는 템플릿에서 생성되었습니다.
|
||||
|
//
|
||||
|
// 이 파일을 수동으로 변경하면 응용 프로그램에서 예기치 않은 동작이 발생할 수 있습니다.
|
||||
|
// 이 파일을 수동으로 변경하면 코드가 다시 생성될 때 변경 내용을 덮어씁니다.
|
||||
|
// </auto-generated>
|
||||
|
//------------------------------------------------------------------------------
|
||||
|
|
||||
@ -0,0 +1,73 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<edmx:Edmx Version="3.0" xmlns:edmx="http://schemas.microsoft.com/ado/2009/11/edmx"> |
||||
|
<!-- EF Runtime content --> |
||||
|
<edmx:Runtime> |
||||
|
<!-- SSDL content --> |
||||
|
<edmx:StorageModels> |
||||
|
<Schema Namespace="TestDBModel.Store" Provider="System.Data.SqlClient" ProviderManifestToken="2012" Alias="Self" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns:customannotation="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm/ssdl"> |
||||
|
<EntityType Name="Employ_Table"> |
||||
|
<Key> |
||||
|
<PropertyRef Name="EmployNum" /> |
||||
|
</Key> |
||||
|
<Property Name="EmployNum" Type="int" Nullable="false" /> |
||||
|
<Property Name="Password" Type="nvarchar" MaxLength="20" Nullable="false" /> |
||||
|
<Property Name="Name" Type="nvarchar" MaxLength="50" Nullable="false" /> |
||||
|
</EntityType> |
||||
|
<EntityContainer Name="TestDBModelStoreContainer"> |
||||
|
<EntitySet Name="Employ_Table" EntityType="Self.Employ_Table" Schema="dbo" store:Type="Tables" /> |
||||
|
</EntityContainer> |
||||
|
</Schema> |
||||
|
</edmx:StorageModels> |
||||
|
<!-- CSDL content --> |
||||
|
<edmx:ConceptualModels> |
||||
|
<Schema Namespace="TestDBModel" Alias="Self" annotation:UseStrongSpatialTypes="false" xmlns:annotation="http://schemas.microsoft.com/ado/2009/02/edm/annotation" xmlns:customannotation="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm"> |
||||
|
<EntityType Name="Employ_Table"> |
||||
|
<Key> |
||||
|
<PropertyRef Name="EmployNum" /> |
||||
|
</Key> |
||||
|
<Property Name="EmployNum" Type="Int32" Nullable="false" /> |
||||
|
<Property Name="Password" Type="String" MaxLength="20" FixedLength="false" Unicode="true" Nullable="false" /> |
||||
|
<Property Name="Name" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" /> |
||||
|
</EntityType> |
||||
|
<EntityContainer Name="EmployerListEntities" annotation:LazyLoadingEnabled="true"> |
||||
|
<EntitySet Name="Employ_Table" EntityType="Self.Employ_Table" /> |
||||
|
</EntityContainer> |
||||
|
</Schema> |
||||
|
</edmx:ConceptualModels> |
||||
|
<!-- C-S mapping content --> |
||||
|
<edmx:Mappings> |
||||
|
<Mapping Space="C-S" xmlns="http://schemas.microsoft.com/ado/2009/11/mapping/cs"> |
||||
|
<EntityContainerMapping StorageEntityContainer="TestDBModelStoreContainer" CdmEntityContainer="EmployerListEntities"> |
||||
|
<EntitySetMapping Name="Employ_Table"> |
||||
|
<EntityTypeMapping TypeName="TestDBModel.Employ_Table"> |
||||
|
<MappingFragment StoreEntitySet="Employ_Table"> |
||||
|
<ScalarProperty Name="EmployNum" ColumnName="EmployNum" /> |
||||
|
<ScalarProperty Name="Password" ColumnName="Password" /> |
||||
|
<ScalarProperty Name="Name" ColumnName="Name" /> |
||||
|
</MappingFragment> |
||||
|
</EntityTypeMapping> |
||||
|
</EntitySetMapping> |
||||
|
</EntityContainerMapping> |
||||
|
</Mapping> |
||||
|
</edmx:Mappings> |
||||
|
</edmx:Runtime> |
||||
|
<!-- EF Designer content (DO NOT EDIT MANUALLY BELOW HERE) --> |
||||
|
<Designer xmlns="http://schemas.microsoft.com/ado/2009/11/edmx"> |
||||
|
<Connection> |
||||
|
<DesignerInfoPropertySet> |
||||
|
<DesignerProperty Name="MetadataArtifactProcessing" Value="EmbedInOutputAssembly" /> |
||||
|
</DesignerInfoPropertySet> |
||||
|
</Connection> |
||||
|
<Options> |
||||
|
<DesignerInfoPropertySet> |
||||
|
<DesignerProperty Name="ValidateOnBuild" Value="true" /> |
||||
|
<DesignerProperty Name="EnablePluralization" Value="false" /> |
||||
|
<DesignerProperty Name="IncludeForeignKeysInModel" Value="true" /> |
||||
|
<DesignerProperty Name="UseLegacyProvider" Value="false" /> |
||||
|
<DesignerProperty Name="CodeGenerationStrategy" Value="없음" /> |
||||
|
</DesignerInfoPropertySet> |
||||
|
</Options> |
||||
|
<!-- Diagram content (shape and connector positions) --> |
||||
|
<Diagrams></Diagrams> |
||||
|
</Designer> |
||||
|
</edmx:Edmx> |
||||
@ -0,0 +1,12 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<edmx:Edmx Version="3.0" xmlns:edmx="http://schemas.microsoft.com/ado/2009/11/edmx"> |
||||
|
<!-- EF Designer content (DO NOT EDIT MANUALLY BELOW HERE) --> |
||||
|
<edmx:Designer xmlns="http://schemas.microsoft.com/ado/2009/11/edmx"> |
||||
|
<!-- Diagram content (shape and connector positions) --> |
||||
|
<edmx:Diagrams> |
||||
|
<Diagram DiagramId="407e43175a124c718eb472628ea0e029" Name="Diagram1"> |
||||
|
<EntityTypeShape EntityType="TestDBModel.Employ_Table" Width="1.5" PointX="0.75" PointY="0.75" IsExpanded="true" /> |
||||
|
</Diagram> |
||||
|
</edmx:Diagrams> |
||||
|
</edmx:Designer> |
||||
|
</edmx:Edmx> |
||||
@ -0,0 +1,733 @@ |
|||||
|
<#@ template language="C#" debug="false" hostspecific="true"#> |
||||
|
<#@ include file="EF6.Utility.CS.ttinclude"#><#@ |
||||
|
output extension=".cs"#><# |
||||
|
|
||||
|
const string inputFile = @"EmployerListModel.edmx"; |
||||
|
var textTransform = DynamicTextTransformation.Create(this); |
||||
|
var code = new CodeGenerationTools(this); |
||||
|
var ef = new MetadataTools(this); |
||||
|
var typeMapper = new TypeMapper(code, ef, textTransform.Errors); |
||||
|
var fileManager = EntityFrameworkTemplateFileManager.Create(this); |
||||
|
var itemCollection = new EdmMetadataLoader(textTransform.Host, textTransform.Errors).CreateEdmItemCollection(inputFile); |
||||
|
var codeStringGenerator = new CodeStringGenerator(code, typeMapper, ef); |
||||
|
|
||||
|
if (!typeMapper.VerifyCaseInsensitiveTypeUniqueness(typeMapper.GetAllGlobalItems(itemCollection), inputFile)) |
||||
|
{ |
||||
|
return string.Empty; |
||||
|
} |
||||
|
|
||||
|
WriteHeader(codeStringGenerator, fileManager); |
||||
|
|
||||
|
foreach (var entity in typeMapper.GetItemsToGenerate<EntityType>(itemCollection)) |
||||
|
{ |
||||
|
fileManager.StartNewFile(entity.Name + ".cs"); |
||||
|
BeginNamespace(code); |
||||
|
#> |
||||
|
<#=codeStringGenerator.UsingDirectives(inHeader: false)#> |
||||
|
<#=codeStringGenerator.EntityClassOpening(entity)#> |
||||
|
{ |
||||
|
<# |
||||
|
var propertiesWithDefaultValues = typeMapper.GetPropertiesWithDefaultValues(entity); |
||||
|
var collectionNavigationProperties = typeMapper.GetCollectionNavigationProperties(entity); |
||||
|
var complexProperties = typeMapper.GetComplexProperties(entity); |
||||
|
|
||||
|
if (propertiesWithDefaultValues.Any() || collectionNavigationProperties.Any() || complexProperties.Any()) |
||||
|
{ |
||||
|
#> |
||||
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] |
||||
|
public <#=code.Escape(entity)#>() |
||||
|
{ |
||||
|
<# |
||||
|
foreach (var edmProperty in propertiesWithDefaultValues) |
||||
|
{ |
||||
|
#> |
||||
|
this.<#=code.Escape(edmProperty)#> = <#=typeMapper.CreateLiteral(edmProperty.DefaultValue)#>; |
||||
|
<# |
||||
|
} |
||||
|
|
||||
|
foreach (var navigationProperty in collectionNavigationProperties) |
||||
|
{ |
||||
|
#> |
||||
|
this.<#=code.Escape(navigationProperty)#> = new HashSet<<#=typeMapper.GetTypeName(navigationProperty.ToEndMember.GetEntityType())#>>(); |
||||
|
<# |
||||
|
} |
||||
|
|
||||
|
foreach (var complexProperty in complexProperties) |
||||
|
{ |
||||
|
#> |
||||
|
this.<#=code.Escape(complexProperty)#> = new <#=typeMapper.GetTypeName(complexProperty.TypeUsage)#>(); |
||||
|
<# |
||||
|
} |
||||
|
#> |
||||
|
} |
||||
|
|
||||
|
<# |
||||
|
} |
||||
|
|
||||
|
var simpleProperties = typeMapper.GetSimpleProperties(entity); |
||||
|
if (simpleProperties.Any()) |
||||
|
{ |
||||
|
foreach (var edmProperty in simpleProperties) |
||||
|
{ |
||||
|
#> |
||||
|
<#=codeStringGenerator.Property(edmProperty)#> |
||||
|
<# |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
if (complexProperties.Any()) |
||||
|
{ |
||||
|
#> |
||||
|
|
||||
|
<# |
||||
|
foreach(var complexProperty in complexProperties) |
||||
|
{ |
||||
|
#> |
||||
|
<#=codeStringGenerator.Property(complexProperty)#> |
||||
|
<# |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
var navigationProperties = typeMapper.GetNavigationProperties(entity); |
||||
|
if (navigationProperties.Any()) |
||||
|
{ |
||||
|
#> |
||||
|
|
||||
|
<# |
||||
|
foreach (var navigationProperty in navigationProperties) |
||||
|
{ |
||||
|
if (navigationProperty.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many) |
||||
|
{ |
||||
|
#> |
||||
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] |
||||
|
<# |
||||
|
} |
||||
|
#> |
||||
|
<#=codeStringGenerator.NavigationProperty(navigationProperty)#> |
||||
|
<# |
||||
|
} |
||||
|
} |
||||
|
#> |
||||
|
} |
||||
|
<# |
||||
|
EndNamespace(code); |
||||
|
} |
||||
|
|
||||
|
foreach (var complex in typeMapper.GetItemsToGenerate<ComplexType>(itemCollection)) |
||||
|
{ |
||||
|
fileManager.StartNewFile(complex.Name + ".cs"); |
||||
|
BeginNamespace(code); |
||||
|
#> |
||||
|
<#=codeStringGenerator.UsingDirectives(inHeader: false, includeCollections: false)#> |
||||
|
<#=Accessibility.ForType(complex)#> partial class <#=code.Escape(complex)#> |
||||
|
{ |
||||
|
<# |
||||
|
var complexProperties = typeMapper.GetComplexProperties(complex); |
||||
|
var propertiesWithDefaultValues = typeMapper.GetPropertiesWithDefaultValues(complex); |
||||
|
|
||||
|
if (propertiesWithDefaultValues.Any() || complexProperties.Any()) |
||||
|
{ |
||||
|
#> |
||||
|
public <#=code.Escape(complex)#>() |
||||
|
{ |
||||
|
<# |
||||
|
foreach (var edmProperty in propertiesWithDefaultValues) |
||||
|
{ |
||||
|
#> |
||||
|
this.<#=code.Escape(edmProperty)#> = <#=typeMapper.CreateLiteral(edmProperty.DefaultValue)#>; |
||||
|
<# |
||||
|
} |
||||
|
|
||||
|
foreach (var complexProperty in complexProperties) |
||||
|
{ |
||||
|
#> |
||||
|
this.<#=code.Escape(complexProperty)#> = new <#=typeMapper.GetTypeName(complexProperty.TypeUsage)#>(); |
||||
|
<# |
||||
|
} |
||||
|
#> |
||||
|
} |
||||
|
|
||||
|
<# |
||||
|
} |
||||
|
|
||||
|
var simpleProperties = typeMapper.GetSimpleProperties(complex); |
||||
|
if (simpleProperties.Any()) |
||||
|
{ |
||||
|
foreach(var edmProperty in simpleProperties) |
||||
|
{ |
||||
|
#> |
||||
|
<#=codeStringGenerator.Property(edmProperty)#> |
||||
|
<# |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
if (complexProperties.Any()) |
||||
|
{ |
||||
|
#> |
||||
|
|
||||
|
<# |
||||
|
foreach(var edmProperty in complexProperties) |
||||
|
{ |
||||
|
#> |
||||
|
<#=codeStringGenerator.Property(edmProperty)#> |
||||
|
<# |
||||
|
} |
||||
|
} |
||||
|
#> |
||||
|
} |
||||
|
<# |
||||
|
EndNamespace(code); |
||||
|
} |
||||
|
|
||||
|
foreach (var enumType in typeMapper.GetEnumItemsToGenerate(itemCollection)) |
||||
|
{ |
||||
|
fileManager.StartNewFile(enumType.Name + ".cs"); |
||||
|
BeginNamespace(code); |
||||
|
#> |
||||
|
<#=codeStringGenerator.UsingDirectives(inHeader: false, includeCollections: false)#> |
||||
|
<# |
||||
|
if (typeMapper.EnumIsFlags(enumType)) |
||||
|
{ |
||||
|
#> |
||||
|
[Flags] |
||||
|
<# |
||||
|
} |
||||
|
#> |
||||
|
<#=codeStringGenerator.EnumOpening(enumType)#> |
||||
|
{ |
||||
|
<# |
||||
|
var foundOne = false; |
||||
|
|
||||
|
foreach (MetadataItem member in typeMapper.GetEnumMembers(enumType)) |
||||
|
{ |
||||
|
foundOne = true; |
||||
|
#> |
||||
|
<#=code.Escape(typeMapper.GetEnumMemberName(member))#> = <#=typeMapper.GetEnumMemberValue(member)#>, |
||||
|
<# |
||||
|
} |
||||
|
|
||||
|
if (foundOne) |
||||
|
{ |
||||
|
this.GenerationEnvironment.Remove(this.GenerationEnvironment.Length - 3, 1); |
||||
|
} |
||||
|
#> |
||||
|
} |
||||
|
<# |
||||
|
EndNamespace(code); |
||||
|
} |
||||
|
|
||||
|
fileManager.Process(); |
||||
|
|
||||
|
#> |
||||
|
<#+ |
||||
|
|
||||
|
public void WriteHeader(CodeStringGenerator codeStringGenerator, EntityFrameworkTemplateFileManager fileManager) |
||||
|
{ |
||||
|
fileManager.StartHeader(); |
||||
|
#> |
||||
|
//------------------------------------------------------------------------------ |
||||
|
// <auto-generated> |
||||
|
// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine1")#> |
||||
|
// |
||||
|
// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine2")#> |
||||
|
// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine3")#> |
||||
|
// </auto-generated> |
||||
|
//------------------------------------------------------------------------------ |
||||
|
<#=codeStringGenerator.UsingDirectives(inHeader: true)#> |
||||
|
<#+ |
||||
|
fileManager.EndBlock(); |
||||
|
} |
||||
|
|
||||
|
public void BeginNamespace(CodeGenerationTools code) |
||||
|
{ |
||||
|
var codeNamespace = code.VsNamespaceSuggestion(); |
||||
|
if (!String.IsNullOrEmpty(codeNamespace)) |
||||
|
{ |
||||
|
#> |
||||
|
namespace <#=code.EscapeNamespace(codeNamespace)#> |
||||
|
{ |
||||
|
<#+ |
||||
|
PushIndent(" "); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public void EndNamespace(CodeGenerationTools code) |
||||
|
{ |
||||
|
if (!String.IsNullOrEmpty(code.VsNamespaceSuggestion())) |
||||
|
{ |
||||
|
PopIndent(); |
||||
|
#> |
||||
|
} |
||||
|
<#+ |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public const string TemplateId = "CSharp_DbContext_Types_EF6"; |
||||
|
|
||||
|
public class CodeStringGenerator |
||||
|
{ |
||||
|
private readonly CodeGenerationTools _code; |
||||
|
private readonly TypeMapper _typeMapper; |
||||
|
private readonly MetadataTools _ef; |
||||
|
|
||||
|
public CodeStringGenerator(CodeGenerationTools code, TypeMapper typeMapper, MetadataTools ef) |
||||
|
{ |
||||
|
ArgumentNotNull(code, "code"); |
||||
|
ArgumentNotNull(typeMapper, "typeMapper"); |
||||
|
ArgumentNotNull(ef, "ef"); |
||||
|
|
||||
|
_code = code; |
||||
|
_typeMapper = typeMapper; |
||||
|
_ef = ef; |
||||
|
} |
||||
|
|
||||
|
public string Property(EdmProperty edmProperty) |
||||
|
{ |
||||
|
return string.Format( |
||||
|
CultureInfo.InvariantCulture, |
||||
|
"{0} {1} {2} {{ {3}get; {4}set; }}", |
||||
|
Accessibility.ForProperty(edmProperty), |
||||
|
_typeMapper.GetTypeName(edmProperty.TypeUsage), |
||||
|
_code.Escape(edmProperty), |
||||
|
_code.SpaceAfter(Accessibility.ForGetter(edmProperty)), |
||||
|
_code.SpaceAfter(Accessibility.ForSetter(edmProperty))); |
||||
|
} |
||||
|
|
||||
|
public string NavigationProperty(NavigationProperty navProp) |
||||
|
{ |
||||
|
var endType = _typeMapper.GetTypeName(navProp.ToEndMember.GetEntityType()); |
||||
|
return string.Format( |
||||
|
CultureInfo.InvariantCulture, |
||||
|
"{0} {1} {2} {{ {3}get; {4}set; }}", |
||||
|
AccessibilityAndVirtual(Accessibility.ForNavigationProperty(navProp)), |
||||
|
navProp.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many ? ("ICollection<" + endType + ">") : endType, |
||||
|
_code.Escape(navProp), |
||||
|
_code.SpaceAfter(Accessibility.ForGetter(navProp)), |
||||
|
_code.SpaceAfter(Accessibility.ForSetter(navProp))); |
||||
|
} |
||||
|
|
||||
|
public string AccessibilityAndVirtual(string accessibility) |
||||
|
{ |
||||
|
return accessibility + (accessibility != "private" ? " virtual" : ""); |
||||
|
} |
||||
|
|
||||
|
public string EntityClassOpening(EntityType entity) |
||||
|
{ |
||||
|
return string.Format( |
||||
|
CultureInfo.InvariantCulture, |
||||
|
"{0} {1}partial class {2}{3}", |
||||
|
Accessibility.ForType(entity), |
||||
|
_code.SpaceAfter(_code.AbstractOption(entity)), |
||||
|
_code.Escape(entity), |
||||
|
_code.StringBefore(" : ", _typeMapper.GetTypeName(entity.BaseType))); |
||||
|
} |
||||
|
|
||||
|
public string EnumOpening(SimpleType enumType) |
||||
|
{ |
||||
|
return string.Format( |
||||
|
CultureInfo.InvariantCulture, |
||||
|
"{0} enum {1} : {2}", |
||||
|
Accessibility.ForType(enumType), |
||||
|
_code.Escape(enumType), |
||||
|
_code.Escape(_typeMapper.UnderlyingClrType(enumType))); |
||||
|
} |
||||
|
|
||||
|
public void WriteFunctionParameters(EdmFunction edmFunction, Action<string, string, string, string> writeParameter) |
||||
|
{ |
||||
|
var parameters = FunctionImportParameter.Create(edmFunction.Parameters, _code, _ef); |
||||
|
foreach (var parameter in parameters.Where(p => p.NeedsLocalVariable)) |
||||
|
{ |
||||
|
var isNotNull = parameter.IsNullableOfT ? parameter.FunctionParameterName + ".HasValue" : parameter.FunctionParameterName + " != null"; |
||||
|
var notNullInit = "new ObjectParameter(\"" + parameter.EsqlParameterName + "\", " + parameter.FunctionParameterName + ")"; |
||||
|
var nullInit = "new ObjectParameter(\"" + parameter.EsqlParameterName + "\", typeof(" + TypeMapper.FixNamespaces(parameter.RawClrTypeName) + "))"; |
||||
|
writeParameter(parameter.LocalVariableName, isNotNull, notNullInit, nullInit); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public string ComposableFunctionMethod(EdmFunction edmFunction, string modelNamespace) |
||||
|
{ |
||||
|
var parameters = _typeMapper.GetParameters(edmFunction); |
||||
|
|
||||
|
return string.Format( |
||||
|
CultureInfo.InvariantCulture, |
||||
|
"{0} IQueryable<{1}> {2}({3})", |
||||
|
AccessibilityAndVirtual(Accessibility.ForMethod(edmFunction)), |
||||
|
_typeMapper.GetTypeName(_typeMapper.GetReturnType(edmFunction), modelNamespace), |
||||
|
_code.Escape(edmFunction), |
||||
|
string.Join(", ", parameters.Select(p => TypeMapper.FixNamespaces(p.FunctionParameterType) + " " + p.FunctionParameterName).ToArray())); |
||||
|
} |
||||
|
|
||||
|
public string ComposableCreateQuery(EdmFunction edmFunction, string modelNamespace) |
||||
|
{ |
||||
|
var parameters = _typeMapper.GetParameters(edmFunction); |
||||
|
|
||||
|
return string.Format( |
||||
|
CultureInfo.InvariantCulture, |
||||
|
"return ((IObjectContextAdapter)this).ObjectContext.CreateQuery<{0}>(\"[{1}].[{2}]({3})\"{4});", |
||||
|
_typeMapper.GetTypeName(_typeMapper.GetReturnType(edmFunction), modelNamespace), |
||||
|
edmFunction.NamespaceName, |
||||
|
edmFunction.Name, |
||||
|
string.Join(", ", parameters.Select(p => "@" + p.EsqlParameterName).ToArray()), |
||||
|
_code.StringBefore(", ", string.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray()))); |
||||
|
} |
||||
|
|
||||
|
public string FunctionMethod(EdmFunction edmFunction, string modelNamespace, bool includeMergeOption) |
||||
|
{ |
||||
|
var parameters = _typeMapper.GetParameters(edmFunction); |
||||
|
var returnType = _typeMapper.GetReturnType(edmFunction); |
||||
|
|
||||
|
var paramList = String.Join(", ", parameters.Select(p => TypeMapper.FixNamespaces(p.FunctionParameterType) + " " + p.FunctionParameterName).ToArray()); |
||||
|
if (includeMergeOption) |
||||
|
{ |
||||
|
paramList = _code.StringAfter(paramList, ", ") + "MergeOption mergeOption"; |
||||
|
} |
||||
|
|
||||
|
return string.Format( |
||||
|
CultureInfo.InvariantCulture, |
||||
|
"{0} {1} {2}({3})", |
||||
|
AccessibilityAndVirtual(Accessibility.ForMethod(edmFunction)), |
||||
|
returnType == null ? "int" : "ObjectResult<" + _typeMapper.GetTypeName(returnType, modelNamespace) + ">", |
||||
|
_code.Escape(edmFunction), |
||||
|
paramList); |
||||
|
} |
||||
|
|
||||
|
public string ExecuteFunction(EdmFunction edmFunction, string modelNamespace, bool includeMergeOption) |
||||
|
{ |
||||
|
var parameters = _typeMapper.GetParameters(edmFunction); |
||||
|
var returnType = _typeMapper.GetReturnType(edmFunction); |
||||
|
|
||||
|
var callParams = _code.StringBefore(", ", String.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray())); |
||||
|
if (includeMergeOption) |
||||
|
{ |
||||
|
callParams = ", mergeOption" + callParams; |
||||
|
} |
||||
|
|
||||
|
return string.Format( |
||||
|
CultureInfo.InvariantCulture, |
||||
|
"return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction{0}(\"{1}\"{2});", |
||||
|
returnType == null ? "" : "<" + _typeMapper.GetTypeName(returnType, modelNamespace) + ">", |
||||
|
edmFunction.Name, |
||||
|
callParams); |
||||
|
} |
||||
|
|
||||
|
public string DbSet(EntitySet entitySet) |
||||
|
{ |
||||
|
return string.Format( |
||||
|
CultureInfo.InvariantCulture, |
||||
|
"{0} virtual DbSet<{1}> {2} {{ get; set; }}", |
||||
|
Accessibility.ForReadOnlyProperty(entitySet), |
||||
|
_typeMapper.GetTypeName(entitySet.ElementType), |
||||
|
_code.Escape(entitySet)); |
||||
|
} |
||||
|
|
||||
|
public string UsingDirectives(bool inHeader, bool includeCollections = true) |
||||
|
{ |
||||
|
return inHeader == string.IsNullOrEmpty(_code.VsNamespaceSuggestion()) |
||||
|
? string.Format( |
||||
|
CultureInfo.InvariantCulture, |
||||
|
"{0}using System;{1}" + |
||||
|
"{2}", |
||||
|
inHeader ? Environment.NewLine : "", |
||||
|
includeCollections ? (Environment.NewLine + "using System.Collections.Generic;") : "", |
||||
|
inHeader ? "" : Environment.NewLine) |
||||
|
: ""; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public class TypeMapper |
||||
|
{ |
||||
|
private const string ExternalTypeNameAttributeName = @"http://schemas.microsoft.com/ado/2006/04/codegeneration:ExternalTypeName"; |
||||
|
|
||||
|
private readonly System.Collections.IList _errors; |
||||
|
private readonly CodeGenerationTools _code; |
||||
|
private readonly MetadataTools _ef; |
||||
|
|
||||
|
public TypeMapper(CodeGenerationTools code, MetadataTools ef, System.Collections.IList errors) |
||||
|
{ |
||||
|
ArgumentNotNull(code, "code"); |
||||
|
ArgumentNotNull(ef, "ef"); |
||||
|
ArgumentNotNull(errors, "errors"); |
||||
|
|
||||
|
_code = code; |
||||
|
_ef = ef; |
||||
|
_errors = errors; |
||||
|
} |
||||
|
|
||||
|
public static string FixNamespaces(string typeName) |
||||
|
{ |
||||
|
return typeName.Replace("System.Data.Spatial.", "System.Data.Entity.Spatial."); |
||||
|
} |
||||
|
|
||||
|
public string GetTypeName(TypeUsage typeUsage) |
||||
|
{ |
||||
|
return typeUsage == null ? null : GetTypeName(typeUsage.EdmType, _ef.IsNullable(typeUsage), modelNamespace: null); |
||||
|
} |
||||
|
|
||||
|
public string GetTypeName(EdmType edmType) |
||||
|
{ |
||||
|
return GetTypeName(edmType, isNullable: null, modelNamespace: null); |
||||
|
} |
||||
|
|
||||
|
public string GetTypeName(TypeUsage typeUsage, string modelNamespace) |
||||
|
{ |
||||
|
return typeUsage == null ? null : GetTypeName(typeUsage.EdmType, _ef.IsNullable(typeUsage), modelNamespace); |
||||
|
} |
||||
|
|
||||
|
public string GetTypeName(EdmType edmType, string modelNamespace) |
||||
|
{ |
||||
|
return GetTypeName(edmType, isNullable: null, modelNamespace: modelNamespace); |
||||
|
} |
||||
|
|
||||
|
public string GetTypeName(EdmType edmType, bool? isNullable, string modelNamespace) |
||||
|
{ |
||||
|
if (edmType == null) |
||||
|
{ |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
var collectionType = edmType as CollectionType; |
||||
|
if (collectionType != null) |
||||
|
{ |
||||
|
return String.Format(CultureInfo.InvariantCulture, "ICollection<{0}>", GetTypeName(collectionType.TypeUsage, modelNamespace)); |
||||
|
} |
||||
|
|
||||
|
var typeName = _code.Escape(edmType.MetadataProperties |
||||
|
.Where(p => p.Name == ExternalTypeNameAttributeName) |
||||
|
.Select(p => (string)p.Value) |
||||
|
.FirstOrDefault()) |
||||
|
?? (modelNamespace != null && edmType.NamespaceName != modelNamespace ? |
||||
|
_code.CreateFullName(_code.EscapeNamespace(edmType.NamespaceName), _code.Escape(edmType)) : |
||||
|
_code.Escape(edmType)); |
||||
|
|
||||
|
if (edmType is StructuralType) |
||||
|
{ |
||||
|
return typeName; |
||||
|
} |
||||
|
|
||||
|
if (edmType is SimpleType) |
||||
|
{ |
||||
|
var clrType = UnderlyingClrType(edmType); |
||||
|
if (!IsEnumType(edmType)) |
||||
|
{ |
||||
|
typeName = _code.Escape(clrType); |
||||
|
} |
||||
|
|
||||
|
typeName = FixNamespaces(typeName); |
||||
|
|
||||
|
return clrType.IsValueType && isNullable == true ? |
||||
|
String.Format(CultureInfo.InvariantCulture, "Nullable<{0}>", typeName) : |
||||
|
typeName; |
||||
|
} |
||||
|
|
||||
|
throw new ArgumentException("edmType"); |
||||
|
} |
||||
|
|
||||
|
public Type UnderlyingClrType(EdmType edmType) |
||||
|
{ |
||||
|
ArgumentNotNull(edmType, "edmType"); |
||||
|
|
||||
|
var primitiveType = edmType as PrimitiveType; |
||||
|
if (primitiveType != null) |
||||
|
{ |
||||
|
return primitiveType.ClrEquivalentType; |
||||
|
} |
||||
|
|
||||
|
if (IsEnumType(edmType)) |
||||
|
{ |
||||
|
return GetEnumUnderlyingType(edmType).ClrEquivalentType; |
||||
|
} |
||||
|
|
||||
|
return typeof(object); |
||||
|
} |
||||
|
|
||||
|
public object GetEnumMemberValue(MetadataItem enumMember) |
||||
|
{ |
||||
|
ArgumentNotNull(enumMember, "enumMember"); |
||||
|
|
||||
|
var valueProperty = enumMember.GetType().GetProperty("Value"); |
||||
|
return valueProperty == null ? null : valueProperty.GetValue(enumMember, null); |
||||
|
} |
||||
|
|
||||
|
public string GetEnumMemberName(MetadataItem enumMember) |
||||
|
{ |
||||
|
ArgumentNotNull(enumMember, "enumMember"); |
||||
|
|
||||
|
var nameProperty = enumMember.GetType().GetProperty("Name"); |
||||
|
return nameProperty == null ? null : (string)nameProperty.GetValue(enumMember, null); |
||||
|
} |
||||
|
|
||||
|
public System.Collections.IEnumerable GetEnumMembers(EdmType enumType) |
||||
|
{ |
||||
|
ArgumentNotNull(enumType, "enumType"); |
||||
|
|
||||
|
var membersProperty = enumType.GetType().GetProperty("Members"); |
||||
|
return membersProperty != null |
||||
|
? (System.Collections.IEnumerable)membersProperty.GetValue(enumType, null) |
||||
|
: Enumerable.Empty<MetadataItem>(); |
||||
|
} |
||||
|
|
||||
|
public bool EnumIsFlags(EdmType enumType) |
||||
|
{ |
||||
|
ArgumentNotNull(enumType, "enumType"); |
||||
|
|
||||
|
var isFlagsProperty = enumType.GetType().GetProperty("IsFlags"); |
||||
|
return isFlagsProperty != null && (bool)isFlagsProperty.GetValue(enumType, null); |
||||
|
} |
||||
|
|
||||
|
public bool IsEnumType(GlobalItem edmType) |
||||
|
{ |
||||
|
ArgumentNotNull(edmType, "edmType"); |
||||
|
|
||||
|
return edmType.GetType().Name == "EnumType"; |
||||
|
} |
||||
|
|
||||
|
public PrimitiveType GetEnumUnderlyingType(EdmType enumType) |
||||
|
{ |
||||
|
ArgumentNotNull(enumType, "enumType"); |
||||
|
|
||||
|
return (PrimitiveType)enumType.GetType().GetProperty("UnderlyingType").GetValue(enumType, null); |
||||
|
} |
||||
|
|
||||
|
public string CreateLiteral(object value) |
||||
|
{ |
||||
|
if (value == null || value.GetType() != typeof(TimeSpan)) |
||||
|
{ |
||||
|
return _code.CreateLiteral(value); |
||||
|
} |
||||
|
|
||||
|
return string.Format(CultureInfo.InvariantCulture, "new TimeSpan({0})", ((TimeSpan)value).Ticks); |
||||
|
} |
||||
|
|
||||
|
public bool VerifyCaseInsensitiveTypeUniqueness(IEnumerable<string> types, string sourceFile) |
||||
|
{ |
||||
|
ArgumentNotNull(types, "types"); |
||||
|
ArgumentNotNull(sourceFile, "sourceFile"); |
||||
|
|
||||
|
var hash = new HashSet<string>(StringComparer.InvariantCultureIgnoreCase); |
||||
|
if (types.Any(item => !hash.Add(item))) |
||||
|
{ |
||||
|
_errors.Add( |
||||
|
new CompilerError(sourceFile, -1, -1, "6023", |
||||
|
String.Format(CultureInfo.CurrentCulture, CodeGenerationTools.GetResourceString("Template_CaseInsensitiveTypeConflict")))); |
||||
|
return false; |
||||
|
} |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<SimpleType> GetEnumItemsToGenerate(IEnumerable<GlobalItem> itemCollection) |
||||
|
{ |
||||
|
return GetItemsToGenerate<SimpleType>(itemCollection) |
||||
|
.Where(e => IsEnumType(e)); |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<T> GetItemsToGenerate<T>(IEnumerable<GlobalItem> itemCollection) where T: EdmType |
||||
|
{ |
||||
|
return itemCollection |
||||
|
.OfType<T>() |
||||
|
.Where(i => !i.MetadataProperties.Any(p => p.Name == ExternalTypeNameAttributeName)) |
||||
|
.OrderBy(i => i.Name); |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<string> GetAllGlobalItems(IEnumerable<GlobalItem> itemCollection) |
||||
|
{ |
||||
|
return itemCollection |
||||
|
.Where(i => i is EntityType || i is ComplexType || i is EntityContainer || IsEnumType(i)) |
||||
|
.Select(g => GetGlobalItemName(g)); |
||||
|
} |
||||
|
|
||||
|
public string GetGlobalItemName(GlobalItem item) |
||||
|
{ |
||||
|
if (item is EdmType) |
||||
|
{ |
||||
|
return ((EdmType)item).Name; |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
return ((EntityContainer)item).Name; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<EdmProperty> GetSimpleProperties(EntityType type) |
||||
|
{ |
||||
|
return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type); |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<EdmProperty> GetSimpleProperties(ComplexType type) |
||||
|
{ |
||||
|
return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type); |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<EdmProperty> GetComplexProperties(EntityType type) |
||||
|
{ |
||||
|
return type.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == type); |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<EdmProperty> GetComplexProperties(ComplexType type) |
||||
|
{ |
||||
|
return type.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == type); |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<EdmProperty> GetPropertiesWithDefaultValues(EntityType type) |
||||
|
{ |
||||
|
return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type && p.DefaultValue != null); |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<EdmProperty> GetPropertiesWithDefaultValues(ComplexType type) |
||||
|
{ |
||||
|
return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type && p.DefaultValue != null); |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<NavigationProperty> GetNavigationProperties(EntityType type) |
||||
|
{ |
||||
|
return type.NavigationProperties.Where(np => np.DeclaringType == type); |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<NavigationProperty> GetCollectionNavigationProperties(EntityType type) |
||||
|
{ |
||||
|
return type.NavigationProperties.Where(np => np.DeclaringType == type && np.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many); |
||||
|
} |
||||
|
|
||||
|
public FunctionParameter GetReturnParameter(EdmFunction edmFunction) |
||||
|
{ |
||||
|
ArgumentNotNull(edmFunction, "edmFunction"); |
||||
|
|
||||
|
var returnParamsProperty = edmFunction.GetType().GetProperty("ReturnParameters"); |
||||
|
return returnParamsProperty == null |
||||
|
? edmFunction.ReturnParameter |
||||
|
: ((IEnumerable<FunctionParameter>)returnParamsProperty.GetValue(edmFunction, null)).FirstOrDefault(); |
||||
|
} |
||||
|
|
||||
|
public bool IsComposable(EdmFunction edmFunction) |
||||
|
{ |
||||
|
ArgumentNotNull(edmFunction, "edmFunction"); |
||||
|
|
||||
|
var isComposableProperty = edmFunction.GetType().GetProperty("IsComposableAttribute"); |
||||
|
return isComposableProperty != null && (bool)isComposableProperty.GetValue(edmFunction, null); |
||||
|
} |
||||
|
|
||||
|
public IEnumerable<FunctionImportParameter> GetParameters(EdmFunction edmFunction) |
||||
|
{ |
||||
|
return FunctionImportParameter.Create(edmFunction.Parameters, _code, _ef); |
||||
|
} |
||||
|
|
||||
|
public TypeUsage GetReturnType(EdmFunction edmFunction) |
||||
|
{ |
||||
|
var returnParam = GetReturnParameter(edmFunction); |
||||
|
return returnParam == null ? null : _ef.GetElementType(returnParam.TypeUsage); |
||||
|
} |
||||
|
|
||||
|
public bool GenerateMergeOptionFunction(EdmFunction edmFunction, bool includeMergeOption) |
||||
|
{ |
||||
|
var returnType = GetReturnType(edmFunction); |
||||
|
return !includeMergeOption && returnType != null && returnType.EdmType.BuiltInTypeKind == BuiltInTypeKind.EntityType; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public static void ArgumentNotNull<T>(T arg, string name) where T : class |
||||
|
{ |
||||
|
if (arg == null) |
||||
|
{ |
||||
|
throw new ArgumentNullException(name); |
||||
|
} |
||||
|
} |
||||
|
#> |
||||
@ -0,0 +1,35 @@ |
|||||
|
using System.Reflection; |
||||
|
using System.Runtime.CompilerServices; |
||||
|
using System.Runtime.InteropServices; |
||||
|
|
||||
|
// 어셈블리의 일반 정보는 다음 특성 집합을 통해
|
||||
|
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
|
||||
|
// 이 특성 값을 변경하십시오.
|
||||
|
[assembly: AssemblyTitle("RegistrationForm")] |
||||
|
[assembly: AssemblyDescription("")] |
||||
|
[assembly: AssemblyConfiguration("")] |
||||
|
[assembly: AssemblyCompany("")] |
||||
|
[assembly: AssemblyProduct("RegistrationForm")] |
||||
|
[assembly: AssemblyCopyright("Copyright © 2022")] |
||||
|
[assembly: AssemblyTrademark("")] |
||||
|
[assembly: AssemblyCulture("")] |
||||
|
|
||||
|
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
|
||||
|
//COM 표시되지 않습니다.
|
||||
|
// COM에서 이 어셈블리의 형식에 액세스하려면 해당 형식에 대해 ComVisible 특성을 true로 설정하십시오.
|
||||
|
[assembly: ComVisible(false)] |
||||
|
|
||||
|
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
|
||||
|
[assembly: Guid("1350e058-57b6-4ced-a345-6adb91ea3d69")] |
||||
|
|
||||
|
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.:
|
||||
|
//
|
||||
|
// 주 버전
|
||||
|
// 부 버전
|
||||
|
// 빌드 번호
|
||||
|
// 수정 버전
|
||||
|
//
|
||||
|
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 버전이 자동으로
|
||||
|
// 지정되도록 할 수 있습니다.:
|
||||
|
[assembly: AssemblyVersion("1.0.0.0")] |
||||
|
[assembly: AssemblyFileVersion("1.0.0.0")] |
||||
@ -0,0 +1,8 @@ |
|||||
|
해당 프로젝트는 C#을 이용해 회원가입, 로그인 폼을 웹으로 보여줍니다. |
||||
|
언어 및 환경 |
||||
|
C# |
||||
|
.NET Framework |
||||
|
Entity Framework |
||||
|
|
||||
|
Visual Studio 2019 |
||||
|
MS-SQL Server |
||||
@ -0,0 +1,301 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
||||
|
<Import Project="packages\EntityFramework.6.4.4\build\EntityFramework.props" Condition="Exists('packages\EntityFramework.6.4.4\build\EntityFramework.props')" /> |
||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> |
||||
|
<PropertyGroup> |
||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
||||
|
<ProductVersion> |
||||
|
</ProductVersion> |
||||
|
<SchemaVersion>2.0</SchemaVersion> |
||||
|
<ProjectGuid>{8F118DDC-3435-475F-81A1-F7FD266F758A}</ProjectGuid> |
||||
|
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids> |
||||
|
<OutputType>Library</OutputType> |
||||
|
<AppDesignerFolder>Properties</AppDesignerFolder> |
||||
|
<RootNamespace>RegistrationForm</RootNamespace> |
||||
|
<AssemblyName>RegistrationForm</AssemblyName> |
||||
|
<TargetFrameworkVersion>v4.7.1</TargetFrameworkVersion> |
||||
|
<MvcBuildViews>false</MvcBuildViews> |
||||
|
<UseIISExpress>true</UseIISExpress> |
||||
|
<Use64BitIISExpress /> |
||||
|
<IISExpressSSLPort>44364</IISExpressSSLPort> |
||||
|
<IISExpressAnonymousAuthentication /> |
||||
|
<IISExpressWindowsAuthentication /> |
||||
|
<IISExpressUseClassicPipelineMode /> |
||||
|
<UseGlobalApplicationHostFile /> |
||||
|
<NuGetPackageImportStamp> |
||||
|
</NuGetPackageImportStamp> |
||||
|
</PropertyGroup> |
||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
||||
|
<DebugSymbols>true</DebugSymbols> |
||||
|
<DebugType>full</DebugType> |
||||
|
<Optimize>false</Optimize> |
||||
|
<OutputPath>bin\</OutputPath> |
||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants> |
||||
|
<ErrorReport>prompt</ErrorReport> |
||||
|
<WarningLevel>4</WarningLevel> |
||||
|
</PropertyGroup> |
||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
||||
|
<DebugSymbols>true</DebugSymbols> |
||||
|
<DebugType>pdbonly</DebugType> |
||||
|
<Optimize>true</Optimize> |
||||
|
<OutputPath>bin\</OutputPath> |
||||
|
<DefineConstants>TRACE</DefineConstants> |
||||
|
<ErrorReport>prompt</ErrorReport> |
||||
|
<WarningLevel>4</WarningLevel> |
||||
|
</PropertyGroup> |
||||
|
<ItemGroup> |
||||
|
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> |
||||
|
<HintPath>packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll</HintPath> |
||||
|
</Reference> |
||||
|
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> |
||||
|
<HintPath>packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll</HintPath> |
||||
|
</Reference> |
||||
|
<Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> |
||||
|
<HintPath>packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll</HintPath> |
||||
|
</Reference> |
||||
|
<Reference Include="Microsoft.CSharp" /> |
||||
|
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> |
||||
|
<HintPath>packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath> |
||||
|
</Reference> |
||||
|
<Reference Include="System" /> |
||||
|
<Reference Include="System.Data" /> |
||||
|
<Reference Include="System.Data.Entity" /> |
||||
|
<Reference Include="System.Drawing" /> |
||||
|
<Reference Include="System.Runtime.Serialization" /> |
||||
|
<Reference Include="System.Security" /> |
||||
|
<Reference Include="System.Web.DynamicData" /> |
||||
|
<Reference Include="System.Web.Entity" /> |
||||
|
<Reference Include="System.Web.ApplicationServices" /> |
||||
|
<Reference Include="System.ComponentModel.DataAnnotations" /> |
||||
|
<Reference Include="System.Core" /> |
||||
|
<Reference Include="System.Data.DataSetExtensions" /> |
||||
|
<Reference Include="System.Xml.Linq" /> |
||||
|
<Reference Include="System.Web" /> |
||||
|
<Reference Include="System.Web.Extensions" /> |
||||
|
<Reference Include="System.Web.Abstractions" /> |
||||
|
<Reference Include="System.Web.Routing" /> |
||||
|
<Reference Include="System.Xml" /> |
||||
|
<Reference Include="System.Configuration" /> |
||||
|
<Reference Include="System.Web.Services" /> |
||||
|
<Reference Include="System.EnterpriseServices" /> |
||||
|
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> |
||||
|
<Private>True</Private> |
||||
|
<HintPath>packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath> |
||||
|
</Reference> |
||||
|
<Reference Include="System.Net.Http"> |
||||
|
</Reference> |
||||
|
<Reference Include="System.Net.Http.WebRequest"> |
||||
|
</Reference> |
||||
|
<Reference Include="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> |
||||
|
<Private>True</Private> |
||||
|
<HintPath>packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.Helpers.dll</HintPath> |
||||
|
</Reference> |
||||
|
<Reference Include="System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> |
||||
|
<Private>True</Private> |
||||
|
<HintPath>packages\Microsoft.AspNet.Mvc.5.2.7\lib\net45\System.Web.Mvc.dll</HintPath> |
||||
|
</Reference> |
||||
|
<Reference Include="System.Web.Optimization"> |
||||
|
<HintPath>packages\Microsoft.AspNet.Web.Optimization.1.1.3\lib\net40\System.Web.Optimization.dll</HintPath> |
||||
|
</Reference> |
||||
|
<Reference Include="System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> |
||||
|
<Private>True</Private> |
||||
|
<HintPath>packages\Microsoft.AspNet.Razor.3.2.7\lib\net45\System.Web.Razor.dll</HintPath> |
||||
|
</Reference> |
||||
|
<Reference Include="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> |
||||
|
<Private>True</Private> |
||||
|
<HintPath>packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.dll</HintPath> |
||||
|
</Reference> |
||||
|
<Reference Include="System.Web.WebPages.Deployment, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> |
||||
|
<Private>True</Private> |
||||
|
<HintPath>packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.Deployment.dll</HintPath> |
||||
|
</Reference> |
||||
|
<Reference Include="System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> |
||||
|
<Private>True</Private> |
||||
|
<HintPath>packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.Razor.dll</HintPath> |
||||
|
</Reference> |
||||
|
<Reference Include="WebGrease"> |
||||
|
<Private>True</Private> |
||||
|
<HintPath>packages\WebGrease.1.6.0\lib\WebGrease.dll</HintPath> |
||||
|
</Reference> |
||||
|
<Reference Include="Antlr3.Runtime"> |
||||
|
<Private>True</Private> |
||||
|
<HintPath>packages\Antlr.3.5.0.2\lib\Antlr3.Runtime.dll</HintPath> |
||||
|
</Reference> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<Compile Include="App_Start\BundleConfig.cs" /> |
||||
|
<Compile Include="App_Start\FilterConfig.cs" /> |
||||
|
<Compile Include="App_Start\RouteConfig.cs" /> |
||||
|
<Compile Include="Controllers\HomeController.cs" /> |
||||
|
<Compile Include="Global.asax.cs"> |
||||
|
<DependentUpon>Global.asax</DependentUpon> |
||||
|
</Compile> |
||||
|
<Compile Include="Models\EmployerListModel.Context.cs"> |
||||
|
<AutoGen>True</AutoGen> |
||||
|
<DesignTime>True</DesignTime> |
||||
|
<DependentUpon>EmployerListModel.Context.tt</DependentUpon> |
||||
|
</Compile> |
||||
|
<Compile Include="Models\EmployerListModel.cs"> |
||||
|
<AutoGen>True</AutoGen> |
||||
|
<DesignTime>True</DesignTime> |
||||
|
<DependentUpon>EmployerListModel.tt</DependentUpon> |
||||
|
</Compile> |
||||
|
<Compile Include="Models\EmployerListModel.Designer.cs"> |
||||
|
<AutoGen>True</AutoGen> |
||||
|
<DesignTime>True</DesignTime> |
||||
|
<DependentUpon>EmployerListModel.edmx</DependentUpon> |
||||
|
</Compile> |
||||
|
<Compile Include="Models\Employ_Table.cs"> |
||||
|
<DependentUpon>EmployerListModel.tt</DependentUpon> |
||||
|
</Compile> |
||||
|
<Compile Include="Properties\AssemblyInfo.cs" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<Content Include="Content\bootstrap-grid.css" /> |
||||
|
<Content Include="Content\bootstrap-grid.min.css" /> |
||||
|
<Content Include="Content\bootstrap-grid.rtl.css" /> |
||||
|
<Content Include="Content\bootstrap-grid.rtl.min.css" /> |
||||
|
<Content Include="Content\bootstrap-reboot.css" /> |
||||
|
<Content Include="Content\bootstrap-reboot.min.css" /> |
||||
|
<Content Include="Content\bootstrap-reboot.rtl.css" /> |
||||
|
<Content Include="Content\bootstrap-reboot.rtl.min.css" /> |
||||
|
<Content Include="Content\bootstrap-utilities.css" /> |
||||
|
<Content Include="Content\bootstrap-utilities.min.css" /> |
||||
|
<Content Include="Content\bootstrap-utilities.rtl.css" /> |
||||
|
<Content Include="Content\bootstrap-utilities.rtl.min.css" /> |
||||
|
<Content Include="Content\bootstrap.css" /> |
||||
|
<Content Include="Content\bootstrap.min.css" /> |
||||
|
<Content Include="Content\bootstrap.rtl.css" /> |
||||
|
<Content Include="Content\bootstrap.rtl.min.css" /> |
||||
|
<Content Include="favicon.ico" /> |
||||
|
<Content Include="Global.asax" /> |
||||
|
<Content Include="Content\Site.css" /> |
||||
|
<Content Include="Models\EmployerListModel.Context.tt"> |
||||
|
<Generator>TextTemplatingFileGenerator</Generator> |
||||
|
<LastGenOutput>EmployerListModel.Context.cs</LastGenOutput> |
||||
|
<DependentUpon>EmployerListModel.edmx</DependentUpon> |
||||
|
</Content> |
||||
|
<Content Include="Models\EmployerListModel.tt"> |
||||
|
<Generator>TextTemplatingFileGenerator</Generator> |
||||
|
<DependentUpon>EmployerListModel.edmx</DependentUpon> |
||||
|
<LastGenOutput>EmployerListModel.cs</LastGenOutput> |
||||
|
</Content> |
||||
|
<Content Include="Scripts\bootstrap.bundle.js" /> |
||||
|
<Content Include="Scripts\bootstrap.bundle.min.js" /> |
||||
|
<Content Include="Scripts\bootstrap.esm.js" /> |
||||
|
<Content Include="Scripts\bootstrap.esm.min.js" /> |
||||
|
<Content Include="Scripts\bootstrap.js" /> |
||||
|
<Content Include="Scripts\bootstrap.min.js" /> |
||||
|
<EntityDeploy Include="Models\EmployerListModel.edmx"> |
||||
|
<Generator>EntityModelCodeGenerator</Generator> |
||||
|
<LastGenOutput>EmployerListModel.Designer.cs</LastGenOutput> |
||||
|
</EntityDeploy> |
||||
|
<Content Include="Models\EmployerListModel.edmx.diagram"> |
||||
|
<DependentUpon>EmployerListModel.edmx</DependentUpon> |
||||
|
</Content> |
||||
|
<None Include="Scripts\jquery-3.6.0.intellisense.js" /> |
||||
|
<Content Include="Scripts\jquery-3.6.0.js" /> |
||||
|
<Content Include="Scripts\jquery-3.6.0.min.js" /> |
||||
|
<Content Include="Scripts\jquery-3.6.0.slim.js" /> |
||||
|
<Content Include="Scripts\jquery-3.6.0.slim.min.js" /> |
||||
|
<None Include="Scripts\jquery.validate-vsdoc.js" /> |
||||
|
<Content Include="Scripts\jquery.validate.js" /> |
||||
|
<Content Include="Scripts\jquery.validate.min.js" /> |
||||
|
<Content Include="Scripts\jquery.validate.unobtrusive.js" /> |
||||
|
<Content Include="Scripts\jquery.validate.unobtrusive.min.js" /> |
||||
|
<Content Include="Scripts\modernizr-2.8.3.js" /> |
||||
|
<Content Include="Web.config" /> |
||||
|
<Content Include="Web.Debug.config"> |
||||
|
<DependentUpon>Web.config</DependentUpon> |
||||
|
</Content> |
||||
|
<Content Include="Web.Release.config"> |
||||
|
<DependentUpon>Web.config</DependentUpon> |
||||
|
</Content> |
||||
|
<Content Include="Views\Web.config" /> |
||||
|
<Content Include="Views\_ViewStart.cshtml" /> |
||||
|
<Content Include="Views\Shared\Error.cshtml" /> |
||||
|
<Content Include="Views\Shared\_Layout.cshtml" /> |
||||
|
<Content Include="Views\Home\Index.cshtml" /> |
||||
|
<Content Include="Views\Home\Main.cshtml" /> |
||||
|
<Content Include="Views\Home\Login.cshtml" /> |
||||
|
<Content Include="Views\Home\UserDashBoard.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<Folder Include="App_Data\" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<Content Include="Content\bootstrap.rtl.min.css.map" /> |
||||
|
<Content Include="Content\bootstrap.rtl.css.map" /> |
||||
|
<Content Include="Content\bootstrap.min.css.map" /> |
||||
|
<Content Include="Content\bootstrap.css.map" /> |
||||
|
<Content Include="Content\bootstrap-utilities.rtl.min.css.map" /> |
||||
|
<Content Include="Content\bootstrap-utilities.rtl.css.map" /> |
||||
|
<Content Include="Content\bootstrap-utilities.min.css.map" /> |
||||
|
<Content Include="Content\bootstrap-utilities.css.map" /> |
||||
|
<Content Include="Content\bootstrap-reboot.rtl.min.css.map" /> |
||||
|
<Content Include="Content\bootstrap-reboot.rtl.css.map" /> |
||||
|
<Content Include="Content\bootstrap-reboot.min.css.map" /> |
||||
|
<Content Include="Content\bootstrap-reboot.css.map" /> |
||||
|
<Content Include="Content\bootstrap-grid.rtl.min.css.map" /> |
||||
|
<Content Include="Content\bootstrap-grid.rtl.css.map" /> |
||||
|
<Content Include="Content\bootstrap-grid.min.css.map" /> |
||||
|
<Content Include="Content\bootstrap-grid.css.map" /> |
||||
|
<None Include="packages.config" /> |
||||
|
<Content Include="Scripts\bootstrap.min.js.map" /> |
||||
|
<Content Include="Scripts\bootstrap.js.map" /> |
||||
|
<Content Include="Scripts\bootstrap.esm.min.js.map" /> |
||||
|
<Content Include="Scripts\bootstrap.esm.js.map" /> |
||||
|
<Content Include="Scripts\bootstrap.bundle.min.js.map" /> |
||||
|
<Content Include="Scripts\bootstrap.bundle.js.map" /> |
||||
|
<Content Include="Scripts\jquery-3.6.0.slim.min.map" /> |
||||
|
<Content Include="Scripts\jquery-3.6.0.min.map" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" /> |
||||
|
</ItemGroup> |
||||
|
<PropertyGroup> |
||||
|
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> |
||||
|
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> |
||||
|
</PropertyGroup> |
||||
|
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> |
||||
|
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" /> |
||||
|
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" /> |
||||
|
<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'"> |
||||
|
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" /> |
||||
|
</Target> |
||||
|
<ProjectExtensions> |
||||
|
<VisualStudio> |
||||
|
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}"> |
||||
|
<WebProjectProperties> |
||||
|
<UseIIS>True</UseIIS> |
||||
|
<AutoAssignPort>True</AutoAssignPort> |
||||
|
<DevelopmentServerPort>49810</DevelopmentServerPort> |
||||
|
<DevelopmentServerVPath>/</DevelopmentServerVPath> |
||||
|
<IISUrl>https://localhost:44364/</IISUrl> |
||||
|
<NTLMAuthentication>False</NTLMAuthentication> |
||||
|
<UseCustomServer>False</UseCustomServer> |
||||
|
<CustomServerUrl> |
||||
|
</CustomServerUrl> |
||||
|
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile> |
||||
|
</WebProjectProperties> |
||||
|
</FlavorProperties> |
||||
|
</VisualStudio> |
||||
|
</ProjectExtensions> |
||||
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> |
||||
|
<PropertyGroup> |
||||
|
<ErrorText>이 프로젝트는 이 컴퓨터에 없는 NuGet 패키지를 참조합니다. 해당 패키지를 다운로드하려면 NuGet 패키지 복원을 사용하십시오. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkID=322105를 참조하십시오. 누락된 파일은 {0}입니다.</ErrorText> |
||||
|
</PropertyGroup> |
||||
|
<Error Condition="!Exists('packages\EntityFramework.6.4.4\build\EntityFramework.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\EntityFramework.6.4.4\build\EntityFramework.props'))" /> |
||||
|
<Error Condition="!Exists('packages\EntityFramework.6.4.4\build\EntityFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\EntityFramework.6.4.4\build\EntityFramework.targets'))" /> |
||||
|
<Error Condition="!Exists('packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.targets'))" /> |
||||
|
</Target> |
||||
|
<Import Project="packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('packages\EntityFramework.6.4.4\build\EntityFramework.targets')" /> |
||||
|
<Import Project="packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.targets" Condition="Exists('packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.targets')" /> |
||||
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. |
||||
|
Other similar extension points exist, see Microsoft.Common.targets. |
||||
|
<Target Name="BeforeBuild"> |
||||
|
</Target> |
||||
|
<Target Name="AfterBuild"> |
||||
|
</Target> --> |
||||
|
</Project> |
||||
@ -0,0 +1,46 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
||||
|
<PropertyGroup> |
||||
|
<UseIISExpress>true</UseIISExpress> |
||||
|
<Use64BitIISExpress /> |
||||
|
<IISExpressSSLPort>44364</IISExpressSSLPort> |
||||
|
<IISExpressAnonymousAuthentication /> |
||||
|
<IISExpressWindowsAuthentication /> |
||||
|
<IISExpressUseClassicPipelineMode /> |
||||
|
<UseGlobalApplicationHostFile /> |
||||
|
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig> |
||||
|
<View_SelectedScaffolderID>MvcViewScaffolder</View_SelectedScaffolderID> |
||||
|
<View_SelectedScaffolderCategoryPath>root/Common/MVC/View</View_SelectedScaffolderCategoryPath> |
||||
|
<WebStackScaffolding_ViewDialogWidth>600</WebStackScaffolding_ViewDialogWidth> |
||||
|
<WebStackScaffolding_IsLayoutPageSelected>False</WebStackScaffolding_IsLayoutPageSelected> |
||||
|
<WebStackScaffolding_IsPartialViewSelected>False</WebStackScaffolding_IsPartialViewSelected> |
||||
|
<WebStackScaffolding_IsReferencingScriptLibrariesSelected>False</WebStackScaffolding_IsReferencingScriptLibrariesSelected> |
||||
|
<WebStackScaffolding_LayoutPageFile /> |
||||
|
<WebStackScaffolding_DbContextTypeFullName>RegistrationForm.Models.TestDBEntities</WebStackScaffolding_DbContextTypeFullName> |
||||
|
</PropertyGroup> |
||||
|
<ProjectExtensions> |
||||
|
<VisualStudio> |
||||
|
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}"> |
||||
|
<WebProjectProperties> |
||||
|
<StartPageUrl> |
||||
|
</StartPageUrl> |
||||
|
<StartAction>CurrentPage</StartAction> |
||||
|
<AspNetDebugging>True</AspNetDebugging> |
||||
|
<SilverlightDebugging>False</SilverlightDebugging> |
||||
|
<NativeDebugging>False</NativeDebugging> |
||||
|
<SQLDebugging>False</SQLDebugging> |
||||
|
<ExternalProgram> |
||||
|
</ExternalProgram> |
||||
|
<StartExternalURL> |
||||
|
</StartExternalURL> |
||||
|
<StartCmdLineArguments> |
||||
|
</StartCmdLineArguments> |
||||
|
<StartWorkingDirectory> |
||||
|
</StartWorkingDirectory> |
||||
|
<EnableENC>True</EnableENC> |
||||
|
<AlwaysStartWebServerOnDebug>False</AlwaysStartWebServerOnDebug> |
||||
|
</WebProjectProperties> |
||||
|
</FlavorProperties> |
||||
|
</VisualStudio> |
||||
|
</ProjectExtensions> |
||||
|
</Project> |
||||
@ -0,0 +1,25 @@ |
|||||
|
|
||||
|
Microsoft Visual Studio Solution File, Format Version 12.00 |
||||
|
# Visual Studio Version 17 |
||||
|
VisualStudioVersion = 17.0.32014.148 |
||||
|
MinimumVisualStudioVersion = 10.0.40219.1 |
||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegistrationForm", "RegistrationForm.csproj", "{8F118DDC-3435-475F-81A1-F7FD266F758A}" |
||||
|
EndProject |
||||
|
Global |
||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution |
||||
|
Debug|Any CPU = Debug|Any CPU |
||||
|
Release|Any CPU = Release|Any CPU |
||||
|
EndGlobalSection |
||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution |
||||
|
{8F118DDC-3435-475F-81A1-F7FD266F758A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
||||
|
{8F118DDC-3435-475F-81A1-F7FD266F758A}.Debug|Any CPU.Build.0 = Debug|Any CPU |
||||
|
{8F118DDC-3435-475F-81A1-F7FD266F758A}.Release|Any CPU.ActiveCfg = Release|Any CPU |
||||
|
{8F118DDC-3435-475F-81A1-F7FD266F758A}.Release|Any CPU.Build.0 = Release|Any CPU |
||||
|
EndGlobalSection |
||||
|
GlobalSection(SolutionProperties) = preSolution |
||||
|
HideSolutionNode = FALSE |
||||
|
EndGlobalSection |
||||
|
GlobalSection(ExtensibilityGlobals) = postSolution |
||||
|
SolutionGuid = {D8D24FB8-0FB7-4E25-B41A-36726BA0E058} |
||||
|
EndGlobalSection |
||||
|
EndGlobal |
||||
6812
Scripts/bootstrap.bundle.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1
Scripts/bootstrap.bundle.js.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
7
Scripts/bootstrap.bundle.min.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1
Scripts/bootstrap.bundle.min.js.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
4999
Scripts/bootstrap.esm.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1
Scripts/bootstrap.esm.js.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
7
Scripts/bootstrap.esm.min.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1
Scripts/bootstrap.esm.min.js.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
5046
Scripts/bootstrap.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1
Scripts/bootstrap.js.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
7
Scripts/bootstrap.min.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1
Scripts/bootstrap.min.js.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
2670
Scripts/jquery-3.6.0.intellisense.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
10881
Scripts/jquery-3.6.0.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
2
Scripts/jquery-3.6.0.min.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1
Scripts/jquery-3.6.0.min.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
8782
Scripts/jquery-3.6.0.slim.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
2
Scripts/jquery-3.6.0.slim.min.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1
Scripts/jquery-3.6.0.slim.min.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1288
Scripts/jquery.validate-vsdoc.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1657
Scripts/jquery.validate.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
4
Scripts/jquery.validate.min.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,711 @@ |
|||||
|
// Unobtrusive validation support library for jQuery and jQuery Validate
|
||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
// @version v3.2.12
|
||||
|
|
||||
|
/*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */ |
||||
|
/*global document: false, jQuery: false */ |
||||
|
|
||||
|
(function (factory) { |
||||
|
if (typeof define === 'function' && define.amd) { |
||||
|
// AMD. Register as an anonymous module.
|
||||
|
define("jquery.validate.unobtrusive", ['jquery-validation'], factory); |
||||
|
} else if (typeof module === 'object' && module.exports) { |
||||
|
// CommonJS-like environments that support module.exports
|
||||
|
module.exports = factory(require('jquery-validation')); |
||||
|
} else { |
||||
|
// Browser global
|
||||
|
jQuery.validator.unobtrusive = factory(jQuery); |
||||
|
} |
||||
|
}(function ($) { |
||||
|
var $jQval = $.validator, |
||||
|
adapters, |
||||
|
data_validation = "unobtrusiveValidation"; |
||||
|
|
||||
|
function setValidationValues(options, ruleName, value) { |
||||
|
options.rules[ruleName] = value; |
||||
|
if (options.message) { |
||||
|
options.messages[ruleName] = options.message; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
function splitAndTrim(value) { |
||||
|
return value.replace(/^\s+|\s+$/g, "").split(/\s*,\s*/g); |
||||
|
} |
||||
|
|
||||
|
function escapeAttributeValue(value) { |
||||
|
// As mentioned on http://api.jquery.com/category/selectors/
|
||||
|
return value.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g, "\\$1"); |
||||
|
} |
||||
|
|
||||
|
function getModelPrefix(fieldName) { |
||||
|
return fieldName.substr(0, fieldName.lastIndexOf(".") + 1); |
||||
|
} |
||||
|
|
||||
|
function appendModelPrefix(value, prefix) { |
||||
|
if (value.indexOf("*.") === 0) { |
||||
|
value = value.replace("*.", prefix); |
||||
|
} |
||||
|
return value; |
||||
|
} |
||||
|
|
||||
|
function onError(error, inputElement) { // 'this' is the form element
|
||||
|
var container = $(this).find("[data-valmsg-for='" + escapeAttributeValue(inputElement[0].name) + "']"), |
||||
|
replaceAttrValue = container.attr("data-valmsg-replace"), |
||||
|
replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) !== false : null; |
||||
|
|
||||
|
container.removeClass("field-validation-valid").addClass("field-validation-error"); |
||||
|
error.data("unobtrusiveContainer", container); |
||||
|
|
||||
|
if (replace) { |
||||
|
container.empty(); |
||||
|
error.removeClass("input-validation-error").appendTo(container); |
||||
|
} |
||||
|
else { |
||||
|
error.hide(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
function onErrors(event, validator) { // 'this' is the form element
|
||||
|
var container = $(this).find("[data-valmsg-summary=true]"), |
||||
|
list = container.find("ul"); |
||||
|
|
||||
|
if (list && list.length && validator.errorList.length) { |
||||
|
list.empty(); |
||||
|
container.addClass("validation-summary-errors").removeClass("validation-summary-valid"); |
||||
|
|
||||
|
$.each(validator.errorList, function () { |
||||
|
$("<li />").html(this.message).appendTo(list); |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
function onSuccess(error) { // 'this' is the form element
|
||||
|
var container = error.data("unobtrusiveContainer"); |
||||
|
|
||||
|
if (container) { |
||||
|
var replaceAttrValue = container.attr("data-valmsg-replace"), |
||||
|
replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) : null; |
||||
|
|
||||
|
container.addClass("field-validation-valid").removeClass("field-validation-error"); |
||||
|
error.removeData("unobtrusiveContainer"); |
||||
|
|
||||
|
if (replace) { |
||||
|
container.empty(); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
function onReset(event) { // 'this' is the form element
|
||||
|
var $form = $(this), |
||||
|
key = '__jquery_unobtrusive_validation_form_reset'; |
||||
|
if ($form.data(key)) { |
||||
|
return; |
||||
|
} |
||||
|
// Set a flag that indicates we're currently resetting the form.
|
||||
|
$form.data(key, true); |
||||
|
try { |
||||
|
$form.data("validator").resetForm(); |
||||
|
} finally { |
||||
|
$form.removeData(key); |
||||
|
} |
||||
|
|
||||
|
$form.find(".validation-summary-errors") |
||||
|
.addClass("validation-summary-valid") |
||||
|
.removeClass("validation-summary-errors"); |
||||
|
$form.find(".field-validation-error") |
||||
|
.addClass("field-validation-valid") |
||||
|
.removeClass("field-validation-error") |
||||
|
.removeData("unobtrusiveContainer") |
||||
|
.find(">*") // If we were using valmsg-replace, get the underlying error
|
||||
|
.removeData("unobtrusiveContainer"); |
||||
|
} |
||||
|
|
||||
|
function validationInfo(form) { |
||||
|
var $form = $(form), |
||||
|
result = $form.data(data_validation), |
||||
|
onResetProxy = $.proxy(onReset, form), |
||||
|
defaultOptions = $jQval.unobtrusive.options || {}, |
||||
|
execInContext = function (name, args) { |
||||
|
var func = defaultOptions[name]; |
||||
|
func && $.isFunction(func) && func.apply(form, args); |
||||
|
}; |
||||
|
|
||||
|
if (!result) { |
||||
|
result = { |
||||
|
options: { // options structure passed to jQuery Validate's validate() method
|
||||
|
errorClass: defaultOptions.errorClass || "input-validation-error", |
||||
|
errorElement: defaultOptions.errorElement || "span", |
||||
|
errorPlacement: function () { |
||||
|
onError.apply(form, arguments); |
||||
|
execInContext("errorPlacement", arguments); |
||||
|
}, |
||||
|
invalidHandler: function () { |
||||
|
onErrors.apply(form, arguments); |
||||
|
execInContext("invalidHandler", arguments); |
||||
|
}, |
||||
|
messages: {}, |
||||
|
rules: {}, |
||||
|
success: function () { |
||||
|
onSuccess.apply(form, arguments); |
||||
|
execInContext("success", arguments); |
||||
|
} |
||||
|
}, |
||||
|
attachValidation: function () { |
||||
|
$form |
||||
|
.off("reset." + data_validation, onResetProxy) |
||||
|
.on("reset." + data_validation, onResetProxy) |
||||
|
.validate(this.options); |
||||
|
}, |
||||
|
validate: function () { // a validation function that is called by unobtrusive Ajax
|
||||
|
$form.validate(); |
||||
|
return $form.valid(); |
||||
|
} |
||||
|
}; |
||||
|
$form.data(data_validation, result); |
||||
|
} |
||||
|
|
||||
|
return result; |
||||
|
} |
||||
|
|
||||
|
$jQval.unobtrusive = { |
||||
|
adapters: [], |
||||
|
|
||||
|
parseElement: function (element, skipAttach) { |
||||
|
/// <summary>
|
||||
|
/// Parses a single HTML element for unobtrusive validation attributes.
|
||||
|
/// </summary>
|
||||
|
/// <param name="element" domElement="true">The HTML element to be parsed.</param>
|
||||
|
/// <param name="skipAttach" type="Boolean">[Optional] true to skip attaching the
|
||||
|
/// validation to the form. If parsing just this single element, you should specify true.
|
||||
|
/// If parsing several elements, you should specify false, and manually attach the validation
|
||||
|
/// to the form when you are finished. The default is false.</param>
|
||||
|
var $element = $(element), |
||||
|
form = $element.parents("form")[0], |
||||
|
valInfo, rules, messages; |
||||
|
|
||||
|
if (!form) { // Cannot do client-side validation without a form
|
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
valInfo = validationInfo(form); |
||||
|
valInfo.options.rules[element.name] = rules = {}; |
||||
|
valInfo.options.messages[element.name] = messages = {}; |
||||
|
|
||||
|
$.each(this.adapters, function () { |
||||
|
var prefix = "data-val-" + this.name, |
||||
|
message = $element.attr(prefix), |
||||
|
paramValues = {}; |
||||
|
|
||||
|
if (message !== undefined) { // Compare against undefined, because an empty message is legal (and falsy)
|
||||
|
prefix += "-"; |
||||
|
|
||||
|
$.each(this.params, function () { |
||||
|
paramValues[this] = $element.attr(prefix + this); |
||||
|
}); |
||||
|
|
||||
|
this.adapt({ |
||||
|
element: element, |
||||
|
form: form, |
||||
|
message: message, |
||||
|
params: paramValues, |
||||
|
rules: rules, |
||||
|
messages: messages |
||||
|
}); |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
$.extend(rules, { "__dummy__": true }); |
||||
|
|
||||
|
if (!skipAttach) { |
||||
|
valInfo.attachValidation(); |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
parse: function (selector) { |
||||
|
/// <summary>
|
||||
|
/// Parses all the HTML elements in the specified selector. It looks for input elements decorated
|
||||
|
/// with the [data-val=true] attribute value and enables validation according to the data-val-*
|
||||
|
/// attribute values.
|
||||
|
/// </summary>
|
||||
|
/// <param name="selector" type="String">Any valid jQuery selector.</param>
|
||||
|
|
||||
|
// $forms includes all forms in selector's DOM hierarchy (parent, children and self) that have at least one
|
||||
|
// element with data-val=true
|
||||
|
var $selector = $(selector), |
||||
|
$forms = $selector.parents() |
||||
|
.addBack() |
||||
|
.filter("form") |
||||
|
.add($selector.find("form")) |
||||
|
.has("[data-val=true]"); |
||||
|
|
||||
|
$selector.find("[data-val=true]").each(function () { |
||||
|
$jQval.unobtrusive.parseElement(this, true); |
||||
|
}); |
||||
|
|
||||
|
$forms.each(function () { |
||||
|
var info = validationInfo(this); |
||||
|
if (info) { |
||||
|
info.attachValidation(); |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
adapters = $jQval.unobtrusive.adapters; |
||||
|
|
||||
|
adapters.add = function (adapterName, params, fn) { |
||||
|
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation.</summary>
|
||||
|
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
|
||||
|
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
|
||||
|
/// <param name="params" type="Array" optional="true">[Optional] An array of parameter names (strings) that will
|
||||
|
/// be extracted from the data-val-nnnn-mmmm HTML attributes (where nnnn is the adapter name, and
|
||||
|
/// mmmm is the parameter name).</param>
|
||||
|
/// <param name="fn" type="Function">The function to call, which adapts the values from the HTML
|
||||
|
/// attributes into jQuery Validate rules and/or messages.</param>
|
||||
|
/// <returns type="jQuery.validator.unobtrusive.adapters" />
|
||||
|
if (!fn) { // Called with no params, just a function
|
||||
|
fn = params; |
||||
|
params = []; |
||||
|
} |
||||
|
this.push({ name: adapterName, params: params, adapt: fn }); |
||||
|
return this; |
||||
|
}; |
||||
|
|
||||
|
adapters.addBool = function (adapterName, ruleName) { |
||||
|
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
|
||||
|
/// the jQuery Validate validation rule has no parameter values.</summary>
|
||||
|
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
|
||||
|
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
|
||||
|
/// <param name="ruleName" type="String" optional="true">[Optional] The name of the jQuery Validate rule. If not provided, the value
|
||||
|
/// of adapterName will be used instead.</param>
|
||||
|
/// <returns type="jQuery.validator.unobtrusive.adapters" />
|
||||
|
return this.add(adapterName, function (options) { |
||||
|
setValidationValues(options, ruleName || adapterName, true); |
||||
|
}); |
||||
|
}; |
||||
|
|
||||
|
adapters.addMinMax = function (adapterName, minRuleName, maxRuleName, minMaxRuleName, minAttribute, maxAttribute) { |
||||
|
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
|
||||
|
/// the jQuery Validate validation has three potential rules (one for min-only, one for max-only, and
|
||||
|
/// one for min-and-max). The HTML parameters are expected to be named -min and -max.</summary>
|
||||
|
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
|
||||
|
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
|
||||
|
/// <param name="minRuleName" type="String">The name of the jQuery Validate rule to be used when you only
|
||||
|
/// have a minimum value.</param>
|
||||
|
/// <param name="maxRuleName" type="String">The name of the jQuery Validate rule to be used when you only
|
||||
|
/// have a maximum value.</param>
|
||||
|
/// <param name="minMaxRuleName" type="String">The name of the jQuery Validate rule to be used when you
|
||||
|
/// have both a minimum and maximum value.</param>
|
||||
|
/// <param name="minAttribute" type="String" optional="true">[Optional] The name of the HTML attribute that
|
||||
|
/// contains the minimum value. The default is "min".</param>
|
||||
|
/// <param name="maxAttribute" type="String" optional="true">[Optional] The name of the HTML attribute that
|
||||
|
/// contains the maximum value. The default is "max".</param>
|
||||
|
/// <returns type="jQuery.validator.unobtrusive.adapters" />
|
||||
|
return this.add(adapterName, [minAttribute || "min", maxAttribute || "max"], function (options) { |
||||
|
var min = options.params.min, |
||||
|
max = options.params.max; |
||||
|
|
||||
|
if (min && max) { |
||||
|
setValidationValues(options, minMaxRuleName, [min, max]); |
||||
|
} |
||||
|
else if (min) { |
||||
|
setValidationValues(options, minRuleName, min); |
||||
|
} |
||||
|
else if (max) { |
||||
|
setValidationValues(options, maxRuleName, max); |
||||
|
} |
||||
|
}); |
||||
|
}; |
||||
|
|
||||
|
adapters.addSingleVal = function (adapterName, attribute, ruleName) { |
||||
|
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
|
||||
|
/// the jQuery Validate validation rule has a single value.</summary>
|
||||
|
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
|
||||
|
/// in the data-val-nnnn HTML attribute(where nnnn is the adapter name).</param>
|
||||
|
/// <param name="attribute" type="String">[Optional] The name of the HTML attribute that contains the value.
|
||||
|
/// The default is "val".</param>
|
||||
|
/// <param name="ruleName" type="String" optional="true">[Optional] The name of the jQuery Validate rule. If not provided, the value
|
||||
|
/// of adapterName will be used instead.</param>
|
||||
|
/// <returns type="jQuery.validator.unobtrusive.adapters" />
|
||||
|
return this.add(adapterName, [attribute || "val"], function (options) { |
||||
|
setValidationValues(options, ruleName || adapterName, options.params[attribute]); |
||||
|
}); |
||||
|
}; |
||||
|
|
||||
|
$jQval.addMethod("__dummy__", function (value, element, params) { |
||||
|
return true; |
||||
|
}); |
||||
|
|
||||
|
$jQval.addMethod("regex", function (value, element, params) { |
||||
|
var match; |
||||
|
if (this.optional(element)) { |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
match = new RegExp(params).exec(value); |
||||
|
return (match && (match.index === 0) && (match[0].length === value.length)); |
||||
|
}); |
||||
|
|
||||
|
$jQval.addMethod("nonalphamin", function (value, element, nonalphamin) { |
||||
|
var match; |
||||
|
if (nonalphamin) { |
||||
|
match = value.match(/\W/g); |
||||
|
match = match && match.length >= nonalphamin; |
||||
|
} |
||||
|
return match; |
||||
|
}); |
||||
|
|
||||
|
if ($jQval.methods.extension) { |
||||
|
adapters.addSingleVal("accept", "mimtype"); |
||||
|
adapters.addSingleVal("extension", "extension"); |
||||
|
} else { |
||||
|
// for backward compatibility, when the 'extension' validation method does not exist, such as with versions
|
||||
|
// of JQuery Validation plugin prior to 1.10, we should use the 'accept' method for
|
||||
|
// validating the extension, and ignore mime-type validations as they are not supported.
|
||||
|
adapters.addSingleVal("extension", "extension", "accept"); |
||||
|
} |
||||
|
|
||||
|
adapters.addSingleVal("regex", "pattern"); |
||||
|
adapters.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url"); |
||||
|
adapters.addMinMax("length", "minlength", "maxlength", "rangelength").addMinMax("range", "min", "max", "range"); |
||||
|
adapters.addMinMax("minlength", "minlength").addMinMax("maxlength", "minlength", "maxlength"); |
||||
|
adapters.add("equalto", ["other"], function (options) { |
||||
|
var prefix = getModelPrefix(options.element.name), |
||||
|
other = options.params.other, |
||||
|
fullOtherName = appendModelPrefix(other, prefix), |
||||
|
element = $(options.form).find(":input").filter("[name='" + escapeAttributeValue(fullOtherName) + "']")[0]; |
||||
|
|
||||
|
setValidationValues(options, "equalTo", element); |
||||
|
}); |
||||
|
adapters.add("required", function (options) { |
||||
|
// jQuery Validate equates "required" with "mandatory" for checkbox elements
|
||||
|
if (options.element.tagName.toUpperCase() !== "INPUT" || options.element.type.toUpperCase() !== "CHECKBOX") { |
||||
|
setValidationValues(options, "required", true); |
||||
|
} |
||||
|
}); |
||||
|
adapters.add("remote", ["url", "type", "additionalfields"], function (options) { |
||||
|
var value = { |
||||
|
url: options.params.url, |
||||
|
type: options.params.type || "GET", |
||||
|
data: {} |
||||
|
}, |
||||
|
prefix = getModelPrefix(options.element.name); |
||||
|
|
||||
|
$.each(splitAndTrim(options.params.additionalfields || options.element.name), function (i, fieldName) { |
||||
|
var paramName = appendModelPrefix(fieldName, prefix); |
||||
|
value.data[paramName] = function () { |
||||
|
var field = $(options.form).find(":input").filter("[name='" + escapeAttributeValue(paramName) + "']"); |
||||
|
// For checkboxes and radio buttons, only pick up values from checked fields.
|
||||
|
if (field.is(":checkbox")) { |
||||
|
return field.filter(":checked").val() || field.filter(":hidden").val() || ''; |
||||
|
} |
||||
|
else if (field.is(":radio")) { |
||||
|
return field.filter(":checked").val() || ''; |
||||
|
} |
||||
|
return field.val(); |
||||
|
}; |
||||
|
}); |
||||
|
|
||||
|
setValidationValues(options, "remote", value); |
||||
|
}); |
||||
|
adapters.add("password", ["min", "nonalphamin", "regex"], function (options) { |
||||
|
if (options.params.min) { |
||||
|
setValidationValues(options, "minlength", options.params.min); |
||||
|
} |
||||
|
if (options.params.nonalphamin) { |
||||
|
setValidationValues(options, "nonalphamin", options.params.nonalphamin); |
||||
|
} |
||||
|
if (options.params.regex) { |
||||
|
setValidationValues(options, "regex", options.params.regex); |
||||
|
} |
||||
|
}); |
||||
|
adapters.add("fileextensions", ["extensions"], function (options) { |
||||
|
setValidationValues(options, "extension", options.params.extensions); |
||||
|
}); |
||||
|
|
||||
|
$(function () { |
||||
|
$jQval.unobtrusive.parse(document); |
||||
|
}); |
||||
|
|
||||
|
return $jQval.unobtrusive; |
||||
|
})); |
||||
|
|
||||
|
// SIG // Begin signature block
|
||||
|
// SIG // MIIjkAYJKoZIhvcNAQcCoIIjgTCCI30CAQExDzANBglg
|
||||
|
// SIG // hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor
|
||||
|
// SIG // BgEEAYI3AgEeMCQCAQEEEBDgyQbOONQRoqMAEEvTUJAC
|
||||
|
// SIG // AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg
|
||||
|
// SIG // HzBDmTBE+vPkBBdSH7wHk55TtOtFpw5ky2pRvfu2JCag
|
||||
|
// SIG // gg2BMIIF/zCCA+egAwIBAgITMwAAAYdyF3IVWUDHCQAA
|
||||
|
// SIG // AAABhzANBgkqhkiG9w0BAQsFADB+MQswCQYDVQQGEwJV
|
||||
|
// SIG // UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
|
||||
|
// SIG // UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv
|
||||
|
// SIG // cmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQgQ29kZSBT
|
||||
|
// SIG // aWduaW5nIFBDQSAyMDExMB4XDTIwMDMwNDE4Mzk0N1oX
|
||||
|
// SIG // DTIxMDMwMzE4Mzk0N1owdDELMAkGA1UEBhMCVVMxEzAR
|
||||
|
// SIG // BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v
|
||||
|
// SIG // bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
|
||||
|
// SIG // bjEeMBwGA1UEAxMVTWljcm9zb2Z0IENvcnBvcmF0aW9u
|
||||
|
// SIG // MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
|
||||
|
// SIG // zrfJC3Oz90+zCiIaLmB3sDBZp6vAMruxToWQkGm1cAad
|
||||
|
// SIG // lUuFsgdkHuE0AU/Ggc5wDQxD4xyjXT0/F8+XDWpYulx3
|
||||
|
// SIG // n0vIv1l7RdL0rD/DRL+pgR7gNqdX8NsAfxdHR7Cdxn2e
|
||||
|
// SIG // XNLDyY5JbImKj8OfcSeeJDPdSDoIjtjlM4zQJYz4m4wl
|
||||
|
// SIG // nx+1M0NUzx3OHcHopbPBhCK2wUW+yFsIjmy9do1k+GIe
|
||||
|
// SIG // 9TUILyfRZ+vlIQ/cdrpN3S4/OL8LdTbhUIrSicSFdH1b
|
||||
|
// SIG // ETUd2m0FTi6qQ7oG69EszS+qPMczhy+Tl4hhsIOnpIlw
|
||||
|
// SIG // Nf9l12O8lRXN/bZXnQ7WY0ozW3sdc88ElwIDAQABo4IB
|
||||
|
// SIG // fjCCAXowHwYDVR0lBBgwFgYKKwYBBAGCN0wIAQYIKwYB
|
||||
|
// SIG // BQUHAwMwHQYDVR0OBBYEFIaL+GcjvemsZCXTI6c7ts1V
|
||||
|
// SIG // ziXLMFAGA1UdEQRJMEekRTBDMSkwJwYDVQQLEyBNaWNy
|
||||
|
// SIG // b3NvZnQgT3BlcmF0aW9ucyBQdWVydG8gUmljbzEWMBQG
|
||||
|
// SIG // A1UEBRMNMjMwMDEyKzQ1ODM4NTAfBgNVHSMEGDAWgBRI
|
||||
|
// SIG // bmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmg
|
||||
|
// SIG // R6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtp
|
||||
|
// SIG // b3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDct
|
||||
|
// SIG // MDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcw
|
||||
|
// SIG // AoZFaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9w
|
||||
|
// SIG // cy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDct
|
||||
|
// SIG // MDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEL
|
||||
|
// SIG // BQADggIBAIsZskuhOr6a1g/ShTSAfRuc8jLiI2QDrlCd
|
||||
|
// SIG // RCv1ZYOhW92R1441MAEyiHF2xbhQulq+Cja1OA2P7AVa
|
||||
|
// SIG // pmm+QAv43t26VKY7caRMqlKrT3N9MBIP6zvb5ipqiqCz
|
||||
|
// SIG // 09+7L3NjVQZhjZfvOajuH1f8OwseydAW6pNfSnETXY7e
|
||||
|
// SIG // niqE50zxwR5VR0CB2aTMWnGxTgJCa6gFZGGXc+4pDV08
|
||||
|
// SIG // VfhkW9+rQuAcjDcRNgxe7xXb2omT9AlWeQcidoAIVzHS
|
||||
|
// SIG // vfrrMc1ZPdd6inXtTgLlnb/q53apACJvH1JUZ6+LGkgo
|
||||
|
// SIG // O3CG1MAgn9desFCexLiQ4NLx3soZwnh5wW8h90WZBxIt
|
||||
|
// SIG // qH5n4JxSEiWQ3TAHlWRlTodtCaedFwc6qJKT83mes3Nf
|
||||
|
// SIG // 4MiCzcolYBPkT5I51ELIXdX9TzIJ97Z7Ngs+2yYlVGqh
|
||||
|
// SIG // Dt5/akRYMuSbi2nulMHhnwHjqN3YC2cYpCs2LN4QzGhL
|
||||
|
// SIG // SavCD+9XF+0F3upZzJl1Px3X89qfPe2XfpFPr2byiN3M
|
||||
|
// SIG // C37lUICtkWds/inNyt3UT89q18nCuVwrkWZrxmm/1m62
|
||||
|
// SIG // Ygu8CUGqYAaHZbTCORjHRawYPSHhe/6z+BKlUF3irXr0
|
||||
|
// SIG // 5WV46bjYYY7kftgzLf3Vrn416YlvdW6N2h+hGozgC15q
|
||||
|
// SIG // MYJbQqdSu4a0uoJrL4/eHC0X+dEEOFPEMIIHejCCBWKg
|
||||
|
// SIG // AwIBAgIKYQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCB
|
||||
|
// SIG // iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
|
||||
|
// SIG // b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p
|
||||
|
// SIG // Y3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWlj
|
||||
|
// SIG // cm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
|
||||
|
// SIG // IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw
|
||||
|
// SIG // OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz
|
||||
|
// SIG // aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE
|
||||
|
// SIG // ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQD
|
||||
|
// SIG // Ex9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDEx
|
||||
|
// SIG // MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA
|
||||
|
// SIG // q/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4Bjga
|
||||
|
// SIG // BEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSH
|
||||
|
// SIG // fpRgJGyvnkmc6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpg
|
||||
|
// SIG // GgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpc
|
||||
|
// SIG // oRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnn
|
||||
|
// SIG // Db6gE3e+lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD
|
||||
|
// SIG // 2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLT
|
||||
|
// SIG // swM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOE
|
||||
|
// SIG // y/S6A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2
|
||||
|
// SIG // z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k
|
||||
|
// SIG // A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL
|
||||
|
// SIG // 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uD
|
||||
|
// SIG // jexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmnEyim
|
||||
|
// SIG // p31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8Hh
|
||||
|
// SIG // hUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX
|
||||
|
// SIG // 3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0wggHpMBAG
|
||||
|
// SIG // CSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXT
|
||||
|
// SIG // gqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMA
|
||||
|
// SIG // dQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw
|
||||
|
// SIG // AwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx
|
||||
|
// SIG // 0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3Js
|
||||
|
// SIG // Lm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9N
|
||||
|
// SIG // aWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4G
|
||||
|
// SIG // CCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDov
|
||||
|
// SIG // L3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNS
|
||||
|
// SIG // b29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV
|
||||
|
// SIG // HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF
|
||||
|
// SIG // BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3Br
|
||||
|
// SIG // aW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsGAQUF
|
||||
|
// SIG // BwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5
|
||||
|
// SIG // AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3
|
||||
|
// SIG // DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKbC5YR4WOS
|
||||
|
// SIG // mUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np
|
||||
|
// SIG // 22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r
|
||||
|
// SIG // 4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6I/MTfaaQdION
|
||||
|
// SIG // 9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWlu
|
||||
|
// SIG // WpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiX
|
||||
|
// SIG // mE0OPQvyCInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ
|
||||
|
// SIG // 2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNA
|
||||
|
// SIG // BQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPD
|
||||
|
// SIG // XVJihsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yH
|
||||
|
// SIG // PgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah
|
||||
|
// SIG // XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS
|
||||
|
// SIG // oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5
|
||||
|
// SIG // GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33VtY5E9
|
||||
|
// SIG // 0Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZO
|
||||
|
// SIG // SEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCFWcw
|
||||
|
// SIG // ghVjAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQI
|
||||
|
// SIG // EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w
|
||||
|
// SIG // HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAm
|
||||
|
// SIG // BgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENB
|
||||
|
// SIG // IDIwMTECEzMAAAGHchdyFVlAxwkAAAAAAYcwDQYJYIZI
|
||||
|
// SIG // AWUDBAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQB
|
||||
|
// SIG // gjcCAQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcC
|
||||
|
// SIG // ARUwLwYJKoZIhvcNAQkEMSIEIHlrK/AUXnPsvbSO3EMY
|
||||
|
// SIG // ThwAygU5hNCwZzIvPmOVGSyfMEIGCisGAQQBgjcCAQwx
|
||||
|
// SIG // NDAyoBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRw
|
||||
|
// SIG // Oi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEB
|
||||
|
// SIG // BQAEggEAfWhrNK5UMPsIinBbBfs76p9/lCvnDoU9MxQ3
|
||||
|
// SIG // BoYmnl74D1L7AN9ZvfJ8FSv69Ih25svUpfVMs+LYYylj
|
||||
|
// SIG // uva5cAAi8Nn172jry4csRwQivnP2apHQAzN4yBxxZkxX
|
||||
|
// SIG // vjoll/XFlSZHRWVAFcyC8nerixsaFSEZYXOxOSZZTLZN
|
||||
|
// SIG // D9AJMYtZXp/jHXPtyv9eOJrb5twLWJc8Jtu6j+NX0I1x
|
||||
|
// SIG // vSvztKjvMv6EuPHs/j4RUyEx5qUvpHv6tpSy9G1HUbp3
|
||||
|
// SIG // V7Sb7P/6BSzJ0Ulj9TFTvb2rAvf+930HYQwqvmvBX1sj
|
||||
|
// SIG // ivOJEh2LHN8YKorTqkTLNILgjJri2IGbhPLP2MyWyaGC
|
||||
|
// SIG // EvEwghLtBgorBgEEAYI3AwMBMYIS3TCCEtkGCSqGSIb3
|
||||
|
// SIG // DQEHAqCCEsowghLGAgEDMQ8wDQYJYIZIAWUDBAIBBQAw
|
||||
|
// SIG // ggFVBgsqhkiG9w0BCRABBKCCAUQEggFAMIIBPAIBAQYK
|
||||
|
// SIG // KwYBBAGEWQoDATAxMA0GCWCGSAFlAwQCAQUABCDUEWv8
|
||||
|
// SIG // jgyxhrEplrjn+1rlBFI1VrIsjyBaPgKUKwtKJwIGX9uZ
|
||||
|
// SIG // c7FpGBMyMDIxMDExMjE4Mzg0My41NjRaMASAAgH0oIHU
|
||||
|
// SIG // pIHRMIHOMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz
|
||||
|
// SIG // aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE
|
||||
|
// SIG // ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSkwJwYDVQQL
|
||||
|
// SIG // EyBNaWNyb3NvZnQgT3BlcmF0aW9ucyBQdWVydG8gUmlj
|
||||
|
// SIG // bzEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046ODk3QS1F
|
||||
|
// SIG // MzU2LTE3MDExJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1l
|
||||
|
// SIG // LVN0YW1wIFNlcnZpY2Wggg5EMIIE9TCCA92gAwIBAgIT
|
||||
|
// SIG // MwAAASwir0WXdfkb7gAAAAABLDANBgkqhkiG9w0BAQsF
|
||||
|
// SIG // ADB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu
|
||||
|
// SIG // Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV
|
||||
|
// SIG // TWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1N
|
||||
|
// SIG // aWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDAeFw0x
|
||||
|
// SIG // OTEyMTkwMTE1MDNaFw0yMTAzMTcwMTE1MDNaMIHOMQsw
|
||||
|
// SIG // CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ
|
||||
|
// SIG // MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z
|
||||
|
// SIG // b2Z0IENvcnBvcmF0aW9uMSkwJwYDVQQLEyBNaWNyb3Nv
|
||||
|
// SIG // ZnQgT3BlcmF0aW9ucyBQdWVydG8gUmljbzEmMCQGA1UE
|
||||
|
// SIG // CxMdVGhhbGVzIFRTUyBFU046ODk3QS1FMzU2LTE3MDEx
|
||||
|
// SIG // JTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNl
|
||||
|
// SIG // cnZpY2UwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
|
||||
|
// SIG // AoIBAQDytc4EkqvjMQGKN6qQrUA8UjDzycuppv8HxCTY
|
||||
|
// SIG // zVJ2LSxQcJdQVEubaxJP7eNZXcSEynobPgAcWKqOEMbI
|
||||
|
// SIG // NxstboCosBwJ2IonpHwvmYabTRYLZw2SJ+OcwtAJVa/+
|
||||
|
// SIG // lHy7bC3BwodVxJS1B3xAtJwbkHDP0qWKPXt5damOTXTI
|
||||
|
// SIG // AxsQrJginYmX2FyLvlNFGCAYXc5kh5wd38WTgVXK+YbR
|
||||
|
// SIG // RxAQTbf6xSZZvwOMm/KAbKflH9KeUMJjv2wnHagdeSac
|
||||
|
// SIG // pToWZlrNLFHySpSvRKwIQcBpItniERSrEAXZF0vT1qRd
|
||||
|
// SIG // cNoCCUb0pAxGgn/pWxkz3Usx0m30RFjhfcGN4mI/AgMB
|
||||
|
// SIG // AAGjggEbMIIBFzAdBgNVHQ4EFgQUUWoWUhn6wkIQsiMh
|
||||
|
// SIG // h/Q5Imluy9MwHwYDVR0jBBgwFoAU1WM6XIoxkPNDe3xG
|
||||
|
// SIG // G8UzaFqFbVUwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDov
|
||||
|
// SIG // L2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVj
|
||||
|
// SIG // dHMvTWljVGltU3RhUENBXzIwMTAtMDctMDEuY3JsMFoG
|
||||
|
// SIG // CCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0cDov
|
||||
|
// SIG // L3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNU
|
||||
|
// SIG // aW1TdGFQQ0FfMjAxMC0wNy0wMS5jcnQwDAYDVR0TAQH/
|
||||
|
// SIG // BAIwADATBgNVHSUEDDAKBggrBgEFBQcDCDANBgkqhkiG
|
||||
|
// SIG // 9w0BAQsFAAOCAQEATxcRyMIuLwB+PcPUr5s+it7TOeUZ
|
||||
|
// SIG // VuaT3lC13brdkasumLNPlaWbG7mhKMbOmdQt4TG5IqmR
|
||||
|
// SIG // cccpbcSabh08hk4Otc3zSBeZ+kbGBd7OyBJQ1zX2c5xd
|
||||
|
// SIG // f9olnOrkT2SvK8cVCf+3pmF2QmMLlGNF47AqT/aW0USn
|
||||
|
// SIG // iYuq+Wq0siPjXysb4KDNtSTbdQXHZV7gHnHXf5PFI8Qr
|
||||
|
// SIG // HH32p6Ctp+ixcNT3GZRDuzSHe6PrKDNgtEGOQWHYIaZ+
|
||||
|
// SIG // 7qqKQeoschSCJA1xbm/tROxpgBMH1OlcBBy+8vazRPG3
|
||||
|
// SIG // fia0LPsgLZJB8vRZl4Pz7BqtXWlc19UqOwiep8qYabh0
|
||||
|
// SIG // jd1X0zCCBnEwggRZoAMCAQICCmEJgSoAAAAAAAIwDQYJ
|
||||
|
// SIG // KoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYD
|
||||
|
// SIG // VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k
|
||||
|
// SIG // MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x
|
||||
|
// SIG // MjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmlj
|
||||
|
// SIG // YXRlIEF1dGhvcml0eSAyMDEwMB4XDTEwMDcwMTIxMzY1
|
||||
|
// SIG // NVoXDTI1MDcwMTIxNDY1NVowfDELMAkGA1UEBhMCVVMx
|
||||
|
// SIG // EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl
|
||||
|
// SIG // ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
|
||||
|
// SIG // dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3Rh
|
||||
|
// SIG // bXAgUENBIDIwMTAwggEiMA0GCSqGSIb3DQEBAQUAA4IB
|
||||
|
// SIG // DwAwggEKAoIBAQCpHQ28dxGKOiDs/BOX9fp/aZRrdFQQ
|
||||
|
// SIG // 1aUKAIKF++18aEssX8XD5WHCdrc+Zitb8BVTJwQxH0Eb
|
||||
|
// SIG // GpUdzgkTjnxhMFmxMEQP8WCIhFRDDNdNuDgIs0Ldk6zW
|
||||
|
// SIG // czBXJoKjRQ3Q6vVHgc2/JGAyWGBG8lhHhjKEHnRhZ5Ff
|
||||
|
// SIG // gVSxz5NMksHEpl3RYRNuKMYa+YaAu99h/EbBJx0kZxJy
|
||||
|
// SIG // GiGKr0tkiVBisV39dx898Fd1rL2KQk1AUdEPnAY+Z3/1
|
||||
|
// SIG // ZsADlkR+79BL/W7lmsqxqPJ6Kgox8NpOBpG2iAg16Hgc
|
||||
|
// SIG // sOmZzTznL0S6p/TcZL2kAcEgCZN4zfy8wMlEXV4WnAEF
|
||||
|
// SIG // TyJNAgMBAAGjggHmMIIB4jAQBgkrBgEEAYI3FQEEAwIB
|
||||
|
// SIG // ADAdBgNVHQ4EFgQU1WM6XIoxkPNDe3xGG8UzaFqFbVUw
|
||||
|
// SIG // GQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P
|
||||
|
// SIG // BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgw
|
||||
|
// SIG // FoAU1fZWy4/oolxiaNE9lJBb186aGMQwVgYDVR0fBE8w
|
||||
|
// SIG // TTBLoEmgR4ZFaHR0cDovL2NybC5taWNyb3NvZnQuY29t
|
||||
|
// SIG // L3BraS9jcmwvcHJvZHVjdHMvTWljUm9vQ2VyQXV0XzIw
|
||||
|
// SIG // MTAtMDYtMjMuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggr
|
||||
|
// SIG // BgEFBQcwAoY+aHR0cDovL3d3dy5taWNyb3NvZnQuY29t
|
||||
|
// SIG // L3BraS9jZXJ0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0y
|
||||
|
// SIG // My5jcnQwgaAGA1UdIAEB/wSBlTCBkjCBjwYJKwYBBAGC
|
||||
|
// SIG // Ny4DMIGBMD0GCCsGAQUFBwIBFjFodHRwOi8vd3d3Lm1p
|
||||
|
// SIG // Y3Jvc29mdC5jb20vUEtJL2RvY3MvQ1BTL2RlZmF1bHQu
|
||||
|
// SIG // aHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABf
|
||||
|
// SIG // AFAAbwBsAGkAYwB5AF8AUwB0AGEAdABlAG0AZQBuAHQA
|
||||
|
// SIG // LiAdMA0GCSqGSIb3DQEBCwUAA4ICAQAH5ohRDeLG4Jg/
|
||||
|
// SIG // gXEDPZ2joSFvs+umzPUxvs8F4qn++ldtGTCzwsVmyWrf
|
||||
|
// SIG // 9efweL3HqJ4l4/m87WtUVwgrUYJEEvu5U4zM9GASinbM
|
||||
|
// SIG // QEBBm9xcF/9c+V4XNZgkVkt070IQyK+/f8Z/8jd9Wj8c
|
||||
|
// SIG // 8pl5SpFSAK84Dxf1L3mBZdmptWvkx872ynoAb0swRCQi
|
||||
|
// SIG // PM/tA6WWj1kpvLb9BOFwnzJKJ/1Vry/+tuWOM7tiX5rb
|
||||
|
// SIG // V0Dp8c6ZZpCM/2pif93FSguRJuI57BlKcWOdeyFtw5yj
|
||||
|
// SIG // ojz6f32WapB4pm3S4Zz5Hfw42JT0xqUKloakvZ4argRC
|
||||
|
// SIG // g7i1gJsiOCC1JeVk7Pf0v35jWSUPei45V3aicaoGig+J
|
||||
|
// SIG // FrphpxHLmtgOR5qAxdDNp9DvfYPw4TtxCd9ddJgiCGHa
|
||||
|
// SIG // sFAeb73x4QDf5zEHpJM692VHeOj4qEir995yfmFrb3ep
|
||||
|
// SIG // gcunCaw5u+zGy9iCtHLNHfS4hQEegPsbiSpUObJb2sgN
|
||||
|
// SIG // VZl6h3M7COaYLeqN4DMuEin1wC9UJyH3yKxO2ii4sanb
|
||||
|
// SIG // lrKnQqLJzxlBTeCG+SqaoxFmMNO7dDJL32N79ZmKLxvH
|
||||
|
// SIG // Ia9Zta7cRDyXUHHXodLFVeNp3lfB0d4wwP3M5k37Db9d
|
||||
|
// SIG // T+mdHhk4L7zPWAUu7w2gUDXa7wknHNWzfjUeCLraNtvT
|
||||
|
// SIG // X4/edIhJEqGCAtIwggI7AgEBMIH8oYHUpIHRMIHOMQsw
|
||||
|
// SIG // CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ
|
||||
|
// SIG // MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z
|
||||
|
// SIG // b2Z0IENvcnBvcmF0aW9uMSkwJwYDVQQLEyBNaWNyb3Nv
|
||||
|
// SIG // ZnQgT3BlcmF0aW9ucyBQdWVydG8gUmljbzEmMCQGA1UE
|
||||
|
// SIG // CxMdVGhhbGVzIFRTUyBFU046ODk3QS1FMzU2LTE3MDEx
|
||||
|
// SIG // JTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNl
|
||||
|
// SIG // cnZpY2WiIwoBATAHBgUrDgMCGgMVAAxOTikjKDcf5mMW
|
||||
|
// SIG // FmqdUUzqIWydoIGDMIGApH4wfDELMAkGA1UEBhMCVVMx
|
||||
|
// SIG // EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl
|
||||
|
// SIG // ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
|
||||
|
// SIG // dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3Rh
|
||||
|
// SIG // bXAgUENBIDIwMTAwDQYJKoZIhvcNAQEFBQACBQDjqF4k
|
||||
|
// SIG // MCIYDzIwMjEwMTEyMjE0MzAwWhgPMjAyMTAxMTMyMTQz
|
||||
|
// SIG // MDBaMHcwPQYKKwYBBAGEWQoEATEvMC0wCgIFAOOoXiQC
|
||||
|
// SIG // AQAwCgIBAAICKKECAf8wBwIBAAICEakwCgIFAOOpr6QC
|
||||
|
// SIG // AQAwNgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoD
|
||||
|
// SIG // AqAKMAgCAQACAwehIKEKMAgCAQACAwGGoDANBgkqhkiG
|
||||
|
// SIG // 9w0BAQUFAAOBgQB9vt+KUK8D5JoEH1g3Vo/tAvTDQ7Qp
|
||||
|
// SIG // fdUZkmHSmwJz70P2hEU7gircglCaa0dRor5TnVyNtmoh
|
||||
|
// SIG // bbMBogAm4BAJK35zpNA3rcVUPnZr/wYyeKQ3A/YMZdog
|
||||
|
// SIG // e8mvhtgJRpEs+93B4H0iN9dY58dggzVV/1v3Z+mTuIzR
|
||||
|
// SIG // D2Kug21FHDGCAw0wggMJAgEBMIGTMHwxCzAJBgNVBAYT
|
||||
|
// SIG // AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH
|
||||
|
// SIG // EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y
|
||||
|
// SIG // cG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1l
|
||||
|
// SIG // LVN0YW1wIFBDQSAyMDEwAhMzAAABLCKvRZd1+RvuAAAA
|
||||
|
// SIG // AAEsMA0GCWCGSAFlAwQCAQUAoIIBSjAaBgkqhkiG9w0B
|
||||
|
// SIG // CQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIE
|
||||
|
// SIG // IMym1vQyDSwFW5JfizxucPivNGBd3VBNj94tWH2S3HSd
|
||||
|
// SIG // MIH6BgsqhkiG9w0BCRACLzGB6jCB5zCB5DCBvQQgW5/9
|
||||
|
// SIG // LhRYeNoUzOVzqCnV3rwWoksZmCvSJXJ/Z7uWR+EwgZgw
|
||||
|
// SIG // gYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz
|
||||
|
// SIG // aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE
|
||||
|
// SIG // ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD
|
||||
|
// SIG // Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAIT
|
||||
|
// SIG // MwAAASwir0WXdfkb7gAAAAABLDAiBCCo/6gf7+t5bNQS
|
||||
|
// SIG // IgbHMkW3KFQ4Ad0UIMVgw/5FNlH6qzANBgkqhkiG9w0B
|
||||
|
// SIG // AQsFAASCAQDDznFwos0rjb14Y81eCTcxZNLGLmB8wPt/
|
||||
|
// SIG // OU4XGK4MCY7OmSAItIxSJ4n5VVVqETUwp1peDW/xeJ9h
|
||||
|
// SIG // YxwIdNZeAGkBEj8394fDrcQoA/0eZSUNgIKbqZkGZuwN
|
||||
|
// SIG // oKqpBnmYbAJB2s4ylhpUfZPA6hKt1opRJv14aBNuBFKo
|
||||
|
// SIG // oSRcFRyXDYPUWvGWgKdlHtB9RF/iwnEx599MHNlujYPr
|
||||
|
// SIG // sTNjze3i3h3C5/KXaFhdCztq5NnkEC7NG1PRAz5CNqWw
|
||||
|
// SIG // Ru6mkXVlAnfzkL22DvJ7kXyEb9MHZx/Y2na63ATzOnVU
|
||||
|
// SIG // izGQC1BmAkB/Q4J8RHTVmCIDSOiZoFO3QAzPKzZXVyr2
|
||||
|
// SIG // End signature block
|
||||
283
Scripts/jquery.validate.unobtrusive.min.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1406
Scripts/modernizr-2.8.3.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,71 @@ |
|||||
|
@model RegistrationForm.Models.Employ_Table |
||||
|
|
||||
|
@{ |
||||
|
ViewBag.Title = "Index"; |
||||
|
Layout = null; |
||||
|
} |
||||
|
|
||||
|
<!DOCTYPE html> |
||||
|
<html lang="ko"> |
||||
|
<head> |
||||
|
<title> 회원가입 </title> |
||||
|
<meta name="viewport" content="width=device-width" /> |
||||
|
</head> |
||||
|
<body> |
||||
|
@using (Html.BeginForm()) |
||||
|
{ |
||||
|
@Html.AntiForgeryToken() |
||||
|
|
||||
|
<div class="form-horizontal"> |
||||
|
<h4>회원가입 페이지 입니다.</h4> |
||||
|
<hr/> |
||||
|
@Html.ValidationSummary(true, "", new { @class = "text-danger" }) |
||||
|
<div class="form-group"> |
||||
|
|
||||
|
@Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" }) |
||||
|
<div class="col-md-10"> |
||||
|
@Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } }) |
||||
|
@Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" }) |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="form-group"> |
||||
|
@Html.LabelFor(model => model.EmployNum, htmlAttributes: new { @class = "control-label col-md-2" }) |
||||
|
<div class="col-md-10"> |
||||
|
@Html.EditorFor(model => model.EmployNum, new { htmlAttributes = new { @class = "form-control" } }) |
||||
|
@Html.ValidationMessageFor(model => model.EmployNum, "", new { @class = "text-danger" }) |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="form-group"> |
||||
|
@Html.LabelFor(model => model.Password, htmlAttributes: new { @class = "control-label col-md-2" }) |
||||
|
<div class="col-md-10"> |
||||
|
@Html.EditorFor(model => model.Password, new { htmlAttributes = new { @class = "form-control" } }) |
||||
|
@Html.ValidationMessageFor(model => model.Password, "", new { @class = "text-danger" }) |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="form-group"> |
||||
|
<div class="col-md-offset-2 col-md-10"> |
||||
|
<input id="create" type="submit" value="Create" class="btn btn-default" /> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
} |
||||
|
<style> |
||||
|
#create{ |
||||
|
background-color : lightcyan; |
||||
|
border-color : black; |
||||
|
border-width : 3px; |
||||
|
} |
||||
|
</style> |
||||
|
|
||||
|
<div> |
||||
|
@Html.ActionLink("Back to List", "Main") |
||||
|
</div> |
||||
|
|
||||
|
@section Scripts { |
||||
|
@Scripts.Render("~/bundles/jqueryval") |
||||
|
} |
||||
|
</body> |
||||
|
</html> |
||||
@ -0,0 +1,47 @@ |
|||||
|
@using RegistrationForm.Models; |
||||
|
@model RegistrationForm.Models.Employ_Table |
||||
|
|
||||
|
@{ |
||||
|
ViewBag.Title = "Login"; |
||||
|
} |
||||
|
|
||||
|
@using (Html.BeginForm("Login", "Home", FormMethod.Post)) |
||||
|
{ |
||||
|
<fieldset> |
||||
|
<legend> 로그인 페이지 입니다. </legend> |
||||
|
|
||||
|
@Html.AntiForgeryToken() |
||||
|
@Html.ValidationSummary(true) |
||||
|
@if (@ViewBag.Message != null) |
||||
|
{ |
||||
|
<div style="border: 1px solid red"> |
||||
|
@ViewBag.Message |
||||
|
</div> |
||||
|
} |
||||
|
<table> |
||||
|
<tr> |
||||
|
<td>@Html.LabelFor(a => a.EmployNum)</td> |
||||
|
<td>@Html.TextBoxFor(a => a.EmployNum)</td> |
||||
|
<td>@Html.ValidationMessageFor(a => a.EmployNum)</td> |
||||
|
</tr> |
||||
|
|
||||
|
<tr> |
||||
|
<td> |
||||
|
@Html.LabelFor(a => a.Password) |
||||
|
</td> |
||||
|
<td> |
||||
|
@Html.PasswordFor(a => a.Password) |
||||
|
</td> |
||||
|
<td> |
||||
|
@Html.ValidationMessageFor(a => a.Password) |
||||
|
</td> |
||||
|
</tr> |
||||
|
|
||||
|
<tr> |
||||
|
<td> |
||||
|
<input type="submit" value="Login" /> |
||||
|
</td> |
||||
|
</tr> |
||||
|
</table> |
||||
|
</fieldset> |
||||
|
} |
||||
@ -0,0 +1,37 @@ |
|||||
|
|
||||
|
@{ |
||||
|
ViewBag.Title = "Main"; |
||||
|
Layout = null; |
||||
|
} |
||||
|
|
||||
|
<!DOCTYPE html> |
||||
|
<html lang="ko"> |
||||
|
<head> |
||||
|
<title> Main Page </title> |
||||
|
<meta http-equiv="content-type" content="text/html;charset=UTF-8" /> |
||||
|
</head> |
||||
|
|
||||
|
<style> |
||||
|
.navbar-brand{ |
||||
|
font-size : 30px; |
||||
|
color : black; |
||||
|
} |
||||
|
</style> |
||||
|
|
||||
|
<body> |
||||
|
<div class="navbar navbar-inverse navbar-fixed-top"> |
||||
|
<div class="container"> |
||||
|
<div class="navbar-header"> |
||||
|
@Html.ActionLink("메인페이지", "Main", "Home", new { area = "" }, new { @class = "navbar-brand" }) |
||||
|
</div> |
||||
|
<div class="navbar-collapse collapse"> |
||||
|
<ul class="nav navbar-nav"> |
||||
|
<li>@Html.ActionLink("회원가입", "Index", "Home")</li> |
||||
|
<li>@Html.ActionLink("로그인", "Login", "Home")</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</body> |
||||
|
</html> |
||||
|
|
||||
@ -0,0 +1,22 @@ |
|||||
|
|
||||
|
@{ |
||||
|
ViewBag.Title = "UserDashBoard"; |
||||
|
Layout = null; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
<legend> @ViewBag.Title </legend> |
||||
|
|
||||
|
|
||||
|
|
||||
|
@if (ViewBag.Name != null) |
||||
|
{ |
||||
|
<p>Welcome!!</p> @ViewBag.Name |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
<p>Empty!!</p> |
||||
|
@ViewBag.Message |
||||
|
} |
||||
|
|
||||
|
@Html.ActionLink("Back to Main", "Main") |
||||
@ -0,0 +1,14 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<html> |
||||
|
<head> |
||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> |
||||
|
<meta name="viewport" content="width=device-width" /> |
||||
|
<title>오류</title> |
||||
|
</head> |
||||
|
<body> |
||||
|
<hgroup> |
||||
|
<h1>오류입니다.</h1> |
||||
|
<h2>요청을 처리하는 동안 오류가 발생했습니다.</h2> |
||||
|
</hgroup> |
||||
|
</body> |
||||
|
</html> |
||||
@ -0,0 +1,43 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<html> |
||||
|
<head> |
||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> |
||||
|
<meta charset="utf-8" /> |
||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
||||
|
<title>@ViewBag.Title - 내 ASP.NET 애플리케이션</title> |
||||
|
@Styles.Render("~/Content/css") |
||||
|
@Scripts.Render("~/bundles/modernizr") |
||||
|
</head> |
||||
|
<body> |
||||
|
<div class="navbar navbar-inverse navbar-fixed-top"> |
||||
|
<div class="container"> |
||||
|
<div class="navbar-header"> |
||||
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> |
||||
|
<span class="icon-bar"></span> |
||||
|
<span class="icon-bar"></span> |
||||
|
<span class="icon-bar"></span> |
||||
|
</button> |
||||
|
@Html.ActionLink("애플리케이션 이름", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" }) |
||||
|
</div> |
||||
|
<div class="navbar-collapse collapse"> |
||||
|
<ul class="nav navbar-nav"> |
||||
|
<li>@Html.ActionLink("Home", "Index", "Home")</li> |
||||
|
<li>@Html.ActionLink("정보", "About", "Home")</li> |
||||
|
<li>@Html.ActionLink("연락처", "Contact", "Home")</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="container body-content"> |
||||
|
@RenderBody() |
||||
|
<hr /> |
||||
|
<footer> |
||||
|
<p>© @DateTime.Now.Year - 내 ASP.NET 애플리케이션</p> |
||||
|
</footer> |
||||
|
</div> |
||||
|
|
||||
|
@Scripts.Render("~/bundles/jquery") |
||||
|
@Scripts.Render("~/bundles/bootstrap") |
||||
|
@RenderSection("scripts", required: false) |
||||
|
</body> |
||||
|
</html> |
||||
@ -0,0 +1,43 @@ |
|||||
|
<?xml version="1.0"?> |
||||
|
|
||||
|
<configuration> |
||||
|
<configSections> |
||||
|
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> |
||||
|
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> |
||||
|
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> |
||||
|
</sectionGroup> |
||||
|
</configSections> |
||||
|
|
||||
|
<system.web.webPages.razor> |
||||
|
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> |
||||
|
<pages pageBaseType="System.Web.Mvc.WebViewPage"> |
||||
|
<namespaces> |
||||
|
<add namespace="System.Web.Mvc" /> |
||||
|
<add namespace="System.Web.Mvc.Ajax" /> |
||||
|
<add namespace="System.Web.Mvc.Html" /> |
||||
|
<add namespace="System.Web.Optimization"/> |
||||
|
<add namespace="System.Web.Routing" /> |
||||
|
<add namespace="RegistrationForm" /> |
||||
|
</namespaces> |
||||
|
</pages> |
||||
|
</system.web.webPages.razor> |
||||
|
|
||||
|
<appSettings> |
||||
|
<add key="webpages:Enabled" value="false" /> |
||||
|
</appSettings> |
||||
|
|
||||
|
<system.webServer> |
||||
|
<handlers> |
||||
|
<remove name="BlockViewHandler"/> |
||||
|
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> |
||||
|
</handlers> |
||||
|
</system.webServer> |
||||
|
|
||||
|
<system.web> |
||||
|
<compilation> |
||||
|
<assemblies> |
||||
|
<add assembly="System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> |
||||
|
</assemblies> |
||||
|
</compilation> |
||||
|
</system.web> |
||||
|
</configuration> |
||||
@ -0,0 +1,3 @@ |
|||||
|
@{ |
||||
|
Layout = "~/Views/Shared/_Layout.cshtml"; |
||||
|
} |
||||
@ -0,0 +1,30 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
|
||||
|
<!-- Web.config 변환 사용에 대한 자세한 내용은 https://go.microsoft.com/fwlink/?LinkId=301874를 참조하세요. --> |
||||
|
|
||||
|
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> |
||||
|
<!-- |
||||
|
아래 예에서, "Match" 로케이터가 "MyDB" 값을 가진 "name" 특성을 |
||||
|
찾은 경우에만 "SetAttributes" 변환에서 "ReleaseSQLServer"를 |
||||
|
사용하도록 "connectionString"의 값을 변경합니다. |
||||
|
|
||||
|
<connectionStrings> |
||||
|
<add name="MyDB" |
||||
|
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True" |
||||
|
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/> |
||||
|
</connectionStrings> |
||||
|
--> |
||||
|
<system.web> |
||||
|
<!-- |
||||
|
아래 예에서 "Replace" 변환은 Web.config 파일의 |
||||
|
<customErrors> 섹션 전체를 바꿉니다. |
||||
|
<system.web> 노드 아래에는 customErrors 섹션이 하나만 있기 때문에 |
||||
|
"xdt:Locator" 특성을 사용할 필요가 없습니다. |
||||
|
|
||||
|
<customErrors defaultRedirect="GenericError.htm" |
||||
|
mode="RemoteOnly" xdt:Transform="Replace"> |
||||
|
<error statusCode="500" redirect="InternalError.htm"/> |
||||
|
</customErrors> |
||||
|
--> |
||||
|
</system.web> |
||||
|
</configuration> |
||||
@ -0,0 +1,31 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
|
||||
|
<!-- Web.config 변환 사용에 대한 자세한 내용은 https://go.microsoft.com/fwlink/?LinkId=301874를 참조하세요. --> |
||||
|
|
||||
|
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> |
||||
|
<!-- |
||||
|
아래 예에서, "Match" 로케이터가 "MyDB" 값을 가진 "name" 특성을 |
||||
|
찾은 경우에만 "SetAttributes" 변환에서 "ReleaseSQLServer"를 |
||||
|
사용하도록 "connectionString"의 값을 변경합니다. |
||||
|
|
||||
|
<connectionStrings> |
||||
|
<add name="MyDB" |
||||
|
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True" |
||||
|
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/> |
||||
|
</connectionStrings> |
||||
|
--> |
||||
|
<system.web> |
||||
|
<compilation xdt:Transform="RemoveAttributes(debug)" /> |
||||
|
<!-- |
||||
|
아래 예에서 "Replace" 변환은 Web.config 파일의 |
||||
|
<customErrors> 섹션 전체를 바꿉니다. |
||||
|
<system.web> 노드 아래에는 customErrors 섹션이 하나만 있기 때문에 |
||||
|
"xdt:Locator" 특성을 사용할 필요가 없습니다. |
||||
|
|
||||
|
<customErrors defaultRedirect="GenericError.htm" |
||||
|
mode="RemoteOnly" xdt:Transform="Replace"> |
||||
|
<error statusCode="500" redirect="InternalError.htm"/> |
||||
|
</customErrors> |
||||
|
--> |
||||
|
</system.web> |
||||
|
</configuration> |
||||
@ -0,0 +1,74 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<!-- |
||||
|
ASP.NET 응용 프로그램을 구성하는 방법에 대한 자세한 내용은 다음을 참조하세요. |
||||
|
https://go.microsoft.com/fwlink/?LinkId=301880 |
||||
|
--> |
||||
|
<configuration> |
||||
|
<configSections> |
||||
|
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> |
||||
|
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> |
||||
|
</configSections> |
||||
|
<connectionStrings> |
||||
|
<add name="EmployerListEntities" |
||||
|
connectionString="metadata=res://*/Models.EmployerListModel.csdl|res://*/Models.EmployerListModel.ssdl|res://*/Models.EmployerListModel.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=TestDB;user id=test;password=1234;MultipleActiveResultSets=True;App=EntityFramework"" |
||||
|
providerName="System.Data.EntityClient" /> |
||||
|
</connectionStrings> |
||||
|
<appSettings> |
||||
|
<add key="webpages:Version" value="3.0.0.0" /> |
||||
|
<add key="webpages:Enabled" value="false" /> |
||||
|
<add key="ClientValidationEnabled" value="true" /> |
||||
|
<add key="UnobtrusiveJavaScriptEnabled" value="true" /> |
||||
|
</appSettings> |
||||
|
<system.web> |
||||
|
<compilation debug="true" targetFramework="4.7.1" /> |
||||
|
<httpRuntime targetFramework="4.7.1" /> |
||||
|
</system.web> |
||||
|
<runtime> |
||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> |
||||
|
<dependentAssembly> |
||||
|
<assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" /> |
||||
|
<bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" /> |
||||
|
</dependentAssembly> |
||||
|
<dependentAssembly> |
||||
|
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" /> |
||||
|
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" /> |
||||
|
</dependentAssembly> |
||||
|
<dependentAssembly> |
||||
|
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" /> |
||||
|
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" /> |
||||
|
</dependentAssembly> |
||||
|
<dependentAssembly> |
||||
|
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" /> |
||||
|
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" /> |
||||
|
</dependentAssembly> |
||||
|
<dependentAssembly> |
||||
|
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /> |
||||
|
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> |
||||
|
</dependentAssembly> |
||||
|
<dependentAssembly> |
||||
|
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /> |
||||
|
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> |
||||
|
</dependentAssembly> |
||||
|
<dependentAssembly> |
||||
|
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> |
||||
|
<bindingRedirect oldVersion="1.0.0.0-5.2.7.0" newVersion="5.2.7.0" /> |
||||
|
</dependentAssembly> |
||||
|
</assemblyBinding> |
||||
|
</runtime> |
||||
|
<entityFramework> |
||||
|
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> |
||||
|
<parameters> |
||||
|
<parameter value="v15.0" /> |
||||
|
</parameters> |
||||
|
</defaultConnectionFactory> |
||||
|
<providers> |
||||
|
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> |
||||
|
</providers> |
||||
|
</entityFramework> |
||||
|
<system.codedom> |
||||
|
<compilers> |
||||
|
<compiler extension=".cs" language="c#;cs;csharp" warningLevel="4" compilerOptions="/langversion:7.0 /nowarn:1659;1699;1701;612;618" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> |
||||
|
<compiler extension=".vb" language="vb;vbs;visualbasic;vbscript" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008,40000,40008 /define:_MYTYPE=\"Web\" /optionInfer+" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> |
||||
|
</compilers> |
||||
|
</system.codedom> |
||||
|
</configuration> |
||||
2156
bin/EntityFramework.SqlServer.xml
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
54121
bin/EntityFramework.xml
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
Some files were not shown because too many files changed in this diff
Write
Preview
Loading…
Cancel
Save
Reference in new issue