create project
This commit is contained in:
commit
ffeab6a127
196 changed files with 36968 additions and 0 deletions
25
.dockerignore
Normal file
25
.dockerignore
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
**/.classpath
|
||||
**/.dockerignore
|
||||
**/.env
|
||||
**/.git
|
||||
**/.gitignore
|
||||
**/.project
|
||||
**/.settings
|
||||
**/.toolstarget
|
||||
**/.vs
|
||||
**/.vscode
|
||||
**/*.*proj.user
|
||||
**/*.dbmdl
|
||||
**/*.jfm
|
||||
**/azds.yaml
|
||||
**/bin
|
||||
**/charts
|
||||
**/docker-compose*
|
||||
**/Dockerfile*
|
||||
**/node_modules
|
||||
**/npm-debug.log
|
||||
**/obj
|
||||
**/secrets.dev.yaml
|
||||
**/values.dev.yaml
|
||||
LICENSE
|
||||
README.md
|
||||
BIN
.vs/BMA-EHR-Recurit-Exam-Service/DesignTimeBuild/.dtbcache.v2
Normal file
BIN
.vs/BMA-EHR-Recurit-Exam-Service/DesignTimeBuild/.dtbcache.v2
Normal file
Binary file not shown.
Binary file not shown.
962
.vs/BMA-EHR-Recurit-Exam-Service/config/applicationhost.config
Normal file
962
.vs/BMA-EHR-Recurit-Exam-Service/config/applicationhost.config
Normal file
|
|
@ -0,0 +1,962 @@
|
|||
<?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>
|
||||
<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="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="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="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="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="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>
|
||||
BIN
.vs/BMA-EHR-Recurit-Exam-Service/v17/.futdcache.v2
Normal file
BIN
.vs/BMA-EHR-Recurit-Exam-Service/v17/.futdcache.v2
Normal file
Binary file not shown.
BIN
.vs/BMA-EHR-Recurit-Exam-Service/v17/.suo
Normal file
BIN
.vs/BMA-EHR-Recurit-Exam-Service/v17/.suo
Normal file
Binary file not shown.
BIN
.vs/ProjectEvaluation/bma-ehr-recurit-exam-service.metadata.v5.2
Normal file
BIN
.vs/ProjectEvaluation/bma-ehr-recurit-exam-service.metadata.v5.2
Normal file
Binary file not shown.
BIN
.vs/ProjectEvaluation/bma-ehr-recurit-exam-service.projects.v5.2
Normal file
BIN
.vs/ProjectEvaluation/bma-ehr-recurit-exam-service.projects.v5.2
Normal file
Binary file not shown.
82
BMA-EHR-Recurit-Exam-Service.csproj
Normal file
82
BMA-EHR-Recurit-Exam-Service.csproj
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<RootNamespace>BMA.EHR.Recurit.Exam.Service</RootNamespace>
|
||||
<UserSecretsId>a9bf3206-d872-43ec-8e64-857ab15cf89f</UserSecretsId>
|
||||
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
||||
<DockerfileContext>.</DockerfileContext>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<NoWarn>1701;1702;1591;0436;</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||
<NoWarn>1701;1702;1591;0436;</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(RunConfiguration)' == 'dotnet' " />
|
||||
<PropertyGroup Condition=" '$(RunConfiguration)' == 'http' " />
|
||||
<PropertyGroup Condition=" '$(RunConfiguration)' == 'https' " />
|
||||
<PropertyGroup Condition=" '$(RunConfiguration)' == 'https-api' " />
|
||||
<ItemGroup>
|
||||
<PackageReference Include="BMA.EHR.Core" Version="1.0.0" />
|
||||
<PackageReference Include="BMA.EHR.Extensions" Version="1.0.1" />
|
||||
<PackageReference Include="EPPlus" Version="6.1.3" />
|
||||
<PackageReference Include="EPPlus.Interfaces" Version="6.1.1" />
|
||||
<PackageReference Include="EPPlus.System.Drawing" Version="6.1.1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Antiforgery" Version="2.2.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="7.0.4" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Abstractions" Version="2.2.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Analyzers" Version="2.2.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.ApiExplorer" Version="2.2.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="2.2.5" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Cors" Version="2.2.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.DataAnnotations" Version="2.2.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Formatters.Json" Version="2.2.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Localization" Version="2.2.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="7.0.4" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor" Version="2.2.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.Extensions" Version="6.0.15" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.RazorPages" Version="2.2.5" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.TagHelpers" Version="2.2.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Versioning" Version="5.0.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer" Version="5.0.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.ViewFeatures" Version="2.2.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="7.0.4" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.4">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.17.0" />
|
||||
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="7.0.0" />
|
||||
<PackageReference Include="Serilog" Version="2.12.0" />
|
||||
<PackageReference Include="Serilog.AspNetCore" Version="6.1.0" />
|
||||
<PackageReference Include="Serilog.Enrichers.Environment" Version="2.2.0" />
|
||||
<PackageReference Include="Serilog.Exceptions" Version="8.4.0" />
|
||||
<PackageReference Include="Serilog.Extensions.Hosting" Version="5.0.1" />
|
||||
<PackageReference Include="Serilog.Extensions.Logging" Version="3.1.0" />
|
||||
<PackageReference Include="Serilog.Formatting.Compact" Version="1.1.0" />
|
||||
<PackageReference Include="Serilog.Formatting.Elasticsearch" Version="9.0.0" />
|
||||
<PackageReference Include="Serilog.Settings.Configuration" Version="3.4.0" />
|
||||
<PackageReference Include="Serilog.Sinks.Console" Version="4.1.0" />
|
||||
<PackageReference Include="Serilog.Sinks.Debug" Version="2.0.0" />
|
||||
<PackageReference Include="Serilog.Sinks.Elasticsearch" Version="9.0.0" />
|
||||
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
|
||||
<PackageReference Include="Serilog.Sinks.PeriodicBatching" Version="3.1.0" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="6.5.0" />
|
||||
<PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
|
||||
<PackageReference Include="System.Security.Cryptography.Xml" Version="7.0.1" />
|
||||
<PackageReference Include="System.Xml.ReaderWriter" Version="4.3.1" />
|
||||
<PackageReference Include="System.Xml.XDocument" Version="4.3.0" />
|
||||
<PackageReference Include="System.Xml.XmlDocument" Version="4.3.0" />
|
||||
<PackageReference Include="System.Xml.XPath" Version="4.3.0" />
|
||||
<PackageReference Include="System.Xml.XPath.XmlDocument" Version="4.3.0" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
9
BMA-EHR-Recurit-Exam-Service.csproj.user
Normal file
9
BMA-EHR-Recurit-Exam-Service.csproj.user
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ActiveDebugProfile>https-api</ActiveDebugProfile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<DebuggerFlavor>ProjectDebugger</DebuggerFlavor>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
25
BMA-EHR-Recurit-Exam-Service.sln
Normal file
25
BMA-EHR-Recurit-Exam-Service.sln
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.4.33103.184
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BMA-EHR-Recurit-Exam-Service", "BMA-EHR-Recurit-Exam-Service.csproj", "{92F7A5C5-FA85-41C0-B17B-1B2AA90EA980}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{92F7A5C5-FA85-41C0-B17B-1B2AA90EA980}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{92F7A5C5-FA85-41C0-B17B-1B2AA90EA980}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{92F7A5C5-FA85-41C0-B17B-1B2AA90EA980}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{92F7A5C5-FA85-41C0-B17B-1B2AA90EA980}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {65B59E47-13B5-482C-9CD3-F2944FA64E09}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
84
ConfigureSwaggerOptions.cs
Normal file
84
ConfigureSwaggerOptions.cs
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
using Microsoft.AspNetCore.Mvc.ApiExplorer;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Microsoft.OpenApi.Models;
|
||||
using Swashbuckle.AspNetCore.SwaggerGen;
|
||||
using System.Reflection;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service
|
||||
{
|
||||
public class ConfigureSwaggerOptions : IConfigureNamedOptions<SwaggerGenOptions>
|
||||
{
|
||||
private readonly IApiVersionDescriptionProvider _provider;
|
||||
|
||||
public ConfigureSwaggerOptions(
|
||||
IApiVersionDescriptionProvider provider)
|
||||
{
|
||||
_provider = provider;
|
||||
}
|
||||
|
||||
public void Configure(SwaggerGenOptions options)
|
||||
{
|
||||
// add swagger document for every API version discovered
|
||||
foreach (var description in _provider.ApiVersionDescriptions)
|
||||
{
|
||||
options.EnableAnnotations();
|
||||
|
||||
options.SwaggerDoc(
|
||||
description.GroupName,
|
||||
CreateVersionInfo(description));
|
||||
}
|
||||
|
||||
options.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
|
||||
{
|
||||
In = ParameterLocation.Header,
|
||||
Description = "Please enter a valid token",
|
||||
Name = "Authorization",
|
||||
Type = SecuritySchemeType.Http,
|
||||
BearerFormat = "JWT",
|
||||
Scheme = "Bearer"
|
||||
});
|
||||
|
||||
options.AddSecurityRequirement(new OpenApiSecurityRequirement
|
||||
{
|
||||
{
|
||||
new OpenApiSecurityScheme
|
||||
{
|
||||
Reference = new OpenApiReference
|
||||
{
|
||||
Type = ReferenceType.SecurityScheme,
|
||||
Id = "Bearer"
|
||||
}
|
||||
},
|
||||
new string[]{}
|
||||
}
|
||||
});
|
||||
|
||||
// generate the XML docs that'll drive the swagger docs
|
||||
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
|
||||
// var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
|
||||
// options.IncludeXmlComments(xmlPath);
|
||||
}
|
||||
|
||||
public void Configure(string name, SwaggerGenOptions options)
|
||||
{
|
||||
Configure(options);
|
||||
}
|
||||
|
||||
private OpenApiInfo CreateVersionInfo(
|
||||
ApiVersionDescription desc)
|
||||
{
|
||||
var info = new OpenApiInfo()
|
||||
{
|
||||
Title = "BMA EHR Metadata Service Document",
|
||||
Version = desc.ApiVersion.ToString()
|
||||
};
|
||||
|
||||
if (desc.IsDeprecated)
|
||||
{
|
||||
info.Description += " This API version has been deprecated. Please use one of the new APIs available from the explorer.";
|
||||
}
|
||||
|
||||
return info;
|
||||
}
|
||||
}
|
||||
}
|
||||
73
Controllers/BaseController.cs
Normal file
73
Controllers/BaseController.cs
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
using BMA.EHR.Core;
|
||||
using BMA.EHR.Recurit.Exam.Service.Response;
|
||||
using BMA.EHR.Recurit.Exam.Service.Services;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System.Net;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Controllers
|
||||
{
|
||||
public class BaseController : ControllerBase
|
||||
{
|
||||
#region " Methods "
|
||||
|
||||
#region " Protected "
|
||||
|
||||
#region " IActionResult "
|
||||
|
||||
protected virtual ActionResult<ResponseObject> Success(string message, object? result = null)
|
||||
{
|
||||
if (result != null)
|
||||
{
|
||||
return Ok(new ResponseObject
|
||||
{
|
||||
Status = StatusCodes.Status200OK,
|
||||
Message = message,
|
||||
Result = result
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
return Ok(new ResponseObject
|
||||
{
|
||||
Status = StatusCodes.Status200OK,
|
||||
Message = message
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
protected virtual ActionResult<ResponseObject> Success(object? result = null)
|
||||
{
|
||||
return Success(GlobalMessages.Success, result);
|
||||
}
|
||||
|
||||
protected virtual ActionResult<ResponseObject> Error(string message, int statusCode = StatusCodes.Status500InternalServerError)
|
||||
{
|
||||
return StatusCode((int)statusCode, new ResponseObject
|
||||
{
|
||||
Status = statusCode,
|
||||
Message = message
|
||||
});
|
||||
}
|
||||
|
||||
protected virtual ActionResult<ResponseObject> Error(Exception exception, int statusCode = StatusCodes.Status500InternalServerError)
|
||||
{
|
||||
var msg = exception.Message;
|
||||
var inner = exception.InnerException;
|
||||
while (inner != null)
|
||||
{
|
||||
msg += $" {inner.Message}\r\n";
|
||||
inner = inner.InnerException;
|
||||
}
|
||||
|
||||
return Error(msg, statusCode);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
63
Controllers/DistrictController.cs
Normal file
63
Controllers/DistrictController.cs
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
using BMA.EHR.Recurit.Exam.Service.Response;
|
||||
using BMA.EHR.Recurit.Exam.Service.Services;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Swashbuckle.AspNetCore.Annotations;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Controllers
|
||||
{
|
||||
[Route("api/v{version:apiVersion}/district")]
|
||||
[ApiVersion("1.0")]
|
||||
[ApiController]
|
||||
[Produces("application/json")]
|
||||
[Authorize]
|
||||
[SwaggerTag("จัดการข้อมูลอำเภอ เพื่อนำไปใช้งานในระบบ")]
|
||||
public class DistrictController : BaseController
|
||||
{
|
||||
#region " Fields "
|
||||
|
||||
private readonly DistrictService _districtService;
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Constructor and Destructor "
|
||||
|
||||
public DistrictController(DistrictService districtService)
|
||||
{
|
||||
_districtService = districtService;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Methods "
|
||||
|
||||
/// <summary>
|
||||
/// อ่านข้อมูลจาก Relational Db โดยแสดงเฉพาะข้อมูลที่ Active เท่านั้น
|
||||
/// </summary>
|
||||
/// <param name="province">รหัสจังหวัด</param>
|
||||
/// <returns></returns>
|
||||
/// <response code="200">เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ</response>
|
||||
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||
[HttpGet("{province:length(36)}")]
|
||||
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||
public async Task<ActionResult<ResponseObject>> GetsAsync(string province)
|
||||
{
|
||||
try
|
||||
{
|
||||
var items = await _districtService.GetsAsync(provinceId: province, showAll: false);
|
||||
|
||||
return Success(items);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return Error(ex);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
59
Controllers/EducationLevelController.cs
Normal file
59
Controllers/EducationLevelController.cs
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
using BMA.EHR.Recurit.Exam.Service.Response;
|
||||
using BMA.EHR.Recurit.Exam.Service.Services;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Controllers
|
||||
{
|
||||
[Route("api/v{version:apiVersion}/education-level")]
|
||||
[ApiVersion("1.0")]
|
||||
[ApiController]
|
||||
[Produces("application/json")]
|
||||
[Authorize]
|
||||
public class EducationLevelController : BaseController
|
||||
{
|
||||
#region " Fields "
|
||||
|
||||
private readonly EducationLevelService _educationLevelService;
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Constructor and Destructor "
|
||||
|
||||
public EducationLevelController(EducationLevelService educationLevelService)
|
||||
{
|
||||
_educationLevelService = educationLevelService;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Methods "
|
||||
|
||||
/// <summary>
|
||||
/// อ่านข้อมูลจาก Relational Db โดยแสดงเฉพาะข้อมูลที่ Active เท่านั้น
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
/// <response code="200">เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ</response>
|
||||
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||
[HttpGet]
|
||||
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||
public async Task<ActionResult<ResponseObject>> GetsAsync()
|
||||
{
|
||||
try
|
||||
{
|
||||
var items = await _educationLevelService.GetsAsync(showAll: false);
|
||||
|
||||
return Success(items);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return Error(ex);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
59
Controllers/PrefixController.cs
Normal file
59
Controllers/PrefixController.cs
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
using BMA.EHR.Recurit.Exam.Service.Response;
|
||||
using BMA.EHR.Recurit.Exam.Service.Services;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Controllers
|
||||
{
|
||||
[Route("api/v{version:apiVersion}/prefix")]
|
||||
[ApiVersion("1.0")]
|
||||
[ApiController]
|
||||
[Produces("application/json")]
|
||||
[Authorize]
|
||||
public class PrefixController : BaseController
|
||||
{
|
||||
#region " Fields "
|
||||
|
||||
private readonly PrefixService _prefixService;
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Constructor and Destructor "
|
||||
|
||||
public PrefixController(PrefixService prefixService)
|
||||
{
|
||||
_prefixService = prefixService;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Methods "
|
||||
|
||||
/// <summary>
|
||||
/// อ่านข้อมูลจาก Relational Db โดยแสดงเฉพาะ ข้อมูลที่ Active เท่านั้น
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
/// <response code="200">เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ</response>
|
||||
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||
[HttpGet]
|
||||
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||
public async Task<ActionResult<ResponseObject>> GetsAsync()
|
||||
{
|
||||
try
|
||||
{
|
||||
var items = await _prefixService.GetsAsync(showAll: false);
|
||||
|
||||
return Success(items);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return Error(ex);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
62
Controllers/ProvinceController.cs
Normal file
62
Controllers/ProvinceController.cs
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
using BMA.EHR.Recurit.Exam.Service.Response;
|
||||
using BMA.EHR.Recurit.Exam.Service.Services;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Swashbuckle.AspNetCore.Annotations;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Controllers
|
||||
{
|
||||
[Route("api/v{version:apiVersion}/province")]
|
||||
[ApiVersion("1.0")]
|
||||
[ApiController]
|
||||
[Produces("application/json")]
|
||||
[Authorize]
|
||||
[SwaggerTag("จัดการข้อมูลจังหวัด เพื่อนำไปใช้งานในระบบ")]
|
||||
public class ProvinceController : BaseController
|
||||
{
|
||||
#region " Fields "
|
||||
|
||||
private readonly ProvinceService _provinceService;
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Constructor and Destructor "
|
||||
|
||||
public ProvinceController(ProvinceService provinceService)
|
||||
{
|
||||
_provinceService = provinceService;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Methods "
|
||||
|
||||
/// <summary>
|
||||
/// อ่านข้อมูลจาก Relational Db โดยแสดงเฉพาะข้อมูลที่ Active เท่านั้น
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
/// <response code="200">เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ</response>
|
||||
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||
[HttpGet]
|
||||
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||
public async Task<ActionResult<ResponseObject>> GetsAsync()
|
||||
{
|
||||
try
|
||||
{
|
||||
var items = await _provinceService.GetsAsync(showAll: false);
|
||||
|
||||
return Success(items);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return Error(ex);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
60
Controllers/RelationshipController.cs
Normal file
60
Controllers/RelationshipController.cs
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
using BMA.EHR.Recurit.Exam.Service.Response;
|
||||
using BMA.EHR.Recurit.Exam.Service.Services;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Controllers
|
||||
{
|
||||
[Route("api/v{version:apiVersion}/relationship")]
|
||||
[ApiVersion("1.0")]
|
||||
[ApiController]
|
||||
[Produces("application/json")]
|
||||
[Authorize]
|
||||
public class RelationshipController : BaseController
|
||||
{
|
||||
#region " Fields "
|
||||
|
||||
private readonly RelationshipService _relationshipService;
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Constructor and Destructor "
|
||||
|
||||
public RelationshipController(RelationshipService relationshipService)
|
||||
{
|
||||
_relationshipService = relationshipService;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Methods "
|
||||
|
||||
/// <summary>
|
||||
/// อ่านข้อมูลจาก Relational Db โดยแสดงเฉพาะข้อมูลที่ Active เท่านั้น
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
/// <response code="200">เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ</response>
|
||||
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||
[HttpGet]
|
||||
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||
public async Task<ActionResult<ResponseObject>> GetsAsync()
|
||||
{
|
||||
try
|
||||
{
|
||||
var items = await _relationshipService.GetsAsync(showAll: false);
|
||||
|
||||
return Success(items);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return Error(ex);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
59
Controllers/ReligionController.cs
Normal file
59
Controllers/ReligionController.cs
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
using BMA.EHR.Recurit.Exam.Service.Response;
|
||||
using BMA.EHR.Recurit.Exam.Service.Services;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Controllers
|
||||
{
|
||||
[Route("api/v{version:apiVersion}/religion")]
|
||||
[ApiVersion("1.0")]
|
||||
[ApiController]
|
||||
[Produces("application/json")]
|
||||
[Authorize]
|
||||
public class ReligionController : BaseController
|
||||
{
|
||||
#region " Fields "
|
||||
|
||||
private readonly ReligionService _religionService;
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Constructor and Destructor "
|
||||
|
||||
public ReligionController(ReligionService religionService)
|
||||
{
|
||||
_religionService = religionService;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Methods "
|
||||
|
||||
/// <summary>
|
||||
/// อ่านข้อมูลจาก Relational Db โดยแสดงเฉพาะข้อมูลที่ Active เท่านั้น
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
/// <response code="200">เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ</response>
|
||||
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||
[HttpGet]
|
||||
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||
public async Task<ActionResult<ResponseObject>> GetsAsync()
|
||||
{
|
||||
try
|
||||
{
|
||||
var items = await _religionService.GetsAsync(showAll: false);
|
||||
|
||||
return Success(items);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return Error(ex);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
62
Controllers/SubDistrictController.cs
Normal file
62
Controllers/SubDistrictController.cs
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
using BMA.EHR.Recurit.Exam.Service.Response;
|
||||
using BMA.EHR.Recurit.Exam.Service.Services;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Swashbuckle.AspNetCore.Annotations;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Controllers
|
||||
{
|
||||
[Route("api/v{version:apiVersion}/sub-district")]
|
||||
[ApiVersion("1.0")]
|
||||
[ApiController]
|
||||
[Produces("application/json")]
|
||||
[Authorize]
|
||||
[SwaggerTag("จัดการข้อมูลตำบล เพื่อนำไปใช้งานในระบบ")]
|
||||
public class SubDistrictController : BaseController
|
||||
{
|
||||
#region " Fields "
|
||||
|
||||
private readonly SubDistrictService _subDistrictService;
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Constructor and Destructor "
|
||||
|
||||
public SubDistrictController(SubDistrictService subDistrictService)
|
||||
{
|
||||
_subDistrictService = subDistrictService;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Methods "
|
||||
|
||||
/// <summary>
|
||||
/// อ่านข้อมูลจาก Relational Db โดยแสดงเฉพาะข้อมูลที่ Active เท่านั้น
|
||||
/// </summary>
|
||||
/// <param name="district">รหัสอำเภอ</param>
|
||||
/// <returns></returns>
|
||||
/// <response code="200">เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ</response>
|
||||
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||
[HttpGet("{district:length(36)}")]
|
||||
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||
public async Task<ActionResult<ResponseObject>> GetsAsync(string district)
|
||||
{
|
||||
try
|
||||
{
|
||||
var items = await _subDistrictService.GetsAsync(districtId: district, showAll: false);
|
||||
|
||||
return Success(items);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return Error(ex);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
32
Data/ApplicationDbContext.cs
Normal file
32
Data/ApplicationDbContext.cs
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
using BMA.EHR.Recurit.Exam.Service.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Data
|
||||
{
|
||||
public class ApplicationDbContext : DbContext
|
||||
{
|
||||
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
|
||||
: base(options)
|
||||
{
|
||||
}
|
||||
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
}
|
||||
|
||||
public DbSet<Prefix> Prefixes { get; set; }
|
||||
|
||||
public DbSet<Religion> Religions { get; set; }
|
||||
|
||||
public DbSet<Relationship> Relationships { get; set; }
|
||||
|
||||
public DbSet<EducationLevel> EducationLevels { get; set; }
|
||||
|
||||
public DbSet<Province> Provinces { get; set; }
|
||||
|
||||
public DbSet<District> Districts { get; set; }
|
||||
|
||||
public DbSet<SubDistrict> SubDistricts { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
315
Data/DatabaseSeeder.cs
Normal file
315
Data/DatabaseSeeder.cs
Normal file
|
|
@ -0,0 +1,315 @@
|
|||
using BMA.EHR.Core;
|
||||
using BMA.EHR.Extensions;
|
||||
using BMA.EHR.Recurit.Exam.Service.Models;
|
||||
using BMA.EHR.Recurit.Exam.Service.Services;
|
||||
using Newtonsoft.Json;
|
||||
using OfficeOpenXml;
|
||||
using System.Linq;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Data
|
||||
{
|
||||
public static class DatabaseSeeder
|
||||
{
|
||||
|
||||
#region " Seed Metadata "
|
||||
|
||||
public static async Task SeedPrefixAsync(WebApplication app)
|
||||
{
|
||||
using var scope = app.Services.CreateScope();
|
||||
var service = scope.ServiceProvider.GetRequiredService<PrefixService>();
|
||||
var insertedPrefix = new List<Prefix>();
|
||||
|
||||
if ((await service.GetsAsync()).Count() == 0)
|
||||
{
|
||||
// read excels into object
|
||||
var excelFile = "SeedPerson.xlsx";
|
||||
using (var excel = new ExcelPackage(new FileInfo(excelFile)))
|
||||
{
|
||||
// 1. Seed PrefixAsync
|
||||
var workSheet = excel.Workbook.Worksheets.FirstOrDefault(x => x.Name.ToLower() == "prefix");
|
||||
var totalRows = workSheet?.Dimension.Rows;
|
||||
|
||||
int row = 1;
|
||||
|
||||
while (row <= totalRows)
|
||||
{
|
||||
var cell1 = workSheet?.Cells[row, 1]?.GetValue<string>();
|
||||
if (cell1 == "" || cell1 == null) break;
|
||||
|
||||
var prefix = insertedPrefix.Where(x => x.Name == (workSheet?.Cells[row, 1]?.GetValue<string>() ?? "")).FirstOrDefault();
|
||||
if (prefix == null)
|
||||
{
|
||||
var inserted = new Prefix
|
||||
{
|
||||
Id = Guid.NewGuid(),
|
||||
Name = workSheet?.Cells[row, 1]?.GetValue<string>() ?? "",
|
||||
IsActive = true,
|
||||
CreatedFullName = "System Administrator",
|
||||
CreatedAt = DateTime.Now
|
||||
};
|
||||
insertedPrefix.Add(inserted);
|
||||
|
||||
await service.CreateAsync(inserted);
|
||||
}
|
||||
row++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static async Task SeedReligionAsync(WebApplication app)
|
||||
{
|
||||
using var scope = app.Services.CreateScope();
|
||||
var service = scope.ServiceProvider.GetRequiredService<ReligionService>();
|
||||
var insertedReligion = new List<Religion>();
|
||||
|
||||
if ((await service.GetsAsync()).Count() == 0)
|
||||
{
|
||||
// read excels into object
|
||||
var excelFile = "SeedPerson.xlsx";
|
||||
using (var excel = new ExcelPackage(new FileInfo(excelFile)))
|
||||
{
|
||||
// 1. Seed Religion
|
||||
var workSheet = excel.Workbook.Worksheets.FirstOrDefault(x => x.Name.ToLower() == "religion");
|
||||
var totalRows = workSheet?.Dimension.Rows;
|
||||
|
||||
int row = 1;
|
||||
|
||||
while (row <= totalRows)
|
||||
{
|
||||
var cell1 = workSheet?.Cells[row, 1]?.GetValue<string>();
|
||||
if (cell1 == "" || cell1 == null) break;
|
||||
|
||||
var religion = insertedReligion.Where(x => x.Name == (workSheet?.Cells[row, 1]?.GetValue<string>() ?? "")).FirstOrDefault();
|
||||
if (religion == null)
|
||||
{
|
||||
var inserted = new Religion
|
||||
{
|
||||
Id = Guid.NewGuid(),
|
||||
Name = workSheet?.Cells[row, 1]?.GetValue<string>() ?? "",
|
||||
IsActive = true,
|
||||
CreatedFullName = "System Administrator",
|
||||
CreatedAt = DateTime.Now
|
||||
};
|
||||
insertedReligion.Add(inserted);
|
||||
|
||||
await service.CreateAsync(inserted);
|
||||
}
|
||||
row++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static async Task SeedRelationshipAsync(WebApplication app)
|
||||
{
|
||||
using var scope = app.Services.CreateScope();
|
||||
var service = scope.ServiceProvider.GetRequiredService<RelationshipService>();
|
||||
var insertedRelationship = new List<Relationship>();
|
||||
|
||||
if ((await service.GetsAsync()).Count() == 0)
|
||||
{
|
||||
// read excels into object
|
||||
var excelFile = "SeedPerson.xlsx";
|
||||
using (var excel = new ExcelPackage(new FileInfo(excelFile)))
|
||||
{
|
||||
// 1. Seed Relationship
|
||||
var workSheet = excel.Workbook.Worksheets.FirstOrDefault(x => x.Name.ToLower() == "relationship");
|
||||
var totalRows = workSheet?.Dimension.Rows;
|
||||
|
||||
int row = 1;
|
||||
|
||||
while (row <= totalRows)
|
||||
{
|
||||
var cell1 = workSheet?.Cells[row, 1]?.GetValue<string>();
|
||||
if (cell1 == "" || cell1 == null) break;
|
||||
|
||||
var relationship = insertedRelationship.Where(x => x.Name == (workSheet?.Cells[row, 1]?.GetValue<string>() ?? "")).FirstOrDefault();
|
||||
if (relationship == null)
|
||||
{
|
||||
var inserted = new Relationship
|
||||
{
|
||||
Id = Guid.NewGuid(),
|
||||
Name = workSheet?.Cells[row, 1]?.GetValue<string>() ?? "",
|
||||
IsActive = true,
|
||||
CreatedFullName = "System Administrator",
|
||||
CreatedAt = DateTime.Now
|
||||
};
|
||||
insertedRelationship.Add(inserted);
|
||||
|
||||
await service.CreateAsync(inserted);
|
||||
}
|
||||
row++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static async Task SeedEducationLevelAsync(WebApplication app)
|
||||
{
|
||||
using var scope = app.Services.CreateScope();
|
||||
var service = scope.ServiceProvider.GetRequiredService<EducationLevelService>();
|
||||
var insertedEducationLevel = new List<EducationLevel>();
|
||||
|
||||
if ((await service.GetsAsync()).Count() == 0)
|
||||
{
|
||||
// read excels into object
|
||||
var excelFile = "SeedPerson.xlsx";
|
||||
using (var excel = new ExcelPackage(new FileInfo(excelFile)))
|
||||
{
|
||||
// 1. Seed EducationLevel
|
||||
var workSheet = excel.Workbook.Worksheets.FirstOrDefault(x => x.Name.ToLower() == "educationlevel");
|
||||
var totalRows = workSheet?.Dimension.Rows;
|
||||
|
||||
int row = 1;
|
||||
|
||||
while (row <= totalRows)
|
||||
{
|
||||
var cell1 = workSheet?.Cells[row, 1]?.GetValue<string>();
|
||||
if (cell1 == "" || cell1 == null) break;
|
||||
|
||||
var educationLevel = insertedEducationLevel.Where(x => x.Name == (workSheet?.Cells[row, 1]?.GetValue<string>() ?? "")).FirstOrDefault();
|
||||
if (educationLevel == null)
|
||||
{
|
||||
var inserted = new EducationLevel
|
||||
{
|
||||
Id = Guid.NewGuid(),
|
||||
Name = workSheet?.Cells[row, 1]?.GetValue<string>() ?? "",
|
||||
IsActive = true,
|
||||
CreatedFullName = "System Administrator",
|
||||
CreatedAt = DateTime.Now
|
||||
};
|
||||
insertedEducationLevel.Add(inserted);
|
||||
|
||||
await service.CreateAsync(inserted);
|
||||
}
|
||||
row++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static async Task SeedProvinceAsync(WebApplication app)
|
||||
{
|
||||
using var scope = app.Services.CreateScope();
|
||||
var service = scope.ServiceProvider.GetRequiredService<ProvinceService>();
|
||||
var districtService = scope.ServiceProvider.GetRequiredService<DistrictService>();
|
||||
var subDistrictService = scope.ServiceProvider.GetRequiredService<SubDistrictService>();
|
||||
|
||||
var serializeOption = new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore };
|
||||
|
||||
var insertedProvince = new List<Province>();
|
||||
|
||||
if ((await service.GetsAsync()).Count() == 0)
|
||||
{
|
||||
// read excels into object
|
||||
var excelFile = "SeedPerson.xlsx";
|
||||
using (var excel = new ExcelPackage(new FileInfo(excelFile)))
|
||||
{
|
||||
// 1. Seed Province
|
||||
var workSheet = excel.Workbook.Worksheets.FirstOrDefault(x => x.Name.ToLower() == "province");
|
||||
var totalRows = workSheet?.Dimension.Rows;
|
||||
|
||||
int row = 2;
|
||||
|
||||
while (row <= totalRows)
|
||||
{
|
||||
var cell1 = workSheet?.Cells[row, 1]?.GetValue<string>();
|
||||
if (cell1 == "" || cell1 == null) break;
|
||||
|
||||
var inserted = new Province
|
||||
{
|
||||
Id = Guid.NewGuid(),
|
||||
Name = workSheet?.Cells[row, 1]?.GetValue<string>() ?? "",
|
||||
IsActive = true,
|
||||
CreatedFullName = "System Administrator",
|
||||
CreatedAt = DateTime.Now,
|
||||
Districts = new List<District>()
|
||||
};
|
||||
insertedProvince.Add(inserted);
|
||||
|
||||
await service.CreateAsync(inserted);
|
||||
|
||||
row++;
|
||||
}
|
||||
|
||||
// 2. Seed District
|
||||
var d_workSheet = excel.Workbook.Worksheets.FirstOrDefault(x => x.Name.ToLower() == "district");
|
||||
var d_totalRows = d_workSheet?.Dimension.Rows;
|
||||
|
||||
int d_row = 2;
|
||||
|
||||
while (d_row <= d_totalRows)
|
||||
{
|
||||
var cell1 = d_workSheet?.Cells[d_row, 1]?.GetValue<string>();
|
||||
if (cell1 == "" || cell1 == null) break;
|
||||
|
||||
var province = insertedProvince.Where(x => x.Name == cell1).FirstOrDefault();
|
||||
|
||||
var inserted = new District
|
||||
{
|
||||
Id = Guid.NewGuid(),
|
||||
Name = d_workSheet?.Cells[d_row, 2]?.GetValue<string>() ?? "",
|
||||
IsActive = true,
|
||||
CreatedFullName = "System Administrator",
|
||||
CreatedAt = DateTime.Now,
|
||||
SubDistricts = new List<SubDistrict>()
|
||||
};
|
||||
|
||||
province?.Districts.Add(inserted);
|
||||
var provinceId = province == null ? Guid.NewGuid() : province.Id;
|
||||
|
||||
var jsonString = JsonConvert.SerializeObject(inserted, serializeOption);
|
||||
|
||||
await districtService.CreateAsync(inserted, provinceId.ToString("D"));
|
||||
|
||||
d_row++;
|
||||
}
|
||||
|
||||
|
||||
// 3. Seed SubDistrict
|
||||
var s_workSheet = excel.Workbook.Worksheets.FirstOrDefault(x => x.Name.ToLower() == "subdistrict");
|
||||
var s_totalRows = s_workSheet?.Dimension.Rows;
|
||||
|
||||
int s_row = 2;
|
||||
var zipcodes = new List<string>();
|
||||
|
||||
while (s_row <= s_totalRows)
|
||||
{
|
||||
var cell1 = s_workSheet?.Cells[s_row, 1]?.GetValue<string>();
|
||||
var cell2 = s_workSheet?.Cells[s_row, 2]?.GetValue<string>();
|
||||
if (cell1 == "" || cell1 == null) break;
|
||||
|
||||
var province = insertedProvince.Where(x => x.Name == cell1).FirstOrDefault();
|
||||
var district = province?.Districts.Where(x => x.Name == cell2).FirstOrDefault();
|
||||
|
||||
var inserted = new SubDistrict
|
||||
{
|
||||
Id = Guid.NewGuid(),
|
||||
Name = s_workSheet?.Cells[s_row, 3]?.GetValue<string>() ?? "",
|
||||
ZipCode = s_workSheet?.Cells[s_row, 4]?.GetValue<string>() ?? "",
|
||||
IsActive = true,
|
||||
CreatedFullName = "System Administrator",
|
||||
CreatedAt = DateTime.Now,
|
||||
|
||||
};
|
||||
|
||||
if (!zipcodes.Contains(inserted.ZipCode))
|
||||
zipcodes.Add(inserted.ZipCode);
|
||||
|
||||
district?.SubDistricts.Add(inserted);
|
||||
var districtId = district == null ? Guid.NewGuid() : district.Id;
|
||||
|
||||
var jsonString = JsonConvert.SerializeObject(inserted, serializeOption);
|
||||
|
||||
await subDistrictService.CreateAsync(inserted, districtId.ToString("D"));
|
||||
|
||||
s_row++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
517
Data/Migrations/ApplicationDbContextModelSnapshot.cs
Normal file
517
Data/Migrations/ApplicationDbContextModelSnapshot.cs
Normal file
|
|
@ -0,0 +1,517 @@
|
|||
// <auto-generated />
|
||||
using System;
|
||||
using BMA.EHR.Recurit.Exam.Service.Data;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations
|
||||
{
|
||||
[DbContext(typeof(ApplicationDbContext))]
|
||||
partial class ApplicationDbContextModelSnapshot : ModelSnapshot
|
||||
{
|
||||
protected override void BuildModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "7.0.4")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 64);
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.District", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("char(36)")
|
||||
.HasColumnOrder(0)
|
||||
.HasComment("PrimaryKey")
|
||||
.HasAnnotation("Relational:JsonPropertyName", "id");
|
||||
|
||||
b.Property<DateTime>("CreatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(100)
|
||||
.HasComment("สร้างข้อมูลเมื่อ");
|
||||
|
||||
b.Property<string>("CreatedFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(104)
|
||||
.HasComment("ชื่อ User ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<string>("CreatedUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(101)
|
||||
.HasComment("User Id ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<bool>("IsActive")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasColumnOrder(2)
|
||||
.HasComment("สถานะการใช้งาน");
|
||||
|
||||
b.Property<string>("LastUpdateFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(105)
|
||||
.HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<string>("LastUpdateUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(103)
|
||||
.HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<DateTime?>("LastUpdatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(102)
|
||||
.HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(150)
|
||||
.HasColumnType("varchar(150)")
|
||||
.HasColumnOrder(1)
|
||||
.HasComment("เขต/อำเภอ");
|
||||
|
||||
b.Property<Guid?>("ProvinceId")
|
||||
.HasColumnType("char(36)");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("ProvinceId");
|
||||
|
||||
b.ToTable("Districts");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.EducationLevel", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("char(36)")
|
||||
.HasColumnOrder(0)
|
||||
.HasComment("PrimaryKey")
|
||||
.HasAnnotation("Relational:JsonPropertyName", "id");
|
||||
|
||||
b.Property<DateTime>("CreatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(100)
|
||||
.HasComment("สร้างข้อมูลเมื่อ");
|
||||
|
||||
b.Property<string>("CreatedFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(104)
|
||||
.HasComment("ชื่อ User ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<string>("CreatedUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(101)
|
||||
.HasComment("User Id ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<bool>("IsActive")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasColumnOrder(2)
|
||||
.HasComment("สถานะการใช้งาน");
|
||||
|
||||
b.Property<string>("LastUpdateFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(105)
|
||||
.HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<string>("LastUpdateUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(103)
|
||||
.HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<DateTime?>("LastUpdatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(102)
|
||||
.HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(100)
|
||||
.HasColumnType("varchar(100)")
|
||||
.HasColumnOrder(1)
|
||||
.HasComment("ระดับการศึกษา");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("EducationLevels");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Prefix", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("char(36)")
|
||||
.HasColumnOrder(0)
|
||||
.HasComment("PrimaryKey")
|
||||
.HasAnnotation("Relational:JsonPropertyName", "id");
|
||||
|
||||
b.Property<DateTime>("CreatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(100)
|
||||
.HasComment("สร้างข้อมูลเมื่อ");
|
||||
|
||||
b.Property<string>("CreatedFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(104)
|
||||
.HasComment("ชื่อ User ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<string>("CreatedUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(101)
|
||||
.HasComment("User Id ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<bool>("IsActive")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasColumnOrder(3)
|
||||
.HasComment("สถานะการใช้งาน");
|
||||
|
||||
b.Property<string>("LastUpdateFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(105)
|
||||
.HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<string>("LastUpdateUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(103)
|
||||
.HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<DateTime?>("LastUpdatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(102)
|
||||
.HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(50)
|
||||
.HasColumnType("varchar(50)")
|
||||
.HasColumnOrder(2)
|
||||
.HasComment("รายละเอียดคำนำหน้า");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Prefixes");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Province", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("char(36)")
|
||||
.HasColumnOrder(0)
|
||||
.HasComment("PrimaryKey")
|
||||
.HasAnnotation("Relational:JsonPropertyName", "id");
|
||||
|
||||
b.Property<DateTime>("CreatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(100)
|
||||
.HasComment("สร้างข้อมูลเมื่อ");
|
||||
|
||||
b.Property<string>("CreatedFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(104)
|
||||
.HasComment("ชื่อ User ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<string>("CreatedUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(101)
|
||||
.HasComment("User Id ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<bool>("IsActive")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasColumnOrder(2)
|
||||
.HasComment("สถานะการใช้งาน");
|
||||
|
||||
b.Property<string>("LastUpdateFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(105)
|
||||
.HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<string>("LastUpdateUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(103)
|
||||
.HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<DateTime?>("LastUpdatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(102)
|
||||
.HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(150)
|
||||
.HasColumnType("varchar(150)")
|
||||
.HasColumnOrder(1)
|
||||
.HasComment("จังหวัด");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Provinces");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Relationship", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("char(36)")
|
||||
.HasColumnOrder(0)
|
||||
.HasComment("PrimaryKey")
|
||||
.HasAnnotation("Relational:JsonPropertyName", "id");
|
||||
|
||||
b.Property<DateTime>("CreatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(100)
|
||||
.HasComment("สร้างข้อมูลเมื่อ");
|
||||
|
||||
b.Property<string>("CreatedFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(104)
|
||||
.HasComment("ชื่อ User ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<string>("CreatedUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(101)
|
||||
.HasComment("User Id ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<bool>("IsActive")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasColumnOrder(2)
|
||||
.HasComment("สถานะการใช้งาน");
|
||||
|
||||
b.Property<string>("LastUpdateFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(105)
|
||||
.HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<string>("LastUpdateUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(103)
|
||||
.HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<DateTime?>("LastUpdatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(102)
|
||||
.HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(50)
|
||||
.HasColumnType("varchar(50)")
|
||||
.HasColumnOrder(1)
|
||||
.HasComment("ชื่อความสัมพันธ์");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Relationships");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Religion", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("char(36)")
|
||||
.HasColumnOrder(0)
|
||||
.HasComment("PrimaryKey")
|
||||
.HasAnnotation("Relational:JsonPropertyName", "id");
|
||||
|
||||
b.Property<DateTime>("CreatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(100)
|
||||
.HasComment("สร้างข้อมูลเมื่อ");
|
||||
|
||||
b.Property<string>("CreatedFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(104)
|
||||
.HasComment("ชื่อ User ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<string>("CreatedUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(101)
|
||||
.HasComment("User Id ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<bool>("IsActive")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasColumnOrder(2)
|
||||
.HasComment("สถานะการใช้งาน");
|
||||
|
||||
b.Property<string>("LastUpdateFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(105)
|
||||
.HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<string>("LastUpdateUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(103)
|
||||
.HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<DateTime?>("LastUpdatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(102)
|
||||
.HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(100)
|
||||
.HasColumnType("varchar(100)")
|
||||
.HasColumnOrder(1)
|
||||
.HasComment("ศาสนา");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Religions");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.SubDistrict", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("char(36)")
|
||||
.HasColumnOrder(0)
|
||||
.HasComment("PrimaryKey")
|
||||
.HasAnnotation("Relational:JsonPropertyName", "id");
|
||||
|
||||
b.Property<DateTime>("CreatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(100)
|
||||
.HasComment("สร้างข้อมูลเมื่อ");
|
||||
|
||||
b.Property<string>("CreatedFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(104)
|
||||
.HasComment("ชื่อ User ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<string>("CreatedUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(101)
|
||||
.HasComment("User Id ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<Guid?>("DistrictId")
|
||||
.HasColumnType("char(36)");
|
||||
|
||||
b.Property<bool>("IsActive")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasColumnOrder(3)
|
||||
.HasComment("สถานะการใช้งาน");
|
||||
|
||||
b.Property<string>("LastUpdateFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(105)
|
||||
.HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<string>("LastUpdateUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(103)
|
||||
.HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<DateTime?>("LastUpdatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(102)
|
||||
.HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(150)
|
||||
.HasColumnType("varchar(150)")
|
||||
.HasColumnOrder(1)
|
||||
.HasComment("เขต/อำเภอ");
|
||||
|
||||
b.Property<string>("ZipCode")
|
||||
.IsRequired()
|
||||
.HasMaxLength(10)
|
||||
.HasColumnType("varchar(10)")
|
||||
.HasColumnOrder(2)
|
||||
.HasComment("รหัสไปรษณีย์");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("DistrictId");
|
||||
|
||||
b.ToTable("SubDistricts");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.District", b =>
|
||||
{
|
||||
b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Province", "Province")
|
||||
.WithMany("Districts")
|
||||
.HasForeignKey("ProvinceId");
|
||||
|
||||
b.Navigation("Province");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.SubDistrict", b =>
|
||||
{
|
||||
b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.District", "District")
|
||||
.WithMany("SubDistricts")
|
||||
.HasForeignKey("DistrictId");
|
||||
|
||||
b.Navigation("District");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.District", b =>
|
||||
{
|
||||
b.Navigation("SubDistricts");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Province", b =>
|
||||
{
|
||||
b.Navigation("Districts");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
||||
22
Dockerfile
Normal file
22
Dockerfile
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
|
||||
WORKDIR /app
|
||||
EXPOSE 80
|
||||
EXPOSE 443
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
|
||||
WORKDIR /src
|
||||
COPY ["BMA-EHR-Recurit-Exam-Service.csproj", "."]
|
||||
RUN dotnet restore "./BMA-EHR-Recurit-Exam-Service.csproj"
|
||||
COPY . .
|
||||
WORKDIR "/src/."
|
||||
RUN dotnet build "BMA-EHR-Recurit-Exam-Service.csproj" -c Release -o /app/build
|
||||
|
||||
FROM build AS publish
|
||||
RUN dotnet publish "BMA-EHR-Recurit-Exam-Service.csproj" -c Release -o /app/publish /p:UseAppHost=false
|
||||
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
COPY --from=publish /app/publish .
|
||||
ENTRYPOINT ["dotnet", "BMA-EHR-Recurit-Exam-Service.dll"]
|
||||
520
Migrations/20230323052854_create metadata.Designer.cs
generated
Normal file
520
Migrations/20230323052854_create metadata.Designer.cs
generated
Normal file
|
|
@ -0,0 +1,520 @@
|
|||
// <auto-generated />
|
||||
using System;
|
||||
using BMA.EHR.Recurit.Exam.Service.Data;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Migrations
|
||||
{
|
||||
[DbContext(typeof(ApplicationDbContext))]
|
||||
[Migration("20230323052854_create metadata")]
|
||||
partial class createmetadata
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "7.0.4")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 64);
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.District", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("char(36)")
|
||||
.HasColumnOrder(0)
|
||||
.HasComment("PrimaryKey")
|
||||
.HasAnnotation("Relational:JsonPropertyName", "id");
|
||||
|
||||
b.Property<DateTime>("CreatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(100)
|
||||
.HasComment("สร้างข้อมูลเมื่อ");
|
||||
|
||||
b.Property<string>("CreatedFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(104)
|
||||
.HasComment("ชื่อ User ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<string>("CreatedUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(101)
|
||||
.HasComment("User Id ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<bool>("IsActive")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasColumnOrder(2)
|
||||
.HasComment("สถานะการใช้งาน");
|
||||
|
||||
b.Property<string>("LastUpdateFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(105)
|
||||
.HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<string>("LastUpdateUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(103)
|
||||
.HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<DateTime?>("LastUpdatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(102)
|
||||
.HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(150)
|
||||
.HasColumnType("varchar(150)")
|
||||
.HasColumnOrder(1)
|
||||
.HasComment("เขต/อำเภอ");
|
||||
|
||||
b.Property<Guid?>("ProvinceId")
|
||||
.HasColumnType("char(36)");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("ProvinceId");
|
||||
|
||||
b.ToTable("Districts");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.EducationLevel", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("char(36)")
|
||||
.HasColumnOrder(0)
|
||||
.HasComment("PrimaryKey")
|
||||
.HasAnnotation("Relational:JsonPropertyName", "id");
|
||||
|
||||
b.Property<DateTime>("CreatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(100)
|
||||
.HasComment("สร้างข้อมูลเมื่อ");
|
||||
|
||||
b.Property<string>("CreatedFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(104)
|
||||
.HasComment("ชื่อ User ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<string>("CreatedUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(101)
|
||||
.HasComment("User Id ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<bool>("IsActive")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasColumnOrder(2)
|
||||
.HasComment("สถานะการใช้งาน");
|
||||
|
||||
b.Property<string>("LastUpdateFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(105)
|
||||
.HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<string>("LastUpdateUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(103)
|
||||
.HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<DateTime?>("LastUpdatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(102)
|
||||
.HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(100)
|
||||
.HasColumnType("varchar(100)")
|
||||
.HasColumnOrder(1)
|
||||
.HasComment("ระดับการศึกษา");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("EducationLevels");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Prefix", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("char(36)")
|
||||
.HasColumnOrder(0)
|
||||
.HasComment("PrimaryKey")
|
||||
.HasAnnotation("Relational:JsonPropertyName", "id");
|
||||
|
||||
b.Property<DateTime>("CreatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(100)
|
||||
.HasComment("สร้างข้อมูลเมื่อ");
|
||||
|
||||
b.Property<string>("CreatedFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(104)
|
||||
.HasComment("ชื่อ User ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<string>("CreatedUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(101)
|
||||
.HasComment("User Id ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<bool>("IsActive")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasColumnOrder(3)
|
||||
.HasComment("สถานะการใช้งาน");
|
||||
|
||||
b.Property<string>("LastUpdateFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(105)
|
||||
.HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<string>("LastUpdateUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(103)
|
||||
.HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<DateTime?>("LastUpdatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(102)
|
||||
.HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(50)
|
||||
.HasColumnType("varchar(50)")
|
||||
.HasColumnOrder(2)
|
||||
.HasComment("รายละเอียดคำนำหน้า");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Prefixes");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Province", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("char(36)")
|
||||
.HasColumnOrder(0)
|
||||
.HasComment("PrimaryKey")
|
||||
.HasAnnotation("Relational:JsonPropertyName", "id");
|
||||
|
||||
b.Property<DateTime>("CreatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(100)
|
||||
.HasComment("สร้างข้อมูลเมื่อ");
|
||||
|
||||
b.Property<string>("CreatedFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(104)
|
||||
.HasComment("ชื่อ User ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<string>("CreatedUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(101)
|
||||
.HasComment("User Id ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<bool>("IsActive")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasColumnOrder(2)
|
||||
.HasComment("สถานะการใช้งาน");
|
||||
|
||||
b.Property<string>("LastUpdateFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(105)
|
||||
.HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<string>("LastUpdateUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(103)
|
||||
.HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<DateTime?>("LastUpdatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(102)
|
||||
.HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(150)
|
||||
.HasColumnType("varchar(150)")
|
||||
.HasColumnOrder(1)
|
||||
.HasComment("จังหวัด");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Provinces");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Relationship", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("char(36)")
|
||||
.HasColumnOrder(0)
|
||||
.HasComment("PrimaryKey")
|
||||
.HasAnnotation("Relational:JsonPropertyName", "id");
|
||||
|
||||
b.Property<DateTime>("CreatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(100)
|
||||
.HasComment("สร้างข้อมูลเมื่อ");
|
||||
|
||||
b.Property<string>("CreatedFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(104)
|
||||
.HasComment("ชื่อ User ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<string>("CreatedUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(101)
|
||||
.HasComment("User Id ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<bool>("IsActive")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasColumnOrder(2)
|
||||
.HasComment("สถานะการใช้งาน");
|
||||
|
||||
b.Property<string>("LastUpdateFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(105)
|
||||
.HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<string>("LastUpdateUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(103)
|
||||
.HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<DateTime?>("LastUpdatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(102)
|
||||
.HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(50)
|
||||
.HasColumnType("varchar(50)")
|
||||
.HasColumnOrder(1)
|
||||
.HasComment("ชื่อความสัมพันธ์");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Relationships");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Religion", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("char(36)")
|
||||
.HasColumnOrder(0)
|
||||
.HasComment("PrimaryKey")
|
||||
.HasAnnotation("Relational:JsonPropertyName", "id");
|
||||
|
||||
b.Property<DateTime>("CreatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(100)
|
||||
.HasComment("สร้างข้อมูลเมื่อ");
|
||||
|
||||
b.Property<string>("CreatedFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(104)
|
||||
.HasComment("ชื่อ User ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<string>("CreatedUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(101)
|
||||
.HasComment("User Id ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<bool>("IsActive")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasColumnOrder(2)
|
||||
.HasComment("สถานะการใช้งาน");
|
||||
|
||||
b.Property<string>("LastUpdateFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(105)
|
||||
.HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<string>("LastUpdateUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(103)
|
||||
.HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<DateTime?>("LastUpdatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(102)
|
||||
.HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(100)
|
||||
.HasColumnType("varchar(100)")
|
||||
.HasColumnOrder(1)
|
||||
.HasComment("ศาสนา");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Religions");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.SubDistrict", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("char(36)")
|
||||
.HasColumnOrder(0)
|
||||
.HasComment("PrimaryKey")
|
||||
.HasAnnotation("Relational:JsonPropertyName", "id");
|
||||
|
||||
b.Property<DateTime>("CreatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(100)
|
||||
.HasComment("สร้างข้อมูลเมื่อ");
|
||||
|
||||
b.Property<string>("CreatedFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(104)
|
||||
.HasComment("ชื่อ User ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<string>("CreatedUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(101)
|
||||
.HasComment("User Id ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<Guid?>("DistrictId")
|
||||
.HasColumnType("char(36)");
|
||||
|
||||
b.Property<bool>("IsActive")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasColumnOrder(3)
|
||||
.HasComment("สถานะการใช้งาน");
|
||||
|
||||
b.Property<string>("LastUpdateFullName")
|
||||
.IsRequired()
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasColumnOrder(105)
|
||||
.HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<string>("LastUpdateUserId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("varchar(40)")
|
||||
.HasColumnOrder(103)
|
||||
.HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
|
||||
|
||||
b.Property<DateTime?>("LastUpdatedAt")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(102)
|
||||
.HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasMaxLength(150)
|
||||
.HasColumnType("varchar(150)")
|
||||
.HasColumnOrder(1)
|
||||
.HasComment("เขต/อำเภอ");
|
||||
|
||||
b.Property<string>("ZipCode")
|
||||
.IsRequired()
|
||||
.HasMaxLength(10)
|
||||
.HasColumnType("varchar(10)")
|
||||
.HasColumnOrder(2)
|
||||
.HasComment("รหัสไปรษณีย์");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("DistrictId");
|
||||
|
||||
b.ToTable("SubDistricts");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.District", b =>
|
||||
{
|
||||
b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Province", "Province")
|
||||
.WithMany("Districts")
|
||||
.HasForeignKey("ProvinceId");
|
||||
|
||||
b.Navigation("Province");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.SubDistrict", b =>
|
||||
{
|
||||
b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.District", "District")
|
||||
.WithMany("SubDistricts")
|
||||
.HasForeignKey("DistrictId");
|
||||
|
||||
b.Navigation("District");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.District", b =>
|
||||
{
|
||||
b.Navigation("SubDistricts");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Province", b =>
|
||||
{
|
||||
b.Navigation("Districts");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
||||
239
Migrations/20230323052854_create metadata.cs
Normal file
239
Migrations/20230323052854_create metadata.cs
Normal file
|
|
@ -0,0 +1,239 @@
|
|||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class createmetadata : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.CreateTable(
|
||||
name: "EducationLevels",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
|
||||
Name = table.Column<string>(type: "varchar(100)", maxLength: 100, nullable: false, comment: "ระดับการศึกษา")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false, comment: "สถานะการใช้งาน"),
|
||||
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
|
||||
CreatedUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
LastUpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
|
||||
LastUpdateUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
CreatedFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
LastUpdateFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด")
|
||||
.Annotation("MySql:CharSet", "utf8mb4")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_EducationLevels", x => x.Id);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Prefixes",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
|
||||
Name = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false, comment: "รายละเอียดคำนำหน้า")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false, comment: "สถานะการใช้งาน"),
|
||||
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
|
||||
CreatedUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
LastUpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
|
||||
LastUpdateUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
CreatedFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
LastUpdateFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด")
|
||||
.Annotation("MySql:CharSet", "utf8mb4")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Prefixes", x => x.Id);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Provinces",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
|
||||
Name = table.Column<string>(type: "varchar(150)", maxLength: 150, nullable: false, comment: "จังหวัด")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false, comment: "สถานะการใช้งาน"),
|
||||
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
|
||||
CreatedUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
LastUpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
|
||||
LastUpdateUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
CreatedFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
LastUpdateFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด")
|
||||
.Annotation("MySql:CharSet", "utf8mb4")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Provinces", x => x.Id);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Relationships",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
|
||||
Name = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false, comment: "ชื่อความสัมพันธ์")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false, comment: "สถานะการใช้งาน"),
|
||||
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
|
||||
CreatedUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
LastUpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
|
||||
LastUpdateUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
CreatedFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
LastUpdateFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด")
|
||||
.Annotation("MySql:CharSet", "utf8mb4")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Relationships", x => x.Id);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Religions",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
|
||||
Name = table.Column<string>(type: "varchar(100)", maxLength: 100, nullable: false, comment: "ศาสนา")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false, comment: "สถานะการใช้งาน"),
|
||||
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
|
||||
CreatedUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
LastUpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
|
||||
LastUpdateUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
CreatedFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
LastUpdateFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด")
|
||||
.Annotation("MySql:CharSet", "utf8mb4")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Religions", x => x.Id);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Districts",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
|
||||
Name = table.Column<string>(type: "varchar(150)", maxLength: 150, nullable: false, comment: "เขต/อำเภอ")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false, comment: "สถานะการใช้งาน"),
|
||||
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
|
||||
CreatedUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
LastUpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
|
||||
LastUpdateUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
CreatedFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
LastUpdateFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
ProvinceId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Districts", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_Districts_Provinces_ProvinceId",
|
||||
column: x => x.ProvinceId,
|
||||
principalTable: "Provinces",
|
||||
principalColumn: "Id");
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "SubDistricts",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
|
||||
Name = table.Column<string>(type: "varchar(150)", maxLength: 150, nullable: false, comment: "เขต/อำเภอ")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
ZipCode = table.Column<string>(type: "varchar(10)", maxLength: 10, nullable: false, comment: "รหัสไปรษณีย์")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false, comment: "สถานะการใช้งาน"),
|
||||
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
|
||||
CreatedUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
LastUpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
|
||||
LastUpdateUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
CreatedFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
LastUpdateFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด")
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
DistrictId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_SubDistricts", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_SubDistricts_Districts_DistrictId",
|
||||
column: x => x.DistrictId,
|
||||
principalTable: "Districts",
|
||||
principalColumn: "Id");
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Districts_ProvinceId",
|
||||
table: "Districts",
|
||||
column: "ProvinceId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_SubDistricts_DistrictId",
|
||||
table: "SubDistricts",
|
||||
column: "DistrictId");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "EducationLevels");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Prefixes");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Relationships");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Religions");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "SubDistricts");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Districts");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Provinces");
|
||||
}
|
||||
}
|
||||
}
|
||||
19
Models/District.cs
Normal file
19
Models/District.cs
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
using Microsoft.EntityFrameworkCore;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Models
|
||||
{
|
||||
public class District : EntityBase
|
||||
{
|
||||
[Required, MaxLength(150), Column(Order = 1), Comment("เขต/อำเภอ")]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
[Column(Order = 2), Comment("สถานะการใช้งาน")]
|
||||
public bool IsActive { get; set; } = true;
|
||||
|
||||
public virtual List<SubDistrict> SubDistricts { get; set; } = new();
|
||||
|
||||
public virtual Province? Province { get; set; }
|
||||
}
|
||||
}
|
||||
15
Models/EducationLevel.cs
Normal file
15
Models/EducationLevel.cs
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
using Microsoft.EntityFrameworkCore;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Models
|
||||
{
|
||||
public class EducationLevel : EntityBase
|
||||
{
|
||||
[Required, MaxLength(100), Column(Order = 1), Comment("ระดับการศึกษา")]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
[Column(Order = 2), Comment("สถานะการใช้งาน")]
|
||||
public bool IsActive { get; set; } = true;
|
||||
}
|
||||
}
|
||||
32
Models/EntityBase.cs
Normal file
32
Models/EntityBase.cs
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
using Microsoft.EntityFrameworkCore;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Models
|
||||
{
|
||||
public class EntityBase
|
||||
{
|
||||
[Key, Column(Order = 0), Comment("PrimaryKey")]
|
||||
[JsonPropertyName("id")]
|
||||
public Guid Id { get; set; }
|
||||
|
||||
[Required, Column(Order = 100), Comment("สร้างข้อมูลเมื่อ")]
|
||||
public DateTime CreatedAt { get; set; } = DateTime.Now;
|
||||
|
||||
[Column(Order = 101), Comment("User Id ที่สร้างข้อมูล"), MaxLength(40)]
|
||||
public string CreatedUserId { get; set; } = string.Empty;
|
||||
|
||||
[Column(Order = 102), Comment("แก้ไขข้อมูลล่าสุดเมื่อ")]
|
||||
public DateTime? LastUpdatedAt { get; set; }
|
||||
|
||||
[Column(Order = 103), Comment("User Id ที่แก้ไขข้อมูลล่าสุด"), MaxLength(40)]
|
||||
public string LastUpdateUserId { get; set; } = string.Empty;
|
||||
|
||||
[Column(Order = 104), Comment("ชื่อ User ที่สร้างข้อมูล"), MaxLength(200)]
|
||||
public string CreatedFullName { get; set; } = string.Empty;
|
||||
|
||||
[Column(Order = 105), Comment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด"), MaxLength(200)]
|
||||
public string LastUpdateFullName { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
15
Models/Prefix.cs
Normal file
15
Models/Prefix.cs
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
using Microsoft.EntityFrameworkCore;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Models
|
||||
{
|
||||
public class Prefix : EntityBase
|
||||
{
|
||||
[Required, MaxLength(50), Column(Order = 2), Comment("รายละเอียดคำนำหน้า")]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
[Column(Order = 3), Comment("สถานะการใช้งาน")]
|
||||
public bool IsActive { get; set; } = true;
|
||||
}
|
||||
}
|
||||
17
Models/Province.cs
Normal file
17
Models/Province.cs
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
using Microsoft.EntityFrameworkCore;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Models
|
||||
{
|
||||
public class Province : EntityBase
|
||||
{
|
||||
[Required, MaxLength(150), Column(Order = 1), Comment("จังหวัด")]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
[Column(Order = 2), Comment("สถานะการใช้งาน")]
|
||||
public bool IsActive { get; set; } = true;
|
||||
|
||||
public virtual List<District> Districts { get; set; } = new();
|
||||
}
|
||||
}
|
||||
14
Models/Relationship.cs
Normal file
14
Models/Relationship.cs
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
using Microsoft.EntityFrameworkCore;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Models;
|
||||
|
||||
public class Relationship : EntityBase
|
||||
{
|
||||
[Required, MaxLength(50), Column(Order = 1), Comment("ชื่อความสัมพันธ์")]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
[Column(Order = 2), Comment("สถานะการใช้งาน")]
|
||||
public bool IsActive { get; set; } = true;
|
||||
}
|
||||
15
Models/Religion.cs
Normal file
15
Models/Religion.cs
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
using Microsoft.EntityFrameworkCore;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Models
|
||||
{
|
||||
public class Religion : EntityBase
|
||||
{
|
||||
[Required, MaxLength(100), Column(Order = 1), Comment("ศาสนา")]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
[Column(Order = 2), Comment("สถานะการใช้งาน")]
|
||||
public bool IsActive { get; set; } = true;
|
||||
}
|
||||
}
|
||||
20
Models/SubDistrict.cs
Normal file
20
Models/SubDistrict.cs
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
using Microsoft.EntityFrameworkCore;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Models
|
||||
{
|
||||
public class SubDistrict : EntityBase
|
||||
{
|
||||
[Required, MaxLength(150), Column(Order = 1), Comment("เขต/อำเภอ")]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
[Required, MaxLength(10), Column(Order = 2), Comment("รหัสไปรษณีย์")]
|
||||
public string ZipCode { get; set; } = string.Empty;
|
||||
|
||||
[Column(Order = 3), Comment("สถานะการใช้งาน")]
|
||||
public bool IsActive { get; set; } = true;
|
||||
|
||||
public virtual District? District { get; set; }
|
||||
}
|
||||
}
|
||||
173
Program.cs
Normal file
173
Program.cs
Normal file
|
|
@ -0,0 +1,173 @@
|
|||
using BMA.EHR.Recurit.Exam.Service;
|
||||
using BMA.EHR.Recurit.Exam.Service.Data;
|
||||
using BMA.EHR.Recurit.Exam.Service.Services;
|
||||
using Microsoft.AspNetCore.Authentication.JwtBearer;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.ApiExplorer;
|
||||
using Microsoft.AspNetCore.Mvc.Versioning;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.IdentityModel.Logging;
|
||||
using Microsoft.IdentityModel.Tokens;
|
||||
using Serilog;
|
||||
using Serilog.Exceptions;
|
||||
using Serilog.Sinks.Elasticsearch;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
var issuer = builder.Configuration["Jwt:Issuer"];
|
||||
var key = builder.Configuration["Jwt:Key"];
|
||||
|
||||
IdentityModelEventSource.ShowPII = true;
|
||||
|
||||
builder.Services.AddHttpContextAccessor();
|
||||
|
||||
builder.Services.AddApiVersioning(opt =>
|
||||
{
|
||||
opt.DefaultApiVersion = new ApiVersion(1, 0);
|
||||
opt.AssumeDefaultVersionWhenUnspecified = true;
|
||||
opt.ReportApiVersions = true;
|
||||
opt.ApiVersionReader = ApiVersionReader.Combine(new UrlSegmentApiVersionReader(),
|
||||
new HeaderApiVersionReader("x-api-version"),
|
||||
new MediaTypeApiVersionReader("x-api-version"));
|
||||
});
|
||||
|
||||
builder.Services.AddVersionedApiExplorer(setup =>
|
||||
{
|
||||
setup.GroupNameFormat = "'v'VVV";
|
||||
setup.SubstituteApiVersionInUrl = true;
|
||||
});
|
||||
|
||||
builder.Services.AddEndpointsApiExplorer();
|
||||
|
||||
// Authorization
|
||||
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(opt =>
|
||||
{
|
||||
opt.RequireHttpsMetadata = false; //false for dev
|
||||
opt.Authority = issuer;
|
||||
opt.TokenValidationParameters = new()
|
||||
{
|
||||
ValidateIssuer = true,
|
||||
ValidateAudience = false,
|
||||
ValidateLifetime = true,
|
||||
ValidateIssuerSigningKey = true,
|
||||
ValidIssuer = issuer,
|
||||
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(key))
|
||||
};
|
||||
});
|
||||
builder.Services.AddAuthorization();
|
||||
|
||||
// use serilog
|
||||
ConfigureLogs();
|
||||
builder.Host.UseSerilog();
|
||||
|
||||
// Register DbContext
|
||||
var defaultConnection = builder.Configuration.GetConnectionString("DefaultConnection");
|
||||
builder.Services.AddDbContext<ApplicationDbContext>(options =>
|
||||
options.UseMySql(defaultConnection, ServerVersion.AutoDetect(defaultConnection)));
|
||||
|
||||
// Add config CORS
|
||||
builder.Services.AddCors(options => options.AddDefaultPolicy(builder =>
|
||||
{
|
||||
builder
|
||||
.AllowAnyOrigin()
|
||||
//.WithOrigins("http://localhost:8000")
|
||||
.AllowAnyMethod()
|
||||
.AllowAnyHeader()
|
||||
.SetIsOriginAllowedToAllowWildcardSubdomains();
|
||||
}));
|
||||
|
||||
// Register Service
|
||||
builder.Services.AddTransient<PrefixService>();
|
||||
builder.Services.AddTransient<ReligionService>();
|
||||
builder.Services.AddTransient<EducationLevelService>();
|
||||
builder.Services.AddTransient<RelationshipService>();
|
||||
builder.Services.AddTransient<ProvinceService>();
|
||||
builder.Services.AddTransient<DistrictService>();
|
||||
builder.Services.AddTransient<SubDistrictService>();
|
||||
|
||||
// Add services to the container.
|
||||
builder.Services.AddControllers(options =>
|
||||
{
|
||||
options.SuppressAsyncSuffixInActionNames = false;
|
||||
})
|
||||
.AddNewtonsoftJson(x => x.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore);
|
||||
|
||||
builder.Services.AddSwaggerGen();
|
||||
|
||||
builder.Services.ConfigureOptions<ConfigureSwaggerOptions>();
|
||||
|
||||
builder.Services.AddHealthChecks();
|
||||
|
||||
var app = builder.Build();
|
||||
var apiVersionDescriptionProvider = app.Services.GetRequiredService<IApiVersionDescriptionProvider>();
|
||||
|
||||
if (app.Environment.IsDevelopment())
|
||||
{
|
||||
app.UseSwagger();
|
||||
//app.UseSwaggerUI();
|
||||
app.UseSwaggerUI(options =>
|
||||
{
|
||||
foreach (var description in apiVersionDescriptionProvider.ApiVersionDescriptions)
|
||||
{
|
||||
options.SwaggerEndpoint($"/swagger/{description.GroupName}/swagger.json",
|
||||
description.GroupName.ToUpperInvariant());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
app.MapHealthChecks("/health");
|
||||
|
||||
app.UseHttpsRedirection();
|
||||
app.UseCors();
|
||||
app.UseAuthentication();
|
||||
app.UseAuthorization();
|
||||
app.UseDefaultFiles();
|
||||
app.UseStaticFiles();
|
||||
app.MapControllers();
|
||||
|
||||
// apply migrations
|
||||
await using var scope = app.Services.CreateAsyncScope();
|
||||
await using var db = scope.ServiceProvider.GetRequiredService<ApplicationDbContext>();
|
||||
await db.Database.MigrateAsync();
|
||||
|
||||
// seed default data
|
||||
await DatabaseSeeder.SeedPrefixAsync(app);
|
||||
await DatabaseSeeder.SeedEducationLevelAsync(app);
|
||||
await DatabaseSeeder.SeedReligionAsync(app);
|
||||
await DatabaseSeeder.SeedRelationshipAsync(app);
|
||||
await DatabaseSeeder.SeedProvinceAsync(app);
|
||||
|
||||
app.Run();
|
||||
|
||||
void ConfigureLogs()
|
||||
{
|
||||
var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
|
||||
var configuration = new ConfigurationBuilder()
|
||||
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
|
||||
.AddJsonFile(
|
||||
$"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")}.json",
|
||||
optional: true)
|
||||
.Build();
|
||||
|
||||
Log.Logger = new LoggerConfiguration()
|
||||
.Enrich.FromLogContext()
|
||||
// .WriteTo.Debug()
|
||||
.MinimumLevel.Error()
|
||||
.WriteTo.Console()
|
||||
.Enrich.WithExceptionDetails()
|
||||
// .Enrich.WithEnvironmentUserName()
|
||||
.WriteTo.Elasticsearch(ConfigureElasticSink(configuration, environment ?? ""))
|
||||
.Enrich.WithProperty("Environment", environment)
|
||||
.ReadFrom.Configuration(configuration)
|
||||
.CreateLogger();
|
||||
}
|
||||
|
||||
ElasticsearchSinkOptions ConfigureElasticSink(IConfigurationRoot configuration, string environment)
|
||||
{
|
||||
return new ElasticsearchSinkOptions(new Uri(configuration["ElasticConfiguration:Uri"] ?? ""))
|
||||
{
|
||||
AutoRegisterTemplate = true,
|
||||
IndexFormat = $"{Assembly.GetExecutingAssembly()?.GetName()?.Name?.ToLower().Replace(".", "-")}-{environment?.ToLower().Replace(".", "-")}"
|
||||
};
|
||||
}
|
||||
68
Properties/launchSettings.json
Normal file
68
Properties/launchSettings.json
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
{
|
||||
"profiles": {
|
||||
"dotnet": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "swagger",
|
||||
"applicationUrl": "https://localhost:7007;http://localhost:5261",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
},
|
||||
"dotnetRunMessages": true
|
||||
},
|
||||
"http": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "swagger",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
},
|
||||
"dotnetRunMessages": true,
|
||||
"applicationUrl": "http://localhost:5261"
|
||||
},
|
||||
"https": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "swagger",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
},
|
||||
"dotnetRunMessages": true,
|
||||
"applicationUrl": "https://localhost:7007;http://localhost:5261"
|
||||
},
|
||||
"https-api": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "swagger",
|
||||
"applicationUrl": "https://localhost:7007;http://localhost:5261",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
},
|
||||
"dotnetRunMessages": true
|
||||
},
|
||||
"IIS Express": {
|
||||
"commandName": "IISExpress",
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "swagger",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"Docker": {
|
||||
"commandName": "Docker",
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/swagger",
|
||||
"publishAllPorts": true,
|
||||
"useSSL": true
|
||||
}
|
||||
},
|
||||
"$schema": "https://json.schemastore.org/launchsettings.json",
|
||||
"iisSettings": {
|
||||
"windowsAuthentication": false,
|
||||
"anonymousAuthentication": true,
|
||||
"iisExpress": {
|
||||
"applicationUrl": "http://localhost:6911",
|
||||
"sslPort": 44307
|
||||
}
|
||||
}
|
||||
}
|
||||
13
Response/ResponseObject.cs
Normal file
13
Response/ResponseObject.cs
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
using System.Net;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Response
|
||||
{
|
||||
public class ResponseObject
|
||||
{
|
||||
public int Status { get; set; }
|
||||
|
||||
public string? Message { get; set; }
|
||||
|
||||
public object? Result { get; set; }
|
||||
}
|
||||
}
|
||||
BIN
SeedHoliday.xlsx
Normal file
BIN
SeedHoliday.xlsx
Normal file
Binary file not shown.
BIN
SeedInsignia.xlsx
Normal file
BIN
SeedInsignia.xlsx
Normal file
Binary file not shown.
BIN
SeedOrganization.xlsx
Normal file
BIN
SeedOrganization.xlsx
Normal file
Binary file not shown.
BIN
SeedPerson.xlsx
Normal file
BIN
SeedPerson.xlsx
Normal file
Binary file not shown.
BIN
SeedPosition.xlsx
Normal file
BIN
SeedPosition.xlsx
Normal file
Binary file not shown.
BIN
SeedPositionEmployee.xlsx
Normal file
BIN
SeedPositionEmployee.xlsx
Normal file
Binary file not shown.
101
Services/DistrictService.cs
Normal file
101
Services/DistrictService.cs
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
using System.Security.Claims;
|
||||
using BMA.EHR.Recurit.Exam.Service.Data;
|
||||
using BMA.EHR.Recurit.Exam.Service.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||
{
|
||||
public class DistrictService
|
||||
{
|
||||
#region " Fields "
|
||||
|
||||
private readonly ApplicationDbContext _context;
|
||||
private readonly IHttpContextAccessor _httpContextAccessor;
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Constructor and Destructor "
|
||||
|
||||
public DistrictService(ApplicationDbContext context,
|
||||
IHttpContextAccessor httpContextAccessor)
|
||||
{
|
||||
_context = context;
|
||||
_httpContextAccessor = httpContextAccessor;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Properties "
|
||||
|
||||
private string? UserId => _httpContextAccessor?.HttpContext?.User?.FindFirst(ClaimTypes.NameIdentifier)?.Value;
|
||||
|
||||
private string? FullName => _httpContextAccessor?.HttpContext?.User?.FindFirst("name")?.Value;
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Methods "
|
||||
|
||||
public async Task<IEnumerable<District>> GetsAsync(string provinceId, bool showAll = true)
|
||||
{
|
||||
if (showAll)
|
||||
return await _context.Districts.AsQueryable()
|
||||
.Where(x => x.Province.Id == Guid.Parse(provinceId))
|
||||
.OrderBy(d => d.Name)
|
||||
.ToListAsync();
|
||||
else
|
||||
return await _context.Districts.AsQueryable()
|
||||
.Where(x => x.Province.Id == Guid.Parse(provinceId))
|
||||
.Where(p => p.IsActive)
|
||||
.OrderBy(d => d.Name)
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
public async Task<District?> GetByIdAsync(Guid id)
|
||||
{
|
||||
return await _context.Districts.FirstOrDefaultAsync(x => x.Id == id);
|
||||
}
|
||||
|
||||
public async Task UpdateAsync(Guid id, District updated)
|
||||
{
|
||||
var existData = await _context.Districts.FirstOrDefaultAsync(x => x.Id == id);
|
||||
if (existData != null)
|
||||
{
|
||||
if (existData.Name != updated.Name)
|
||||
{
|
||||
existData.Name = updated.Name;
|
||||
existData.LastUpdatedAt = DateTime.Now;
|
||||
existData.LastUpdateUserId = UserId ?? "";
|
||||
existData.LastUpdateFullName = FullName ?? "";
|
||||
}
|
||||
|
||||
if (existData.IsActive != updated.IsActive)
|
||||
{
|
||||
existData.IsActive = updated.IsActive;
|
||||
existData.LastUpdatedAt = DateTime.Now;
|
||||
existData.LastUpdateUserId = UserId ?? "";
|
||||
existData.LastUpdateFullName = FullName ?? "";
|
||||
}
|
||||
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task CreateAsync(District inserted, string provinceId)
|
||||
{
|
||||
var province = await _context.Provinces.FirstOrDefaultAsync(x => x.Id == Guid.Parse(provinceId));
|
||||
inserted.CreatedUserId = UserId ?? "";
|
||||
inserted.CreatedFullName = FullName ?? "System Administrator";
|
||||
inserted.CreatedAt = DateTime.Now;
|
||||
inserted.LastUpdatedAt = DateTime.Now;
|
||||
inserted.LastUpdateFullName = FullName ?? "System Administrator";
|
||||
inserted.LastUpdateUserId = UserId ?? "";
|
||||
inserted.Province = province;
|
||||
await _context.Districts.AddAsync(inserted);
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
98
Services/EducationLevelService.cs
Normal file
98
Services/EducationLevelService.cs
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
using System.Security.Claims;
|
||||
using BMA.EHR.Recurit.Exam.Service.Data;
|
||||
using BMA.EHR.Recurit.Exam.Service.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||
{
|
||||
public class EducationLevelService
|
||||
{
|
||||
#region " Fields "
|
||||
|
||||
private readonly ApplicationDbContext _context;
|
||||
private readonly IHttpContextAccessor _httpContextAccessor;
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Constructor and Destructor "
|
||||
|
||||
public EducationLevelService(ApplicationDbContext context,
|
||||
IHttpContextAccessor httpContextAccessor)
|
||||
{
|
||||
_context = context;
|
||||
_httpContextAccessor = httpContextAccessor;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Properties "
|
||||
|
||||
private string? UserId => _httpContextAccessor?.HttpContext?.User?.FindFirst(ClaimTypes.NameIdentifier)?.Value;
|
||||
|
||||
private string? FullName => _httpContextAccessor?.HttpContext?.User?.FindFirst("name")?.Value;
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Methods "
|
||||
|
||||
public async Task<IEnumerable<EducationLevel>> GetsAsync(bool showAll = true)
|
||||
{
|
||||
if (showAll)
|
||||
return await _context.EducationLevels.AsQueryable()
|
||||
.OrderBy(d => d.Name)
|
||||
.ToListAsync();
|
||||
else
|
||||
return await _context.EducationLevels.AsQueryable()
|
||||
.Where(p => p.IsActive)
|
||||
.OrderBy(d => d.Name)
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
public async Task<EducationLevel?> GetByIdAsync(Guid id)
|
||||
{
|
||||
return await _context.EducationLevels.FirstOrDefaultAsync(x => x.Id == id);
|
||||
}
|
||||
|
||||
public async Task UpdateAsync(Guid id, EducationLevel updated)
|
||||
{
|
||||
var existData = await _context.EducationLevels.FirstOrDefaultAsync(x => x.Id == id);
|
||||
if (existData != null)
|
||||
{
|
||||
if (existData.Name != updated.Name)
|
||||
{
|
||||
existData.Name = updated.Name;
|
||||
existData.LastUpdatedAt = DateTime.Now;
|
||||
existData.LastUpdateUserId = UserId ?? "";
|
||||
existData.LastUpdateFullName = FullName ?? "";
|
||||
}
|
||||
|
||||
if (existData.IsActive != updated.IsActive)
|
||||
{
|
||||
existData.IsActive = updated.IsActive;
|
||||
existData.LastUpdatedAt = DateTime.Now;
|
||||
existData.LastUpdateUserId = UserId ?? "";
|
||||
existData.LastUpdateFullName = FullName ?? "";
|
||||
}
|
||||
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task CreateAsync(EducationLevel inserted)
|
||||
{
|
||||
inserted.CreatedUserId = UserId ?? "";
|
||||
inserted.CreatedFullName = FullName ?? "System Administrator";
|
||||
inserted.CreatedAt = DateTime.Now;
|
||||
inserted.LastUpdatedAt = DateTime.Now;
|
||||
inserted.LastUpdateFullName = FullName ?? "System Administrator";
|
||||
inserted.LastUpdateUserId = UserId ?? "";
|
||||
|
||||
await _context.EducationLevels.AddAsync(inserted);
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
98
Services/PrefixService.cs
Normal file
98
Services/PrefixService.cs
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
using BMA.EHR.Recurit.Exam.Service.Data;
|
||||
using BMA.EHR.Recurit.Exam.Service.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Security.Claims;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||
{
|
||||
public class PrefixService
|
||||
{
|
||||
#region " Fields "
|
||||
|
||||
private readonly ApplicationDbContext _context;
|
||||
private readonly IHttpContextAccessor _httpContextAccessor;
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Constructor and Destructor "
|
||||
|
||||
public PrefixService(ApplicationDbContext context,
|
||||
IHttpContextAccessor httpContextAccessor)
|
||||
{
|
||||
_context = context;
|
||||
_httpContextAccessor = httpContextAccessor;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Properties "
|
||||
|
||||
private string? UserId => _httpContextAccessor?.HttpContext?.User?.FindFirst(ClaimTypes.NameIdentifier)?.Value;
|
||||
|
||||
private string? FullName => _httpContextAccessor?.HttpContext?.User?.FindFirst("name")?.Value;
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Methods "
|
||||
|
||||
public async Task<IEnumerable<Prefix>> GetsAsync(bool showAll = true)
|
||||
{
|
||||
if (showAll)
|
||||
return await _context.Prefixes.AsQueryable()
|
||||
.OrderBy(d => d.Name)
|
||||
.ToListAsync();
|
||||
else
|
||||
return await _context.Prefixes.AsQueryable()
|
||||
.Where(p => p.IsActive)
|
||||
.OrderBy(d => d.Name)
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
public async Task<Prefix?> GetByIdAsync(Guid id)
|
||||
{
|
||||
return await _context.Prefixes.FirstOrDefaultAsync(x => x.Id == id);
|
||||
}
|
||||
|
||||
public async Task UpdateAsync(Guid id, Prefix updated)
|
||||
{
|
||||
var existData = await _context.Prefixes.FirstOrDefaultAsync(x => x.Id == id);
|
||||
if (existData != null)
|
||||
{
|
||||
if (existData.Name != updated.Name)
|
||||
{
|
||||
existData.Name = updated.Name;
|
||||
existData.LastUpdateUserId = UserId ?? "";
|
||||
existData.LastUpdateFullName = FullName ?? "";
|
||||
existData.LastUpdatedAt = DateTime.Now;
|
||||
}
|
||||
|
||||
if (existData.IsActive != updated.IsActive)
|
||||
{
|
||||
existData.IsActive = updated.IsActive;
|
||||
existData.LastUpdateUserId = UserId ?? "";
|
||||
existData.LastUpdateFullName = FullName ?? "";
|
||||
existData.LastUpdatedAt = DateTime.Now;
|
||||
}
|
||||
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task CreateAsync(Prefix inserted)
|
||||
{
|
||||
inserted.CreatedUserId = UserId ?? "";
|
||||
inserted.CreatedFullName = FullName ?? "System Administrator";
|
||||
inserted.CreatedAt = DateTime.Now;
|
||||
inserted.LastUpdatedAt = DateTime.Now;
|
||||
inserted.LastUpdateFullName = FullName ?? "System Administrator";
|
||||
inserted.LastUpdateUserId = UserId ?? "";
|
||||
|
||||
await _context.Prefixes.AddAsync(inserted);
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
98
Services/ProvinceService.cs
Normal file
98
Services/ProvinceService.cs
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
using BMA.EHR.Recurit.Exam.Service.Data;
|
||||
using BMA.EHR.Recurit.Exam.Service.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Security.Claims;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||
{
|
||||
public class ProvinceService
|
||||
{
|
||||
#region " Fields "
|
||||
|
||||
private readonly ApplicationDbContext _context;
|
||||
private readonly IHttpContextAccessor _httpContextAccessor;
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Constructor and Destructor "
|
||||
|
||||
public ProvinceService(ApplicationDbContext context,
|
||||
IHttpContextAccessor httpContextAccessor)
|
||||
{
|
||||
_context = context;
|
||||
_httpContextAccessor = httpContextAccessor;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Properties "
|
||||
|
||||
private string? UserId => _httpContextAccessor?.HttpContext?.User?.FindFirst(ClaimTypes.NameIdentifier)?.Value;
|
||||
|
||||
private string? FullName => _httpContextAccessor?.HttpContext?.User?.FindFirst("name")?.Value;
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Methods "
|
||||
|
||||
public async Task<IEnumerable<Province>> GetsAsync(bool showAll = true)
|
||||
{
|
||||
if (showAll)
|
||||
return await _context.Provinces.AsQueryable()
|
||||
.OrderBy(d => d.Name)
|
||||
.ToListAsync();
|
||||
else
|
||||
return await _context.Provinces.AsQueryable()
|
||||
.Where(p => p.IsActive)
|
||||
.OrderBy(d => d.Name)
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
public async Task<Province?> GetByIdAsync(Guid id)
|
||||
{
|
||||
return await _context.Provinces.FirstOrDefaultAsync(x => x.Id == id);
|
||||
}
|
||||
|
||||
public async Task UpdateAsync(Guid id, Province updated)
|
||||
{
|
||||
var existData = await _context.Provinces.FirstOrDefaultAsync(x => x.Id == id);
|
||||
if (existData != null)
|
||||
{
|
||||
if (existData.Name != updated.Name)
|
||||
{
|
||||
existData.Name = updated.Name;
|
||||
existData.LastUpdatedAt = DateTime.Now;
|
||||
existData.LastUpdateUserId = UserId ?? "";
|
||||
existData.LastUpdateFullName = FullName ?? "";
|
||||
}
|
||||
|
||||
if (existData.IsActive != updated.IsActive)
|
||||
{
|
||||
existData.IsActive = updated.IsActive;
|
||||
existData.LastUpdatedAt = DateTime.Now;
|
||||
existData.LastUpdateUserId = UserId ?? "";
|
||||
existData.LastUpdateFullName = FullName ?? "";
|
||||
}
|
||||
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task CreateAsync(Province inserted)
|
||||
{
|
||||
inserted.CreatedUserId = UserId ?? "";
|
||||
inserted.CreatedFullName = FullName ?? "System Administrator";
|
||||
inserted.CreatedAt = DateTime.Now;
|
||||
inserted.LastUpdatedAt = DateTime.Now;
|
||||
inserted.LastUpdateFullName = FullName ?? "System Administrator";
|
||||
inserted.LastUpdateUserId = UserId ?? "";
|
||||
|
||||
await _context.Provinces.AddAsync(inserted);
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
97
Services/RelationshipService.cs
Normal file
97
Services/RelationshipService.cs
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
using System.Security.Claims;
|
||||
using BMA.EHR.Recurit.Exam.Service.Data;
|
||||
using BMA.EHR.Recurit.Exam.Service.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Services;
|
||||
|
||||
public class RelationshipService
|
||||
{
|
||||
#region " Fields "
|
||||
|
||||
private readonly ApplicationDbContext _context;
|
||||
private readonly IHttpContextAccessor _httpContextAccessor;
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Constructor and Destructor "
|
||||
|
||||
public RelationshipService(ApplicationDbContext context,
|
||||
IHttpContextAccessor httpContextAccessor)
|
||||
{
|
||||
_context = context;
|
||||
_httpContextAccessor = httpContextAccessor;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Properties "
|
||||
|
||||
private string? UserId => _httpContextAccessor?.HttpContext?.User?.FindFirst(ClaimTypes.NameIdentifier)?.Value;
|
||||
|
||||
private string? FullName => _httpContextAccessor?.HttpContext?.User?.FindFirst("name")?.Value;
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Methods "
|
||||
|
||||
public async Task<IEnumerable<Relationship>> GetsAsync(bool showAll = true)
|
||||
{
|
||||
if (showAll)
|
||||
return await _context.Relationships.AsQueryable()
|
||||
.OrderBy(d => d.Name)
|
||||
.ToListAsync();
|
||||
else
|
||||
return await _context.Relationships.AsQueryable()
|
||||
.Where(p => p.IsActive)
|
||||
.OrderBy(d => d.Name)
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
public async Task<Relationship?> GetByIdAsync(Guid id)
|
||||
{
|
||||
return await _context.Relationships.FirstOrDefaultAsync(x => x.Id == id);
|
||||
}
|
||||
|
||||
public async Task UpdateAsync(Guid id, Relationship updated)
|
||||
{
|
||||
var existData = await _context.Relationships.FirstOrDefaultAsync(x => x.Id == id);
|
||||
if (existData != null)
|
||||
{
|
||||
if (existData.Name != updated.Name)
|
||||
{
|
||||
existData.Name = updated.Name;
|
||||
existData.LastUpdateUserId = UserId ?? "";
|
||||
existData.LastUpdateFullName = FullName ?? "";
|
||||
existData.LastUpdatedAt = DateTime.Now;
|
||||
}
|
||||
|
||||
if (existData.IsActive != updated.IsActive)
|
||||
{
|
||||
existData.IsActive = updated.IsActive;
|
||||
existData.LastUpdateUserId = UserId ?? "";
|
||||
existData.LastUpdateFullName = FullName ?? "";
|
||||
existData.LastUpdatedAt = DateTime.Now;
|
||||
}
|
||||
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task CreateAsync(Relationship inserted)
|
||||
{
|
||||
inserted.CreatedUserId = UserId ?? "";
|
||||
inserted.CreatedFullName = FullName ?? "System Administrator";
|
||||
inserted.CreatedAt = DateTime.Now;
|
||||
inserted.LastUpdatedAt = DateTime.Now;
|
||||
inserted.LastUpdateFullName = FullName ?? "System Administrator";
|
||||
inserted.LastUpdateUserId = UserId ?? "";
|
||||
|
||||
await _context.Relationships.AddAsync(inserted);
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
98
Services/ReligionService.cs
Normal file
98
Services/ReligionService.cs
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
using System.Security.Claims;
|
||||
using BMA.EHR.Recurit.Exam.Service.Data;
|
||||
using BMA.EHR.Recurit.Exam.Service.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||
{
|
||||
public class ReligionService
|
||||
{
|
||||
#region " Fields "
|
||||
|
||||
private readonly ApplicationDbContext _context;
|
||||
private readonly IHttpContextAccessor _httpContextAccessor;
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Constructor and Destructor "
|
||||
|
||||
public ReligionService(ApplicationDbContext context,
|
||||
IHttpContextAccessor httpContextAccessor)
|
||||
{
|
||||
_context = context;
|
||||
_httpContextAccessor = httpContextAccessor;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Properties "
|
||||
|
||||
private string? UserId => _httpContextAccessor?.HttpContext?.User?.FindFirst(ClaimTypes.NameIdentifier)?.Value;
|
||||
|
||||
private string? FullName => _httpContextAccessor?.HttpContext?.User?.FindFirst("name")?.Value;
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Methods "
|
||||
|
||||
public async Task<IEnumerable<Religion>> GetsAsync(bool showAll = true)
|
||||
{
|
||||
if (showAll)
|
||||
return await _context.Religions.AsQueryable()
|
||||
.OrderBy(d => d.Name)
|
||||
.ToListAsync();
|
||||
else
|
||||
return await _context.Religions.AsQueryable()
|
||||
.Where(p => p.IsActive)
|
||||
.OrderBy(d => d.Name)
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
public async Task<Religion?> GetByIdAsync(Guid id)
|
||||
{
|
||||
return await _context.Religions.FirstOrDefaultAsync(x => x.Id == id);
|
||||
}
|
||||
|
||||
public async Task UpdateAsync(Guid id, Religion updated)
|
||||
{
|
||||
var existData = await _context.Religions.FirstOrDefaultAsync(x => x.Id == id);
|
||||
if (existData != null)
|
||||
{
|
||||
if (existData.Name != updated.Name)
|
||||
{
|
||||
existData.Name = updated.Name;
|
||||
existData.LastUpdateUserId = UserId ?? "";
|
||||
existData.LastUpdateFullName = FullName ?? "";
|
||||
existData.LastUpdatedAt = DateTime.Now;
|
||||
}
|
||||
|
||||
if (existData.IsActive != updated.IsActive)
|
||||
{
|
||||
existData.IsActive = updated.IsActive;
|
||||
existData.LastUpdateUserId = UserId ?? "";
|
||||
existData.LastUpdateFullName = FullName ?? "";
|
||||
existData.LastUpdatedAt = DateTime.Now;
|
||||
}
|
||||
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task CreateAsync(Religion inserted)
|
||||
{
|
||||
inserted.CreatedUserId = UserId ?? "";
|
||||
inserted.CreatedFullName = FullName ?? "System Administrator";
|
||||
inserted.CreatedAt = DateTime.Now;
|
||||
inserted.LastUpdatedAt = DateTime.Now;
|
||||
inserted.LastUpdateFullName = FullName ?? "System Administrator";
|
||||
inserted.LastUpdateUserId = UserId ?? "";
|
||||
|
||||
await _context.Religions.AddAsync(inserted);
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
119
Services/SubDistrictService.cs
Normal file
119
Services/SubDistrictService.cs
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
using System.Collections.Immutable;
|
||||
using System.Security.Claims;
|
||||
using BMA.EHR.Extensions;
|
||||
using BMA.EHR.Recurit.Exam.Service.Data;
|
||||
using BMA.EHR.Recurit.Exam.Service.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||
{
|
||||
public class SubDistrictService
|
||||
{
|
||||
#region " Fields "
|
||||
|
||||
private readonly ApplicationDbContext _context;
|
||||
private readonly IHttpContextAccessor _httpContextAccessor;
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Constructor and Destructor "
|
||||
|
||||
public SubDistrictService(ApplicationDbContext context,
|
||||
IHttpContextAccessor httpContextAccessor)
|
||||
{
|
||||
_context = context;
|
||||
_httpContextAccessor = httpContextAccessor;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Properties "
|
||||
|
||||
private string? UserId => _httpContextAccessor?.HttpContext?.User?.FindFirst(ClaimTypes.NameIdentifier)?.Value;
|
||||
|
||||
private string? FullName => _httpContextAccessor?.HttpContext?.User?.FindFirst("name")?.Value;
|
||||
|
||||
#endregion
|
||||
|
||||
#region " Methods "
|
||||
|
||||
public async Task<IEnumerable<SubDistrict>> GetsAsync(string districtId, bool showAll = true)
|
||||
{
|
||||
if (showAll)
|
||||
return await _context.SubDistricts.AsQueryable()
|
||||
.Include(d => d.District)
|
||||
.Where(x => x.District.Id == Guid.Parse(districtId))
|
||||
.OrderBy(d => d.Name)
|
||||
.ToListAsync();
|
||||
else
|
||||
return await _context.SubDistricts.AsQueryable()
|
||||
.Include(d => d.District)
|
||||
.Where(x => x.District.Id == Guid.Parse(districtId))
|
||||
.Where(p => p.IsActive)
|
||||
.OrderBy(d => d.Name)
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
public async Task<SubDistrict?> GetByIdAsync(Guid id)
|
||||
{
|
||||
return await _context.SubDistricts.AsQueryable()
|
||||
.Include(d => d.District)
|
||||
.FirstOrDefaultAsync(x => x.Id == id);
|
||||
}
|
||||
|
||||
public async Task UpdateAsync(Guid id, SubDistrict updated)
|
||||
{
|
||||
var existData = await _context.SubDistricts.FirstOrDefaultAsync(x => x.Id == id);
|
||||
if (existData != null)
|
||||
{
|
||||
// if (!existData.Compare(updated))
|
||||
// {
|
||||
// existData.Name = updated.Name;
|
||||
// existData.ZipCode = updated.ZipCode;
|
||||
// existData.IsActive = updated.IsActive;
|
||||
// existData.LastUpdatedAt = DateTime.Now;
|
||||
// existData.LastUpdateUserId = UserId ?? "";
|
||||
// existData.LastUpdateFullName = FullName ?? "";
|
||||
|
||||
// await _context.SaveChangesAsync();
|
||||
// }
|
||||
if (existData.Name != updated.Name || existData.ZipCode != updated.ZipCode)
|
||||
{
|
||||
existData.Name = updated.Name;
|
||||
existData.ZipCode = updated.ZipCode;
|
||||
existData.LastUpdatedAt = DateTime.Now;
|
||||
existData.LastUpdateUserId = UserId ?? "";
|
||||
existData.LastUpdateFullName = FullName ?? "";
|
||||
}
|
||||
|
||||
if (existData.IsActive != updated.IsActive)
|
||||
{
|
||||
existData.IsActive = updated.IsActive;
|
||||
existData.LastUpdatedAt = DateTime.Now;
|
||||
existData.LastUpdateUserId = UserId ?? "";
|
||||
existData.LastUpdateFullName = FullName ?? "";
|
||||
}
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task CreateAsync(SubDistrict inserted, string districtId)
|
||||
{
|
||||
var district = await _context.Districts.FirstOrDefaultAsync(x => x.Id == Guid.Parse(districtId));
|
||||
inserted.CreatedUserId = UserId ?? "";
|
||||
inserted.CreatedFullName = FullName ?? "System Administrator";
|
||||
inserted.CreatedAt = DateTime.Now;
|
||||
inserted.LastUpdatedAt = DateTime.Now;
|
||||
inserted.LastUpdateFullName = FullName ?? "System Administrator";
|
||||
inserted.LastUpdateUserId = UserId ?? "";
|
||||
inserted.District = district;
|
||||
|
||||
await _context.SubDistricts.AddAsync(inserted);
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
28
appsettings.Development.json
Normal file
28
appsettings.Development.json
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
"Serilog": {
|
||||
"MinimumLevel": {
|
||||
"Default": "Information",
|
||||
"Override": {
|
||||
"Microsoft": "Information",
|
||||
"System": "Warning"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ElasticConfiguration": {
|
||||
"Uri": "http://localhost:9200"
|
||||
},
|
||||
"AllowedHosts": "*",
|
||||
"ConnectionStrings": {
|
||||
"MongoConnection": "mongodb://127.0.0.1:27017",
|
||||
"DefaultConnection": "server=127.0.0.1;user=root;password=P@ssw0rd;port=3308;database=bma_ehr_exam;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;"
|
||||
},
|
||||
"Jwt": {
|
||||
"Key": "HP-FnQMUj9msHMSD3T9HtdEnphAKoCJLEl85CIqROFI",
|
||||
"Issuer": "https://identity.frappet.com/realms/bma-ehr-exam"
|
||||
},
|
||||
"EPPlus": {
|
||||
"ExcelPackage": {
|
||||
"LicenseContext": "NonCommercial"
|
||||
}
|
||||
}
|
||||
}
|
||||
28
appsettings.json
Normal file
28
appsettings.json
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
"Serilog": {
|
||||
"MinimumLevel": {
|
||||
"Default": "Information",
|
||||
"Override": {
|
||||
"Microsoft": "Information",
|
||||
"System": "Warning"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ElasticConfiguration": {
|
||||
"Uri": "http://localhost:9200"
|
||||
},
|
||||
"AllowedHosts": "*",
|
||||
"ConnectionStrings": {
|
||||
"MongoConnection": "mongodb://admin:adminVM123@127.0.0.1:27017",
|
||||
"DefaultConnection": "server=127.0.0.1;user=root;password=P@ssw0rd;port=3308;database=bma_ehr_exam;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;"
|
||||
},
|
||||
"Jwt": {
|
||||
"Key": "HP-FnQMUj9msHMSD3T9HtdEnphAKoCJLEl85CIqROFI",
|
||||
"Issuer": "https://identity.frappet.com/realms/bma-ehr-exam"
|
||||
},
|
||||
"EPPlus": {
|
||||
"ExcelPackage": {
|
||||
"LicenseContext": "NonCommercial"
|
||||
}
|
||||
}
|
||||
}
|
||||
2682
bin/Debug/net7.0/BMA-EHR-Recurit-Exam-Service.deps.json
Normal file
2682
bin/Debug/net7.0/BMA-EHR-Recurit-Exam-Service.deps.json
Normal file
File diff suppressed because it is too large
Load diff
BIN
bin/Debug/net7.0/BMA-EHR-Recurit-Exam-Service.dll
Normal file
BIN
bin/Debug/net7.0/BMA-EHR-Recurit-Exam-Service.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/BMA-EHR-Recurit-Exam-Service.exe
Normal file
BIN
bin/Debug/net7.0/BMA-EHR-Recurit-Exam-Service.exe
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/BMA-EHR-Recurit-Exam-Service.pdb
Normal file
BIN
bin/Debug/net7.0/BMA-EHR-Recurit-Exam-Service.pdb
Normal file
Binary file not shown.
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "net7.0",
|
||||
"frameworks": [
|
||||
{
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "7.0.0"
|
||||
},
|
||||
{
|
||||
"name": "Microsoft.AspNetCore.App",
|
||||
"version": "7.0.0"
|
||||
}
|
||||
],
|
||||
"configProperties": {
|
||||
"System.GC.Server": true,
|
||||
"System.Reflection.NullabilityInfoContext.IsSupported": true,
|
||||
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
bin/Debug/net7.0/BMA.EHR.Core.dll
Normal file
BIN
bin/Debug/net7.0/BMA.EHR.Core.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/BMA.EHR.Extensions.dll
Normal file
BIN
bin/Debug/net7.0/BMA.EHR.Extensions.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/EPPlus.Interfaces.dll
Normal file
BIN
bin/Debug/net7.0/EPPlus.Interfaces.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/EPPlus.System.Drawing.dll
Normal file
BIN
bin/Debug/net7.0/EPPlus.System.Drawing.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/EPPlus.dll
Normal file
BIN
bin/Debug/net7.0/EPPlus.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Elasticsearch.Net.dll
Normal file
BIN
bin/Debug/net7.0/Elasticsearch.Net.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Humanizer.dll
Normal file
BIN
bin/Debug/net7.0/Humanizer.dll
Normal file
Binary file not shown.
Binary file not shown.
BIN
bin/Debug/net7.0/Microsoft.AspNetCore.JsonPatch.dll
Normal file
BIN
bin/Debug/net7.0/Microsoft.AspNetCore.JsonPatch.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Microsoft.AspNetCore.Mvc.NewtonsoftJson.dll
Normal file
BIN
bin/Debug/net7.0/Microsoft.AspNetCore.Mvc.NewtonsoftJson.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Microsoft.AspNetCore.Mvc.Razor.Extensions.dll
Normal file
BIN
bin/Debug/net7.0/Microsoft.AspNetCore.Mvc.Razor.Extensions.dll
Normal file
Binary file not shown.
Binary file not shown.
BIN
bin/Debug/net7.0/Microsoft.AspNetCore.Mvc.Versioning.dll
Normal file
BIN
bin/Debug/net7.0/Microsoft.AspNetCore.Mvc.Versioning.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Microsoft.AspNetCore.OpenApi.dll
Normal file
BIN
bin/Debug/net7.0/Microsoft.AspNetCore.OpenApi.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Microsoft.AspNetCore.Razor.Language.dll
Normal file
BIN
bin/Debug/net7.0/Microsoft.AspNetCore.Razor.Language.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Microsoft.CodeAnalysis.CSharp.dll
Normal file
BIN
bin/Debug/net7.0/Microsoft.CodeAnalysis.CSharp.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Microsoft.CodeAnalysis.Razor.dll
Normal file
BIN
bin/Debug/net7.0/Microsoft.CodeAnalysis.Razor.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Microsoft.CodeAnalysis.dll
Normal file
BIN
bin/Debug/net7.0/Microsoft.CodeAnalysis.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Microsoft.EntityFrameworkCore.Abstractions.dll
Normal file
BIN
bin/Debug/net7.0/Microsoft.EntityFrameworkCore.Abstractions.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Microsoft.EntityFrameworkCore.Design.dll
Normal file
BIN
bin/Debug/net7.0/Microsoft.EntityFrameworkCore.Design.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Microsoft.EntityFrameworkCore.Relational.dll
Normal file
BIN
bin/Debug/net7.0/Microsoft.EntityFrameworkCore.Relational.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Microsoft.EntityFrameworkCore.dll
Normal file
BIN
bin/Debug/net7.0/Microsoft.EntityFrameworkCore.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Microsoft.Extensions.DependencyModel.dll
Normal file
BIN
bin/Debug/net7.0/Microsoft.Extensions.DependencyModel.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Microsoft.IO.RecyclableMemoryStream.dll
Normal file
BIN
bin/Debug/net7.0/Microsoft.IO.RecyclableMemoryStream.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Microsoft.IdentityModel.JsonWebTokens.dll
Normal file
BIN
bin/Debug/net7.0/Microsoft.IdentityModel.JsonWebTokens.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Microsoft.IdentityModel.Logging.dll
Normal file
BIN
bin/Debug/net7.0/Microsoft.IdentityModel.Logging.dll
Normal file
Binary file not shown.
Binary file not shown.
BIN
bin/Debug/net7.0/Microsoft.IdentityModel.Protocols.dll
Normal file
BIN
bin/Debug/net7.0/Microsoft.IdentityModel.Protocols.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Microsoft.IdentityModel.Tokens.dll
Normal file
BIN
bin/Debug/net7.0/Microsoft.IdentityModel.Tokens.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Microsoft.OpenApi.dll
Normal file
BIN
bin/Debug/net7.0/Microsoft.OpenApi.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Microsoft.Win32.SystemEvents.dll
Normal file
BIN
bin/Debug/net7.0/Microsoft.Win32.SystemEvents.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Mono.TextTemplating.dll
Normal file
BIN
bin/Debug/net7.0/Mono.TextTemplating.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/MySqlConnector.dll
Normal file
BIN
bin/Debug/net7.0/MySqlConnector.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Newtonsoft.Json.Bson.dll
Normal file
BIN
bin/Debug/net7.0/Newtonsoft.Json.Bson.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Newtonsoft.Json.dll
Normal file
BIN
bin/Debug/net7.0/Newtonsoft.Json.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Pomelo.EntityFrameworkCore.MySql.dll
Normal file
BIN
bin/Debug/net7.0/Pomelo.EntityFrameworkCore.MySql.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Serilog.AspNetCore.dll
Normal file
BIN
bin/Debug/net7.0/Serilog.AspNetCore.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Serilog.Enrichers.Environment.dll
Normal file
BIN
bin/Debug/net7.0/Serilog.Enrichers.Environment.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Serilog.Exceptions.dll
Normal file
BIN
bin/Debug/net7.0/Serilog.Exceptions.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Serilog.Extensions.Hosting.dll
Normal file
BIN
bin/Debug/net7.0/Serilog.Extensions.Hosting.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Serilog.Extensions.Logging.dll
Normal file
BIN
bin/Debug/net7.0/Serilog.Extensions.Logging.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net7.0/Serilog.Formatting.Compact.dll
Normal file
BIN
bin/Debug/net7.0/Serilog.Formatting.Compact.dll
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue