Intial Commit

This commit is contained in:
2023-03-23 21:17:50 +05:30
commit 0ea5e72ab3
685 changed files with 75844 additions and 0 deletions
+2
View File
@@ -0,0 +1,2 @@
Release/
publish/
Binary file not shown.
Binary file not shown.
Binary file not shown.
+990
View File
@@ -0,0 +1,990 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
IIS configuration sections.
For schema documentation, see
%IIS_BIN%\config\schema\IIS_schema.xml.
Please make a backup of this file before making any changes to it.
NOTE: The following environment variables are available to be used
within this file and are understood by the IIS Express.
%IIS_USER_HOME% - The IIS Express home directory for the user
%IIS_SITES_HOME% - The default home directory for sites
%IIS_BIN% - The location of the IIS Express binaries
%SYSTEMDRIVE% - The drive letter of %IIS_BIN%
-->
<configuration>
<!--
The <configSections> section controls the registration of sections.
Section is the basic unit of deployment, locking, searching and
containment for configuration settings.
Every section belongs to one section group.
A section group is a container of logically-related sections.
Sections cannot be nested.
Section groups may be nested.
<section
name="" [Required, Collection Key] [XML name of the section]
allowDefinition="Everywhere" [MachineOnly|MachineToApplication|AppHostOnly|Everywhere] [Level where it can be set]
overrideModeDefault="Allow" [Allow|Deny] [Default delegation mode]
allowLocation="true" [true|false] [Allowed in location tags]
/>
The recommended way to unlock sections is by using a location tag:
<location path="Default Web Site" overrideMode="Allow">
<system.webServer>
<asp />
</system.webServer>
</location>
-->
<configSections>
<sectionGroup name="system.applicationHost">
<section name="applicationPools" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="configHistory" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="customMetadata" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="listenerAdapters" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="log" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="serviceAutoStartProviders" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="sites" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="webLimits" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
</sectionGroup>
<sectionGroup name="system.webServer">
<section name="asp" overrideModeDefault="Deny" />
<section name="caching" overrideModeDefault="Allow" />
<section name="cgi" overrideModeDefault="Deny" />
<section name="defaultDocument" overrideModeDefault="Allow" />
<section name="directoryBrowse" overrideModeDefault="Allow" />
<section name="fastCgi" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="globalModules" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="handlers" overrideModeDefault="Deny" />
<section name="httpCompression" overrideModeDefault="Allow" allowDefinition="Everywhere" />
<section name="httpErrors" overrideModeDefault="Allow" />
<section name="httpLogging" overrideModeDefault="Deny" />
<section name="httpProtocol" overrideModeDefault="Allow" />
<section name="httpRedirect" overrideModeDefault="Allow" />
<section name="httpTracing" overrideModeDefault="Deny" />
<section name="isapiFilters" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />
<section name="applicationInitialization" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />
<section name="odbcLogging" overrideModeDefault="Deny" />
<sectionGroup name="security">
<section name="access" overrideModeDefault="Deny" />
<section name="applicationDependencies" overrideModeDefault="Deny" />
<sectionGroup name="authentication">
<section name="anonymousAuthentication" overrideModeDefault="Deny" />
<section name="basicAuthentication" overrideModeDefault="Deny" />
<section name="clientCertificateMappingAuthentication" overrideModeDefault="Deny" />
<section name="digestAuthentication" overrideModeDefault="Deny" />
<section name="iisClientCertificateMappingAuthentication" overrideModeDefault="Deny" />
<section name="windowsAuthentication" overrideModeDefault="Deny" />
</sectionGroup>
<section name="authorization" overrideModeDefault="Allow" />
<section name="ipSecurity" overrideModeDefault="Deny" />
<section name="dynamicIpSecurity" overrideModeDefault="Deny" />
<section name="isapiCgiRestriction" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="requestFiltering" overrideModeDefault="Allow" />
</sectionGroup>
<section name="serverRuntime" overrideModeDefault="Deny" />
<section name="serverSideInclude" overrideModeDefault="Deny" />
<section name="staticContent" overrideModeDefault="Allow" />
<sectionGroup name="tracing">
<section name="traceFailedRequests" overrideModeDefault="Allow" />
<section name="traceProviderDefinitions" overrideModeDefault="Deny" />
</sectionGroup>
<section name="urlCompression" overrideModeDefault="Allow" />
<section name="validation" overrideModeDefault="Allow" />
<sectionGroup name="webdav">
<section name="globalSettings" overrideModeDefault="Deny" />
<section name="authoring" overrideModeDefault="Deny" />
<section name="authoringRules" overrideModeDefault="Deny" />
</sectionGroup>
<sectionGroup name="rewrite">
<section name="allowedServerVariables" overrideModeDefault="Deny" />
<section name="rules" overrideModeDefault="Allow" />
<section name="outboundRules" overrideModeDefault="Allow" />
<section name="globalRules" overrideModeDefault="Deny" allowDefinition="AppHostOnly" />
<section name="providers" overrideModeDefault="Allow" />
<section name="rewriteMaps" overrideModeDefault="Allow" />
</sectionGroup>
<section name="webSocket" overrideModeDefault="Deny" />
<section name="aspNetCore" overrideModeDefault="Allow" />
</sectionGroup>
</configSections>
<configProtectedData>
<providers>
<add name="IISWASOnlyRsaProvider" type="" description="Uses RsaCryptoServiceProvider to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useMachineContainer="true" useOAEP="false" />
<add name="AesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisConfigurationKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAA/HKxkz6alrlAPez0IUgujj/6k3WxCDriHp6jvpv3yEZmo7h6SMzGLxo4mTrIQVHSkB7tmElHKfUFTzE2BWF7nFWHY6Z6qmGBauFzwJMwESjril7Gjz69RBFH259HQ6aRDq9Xfx7U7H4HtdmnKNqGjgl/hwPQBGeIlWiDh+sYv3vKB0QU971tjX6H2B+9armlnC8UOuA6JYMDMI/VLLL16sng0fWAy5JYe0YVABVjiAWDW264RZW9Tr1Oax4qHZKg+SdjULxeOc2YmpX+d0yeITo1HkPF1hN1gHpIPIUDo05ilHUNfR3OkjVCIQK4cFKCq1s8NH+y+13MxUC4Fn1AlQ==" />
<add name="IISWASOnlyAesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAALmU8lTC+v2qtfQiiiquvvLpUQqKLEXs+jSKoWCM/uPhyB++k4dwug19mGidNK5FYiWK2KYE1yhjVJcbp12E98Q0R2nT7eBiCMY2JairxQ591rqABK7keGaIjwH7PwGzSpILl3RJ4YFvJ/7ZXEJxeDZIjW8ZxWVXx+/VyHs9U3WguLEkgMUX3jrxJi8LouxaIVPJAv/YQ1ZCWs8zImitxX/C/7o7yaIxznfsN5nGQzQfpUDPeby99aw2zPVTtZI2LaWIBON8guABvZ6JtJVDWmfdK6sodbnwdZkr6/Z2rfvamT1dC1SpQrGG7ulR/f9/GXvCaW10ZVKxekBF/CYlNMg==" />
</providers>
</configProtectedData>
<system.applicationHost>
<applicationPools>
<add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
<add name="Clr4ClassicAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
<add name="Clr2IntegratedAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
<add name="Clr2ClassicAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
<add name="UnmanagedClassicAppPool" managedRuntimeVersion="" managedPipelineMode="Classic" autoStart="true" />
<applicationPoolDefaults managedRuntimeVersion="v4.0">
<processModel loadUserProfile="true" setProfileEnvironment="false" />
</applicationPoolDefaults>
</applicationPools>
<!--
The <listenerAdapters> section defines the protocols with which the
Windows Process Activation Service (WAS) binds.
-->
<listenerAdapters>
<add name="http" />
</listenerAdapters>
<sites>
<site name="WebSite1" id="1" serverAutoStart="true">
<application path="/">
<virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
</application>
<bindings>
<binding protocol="http" bindingInformation=":8080:localhost" />
</bindings>
</site>
<site name="SocietyToolboxAPI" id="2">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="D:\Projects\SocietyToolbox\Development\API\SocietyToolboxAPI\SocietyToolboxAPI" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:20572:localhost" />
</bindings>
</site>
<siteDefaults>
<!-- To enable logging, please change the below attribute "enabled" to "true" -->
<logFile logFormat="W3C" directory="%AppData%\Microsoft\IISExpressLogs" enabled="false" />
<traceFailedRequestsLogging directory="%AppData%\Microsoft" enabled="false" maxLogFileSizeKB="1024" />
</siteDefaults>
<applicationDefaults applicationPool="Clr4IntegratedAppPool" />
<virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>
<webLimits />
</system.applicationHost>
<system.webServer>
<serverRuntime />
<asp scriptErrorSentToBrowser="true">
<cache diskTemplateCacheDirectory="%TEMP%\iisexpress\ASP Compiled Templates" />
<limits />
</asp>
<caching enabled="true" enableKernelCache="true"></caching>
<cgi />
<defaultDocument enabled="true">
<files>
<add value="Default.htm" />
<add value="Default.asp" />
<add value="index.htm" />
<add value="index.html" />
<add value="iisstart.htm" />
<add value="default.aspx" />
</files>
</defaultDocument>
<directoryBrowse enabled="false" />
<fastCgi />
<!--
The <globalModules> section defines all native-code modules.
To enable a module, specify it in the <modules> section.
-->
<globalModules>
<add name="HttpLoggingModule" image="%IIS_BIN%\loghttp.dll" />
<add name="UriCacheModule" image="%IIS_BIN%\cachuri.dll" />
<add name="TokenCacheModule" image="%IIS_BIN%\cachtokn.dll" />
<add name="DynamicCompressionModule" image="%IIS_BIN%\compdyn.dll" />
<add name="StaticCompressionModule" image="%IIS_BIN%\compstat.dll" />
<add name="DefaultDocumentModule" image="%IIS_BIN%\defdoc.dll" />
<add name="DirectoryListingModule" image="%IIS_BIN%\dirlist.dll" />
<add name="ProtocolSupportModule" image="%IIS_BIN%\protsup.dll" />
<add name="HttpRedirectionModule" image="%IIS_BIN%\redirect.dll" />
<add name="ServerSideIncludeModule" image="%IIS_BIN%\iis_ssi.dll" />
<add name="StaticFileModule" image="%IIS_BIN%\static.dll" />
<add name="AnonymousAuthenticationModule" image="%IIS_BIN%\authanon.dll" />
<add name="CertificateMappingAuthenticationModule" image="%IIS_BIN%\authcert.dll" />
<add name="UrlAuthorizationModule" image="%IIS_BIN%\urlauthz.dll" />
<add name="BasicAuthenticationModule" image="%IIS_BIN%\authbas.dll" />
<add name="WindowsAuthenticationModule" image="%IIS_BIN%\authsspi.dll" />
<add name="IISCertificateMappingAuthenticationModule" image="%IIS_BIN%\authmap.dll" />
<add name="IpRestrictionModule" image="%IIS_BIN%\iprestr.dll" />
<add name="DynamicIpRestrictionModule" image="%IIS_BIN%\diprestr.dll" />
<add name="RequestFilteringModule" image="%IIS_BIN%\modrqflt.dll" />
<add name="CustomLoggingModule" image="%IIS_BIN%\logcust.dll" />
<add name="CustomErrorModule" image="%IIS_BIN%\custerr.dll" />
<add name="FailedRequestsTracingModule" image="%IIS_BIN%\iisfreb.dll" />
<add name="RequestMonitorModule" image="%IIS_BIN%\iisreqs.dll" />
<add name="IsapiModule" image="%IIS_BIN%\isapi.dll" />
<add name="IsapiFilterModule" image="%IIS_BIN%\filter.dll" />
<add name="CgiModule" image="%IIS_BIN%\cgi.dll" />
<add name="FastCgiModule" image="%IIS_BIN%\iisfcgi.dll" />
<!-- <add name="WebDAVModule" image="%IIS_BIN%\webdav.dll" /> -->
<add name="RewriteModule" image="%IIS_BIN%\rewrite.dll" />
<add name="ConfigurationValidationModule" image="%IIS_BIN%\validcfg.dll" />
<add name="WebSocketModule" image="%IIS_BIN%\iiswsock.dll" />
<add name="WebMatrixSupportModule" image="%IIS_BIN%\webmatrixsup.dll" />
<add name="ManagedEngine" image="%windir%\Microsoft.NET\Framework\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness32" />
<add name="ManagedEngine64" image="%windir%\Microsoft.NET\Framework64\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness64" />
<add name="ManagedEngineV4.0_32bit" image="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" />
<add name="ManagedEngineV4.0_64bit" image="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" />
<add name="ApplicationInitializationModule" image="%IIS_BIN%\warmup.dll" />
<add name="AspNetCoreModule" image="%IIS_BIN%\aspnetcore.dll" />
</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" />
</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" />
</areas>
</add>
<add name="ASP" guid="{06b94d9a-b15e-456e-a4ef-37c984a2cb4b}">
<areas>
<clear />
</areas>
</add>
<add name="ISAPI Extension" guid="{a1c2040e-8840-4c31-ba11-9871031a19ea}">
<areas>
<clear />
</areas>
</add>
<add name="ASPNET" guid="{AFF081FE-0247-4275-9C4E-021F3DC1DA35}">
<areas>
<add name="Infrastructure" value="1" />
<add name="Module" value="2" />
<add name="Page" value="4" />
<add name="AppServices" value="8" />
</areas>
</add>
</traceProviderDefinitions>
</tracing>
<urlCompression />
<validation />
<webdav>
<globalSettings>
<propertyStores>
<add name="webdav_simple_prop" image="%IIS_BIN%\webdav_simple_prop.dll" image32="%IIS_BIN%\webdav_simple_prop.dll" />
</propertyStores>
<lockStores>
<add name="webdav_simple_lock" image="%IIS_BIN%\webdav_simple_lock.dll" image32="%IIS_BIN%\webdav_simple_lock.dll" />
</lockStores>
</globalSettings>
<authoring>
<locks enabled="true" lockStore="webdav_simple_lock" />
</authoring>
<authoringRules />
</webdav>
<webSocket />
<applicationInitialization />
</system.webServer>
<location path="" overrideMode="Allow">
<system.webServer>
<modules>
<add name="IsapiFilterModule" lockItem="true" />
<add name="BasicAuthenticationModule" lockItem="true" />
<add name="IsapiModule" lockItem="true" />
<add name="HttpLoggingModule" lockItem="true" />
<add name="DynamicCompressionModule" lockItem="true" />
<add name="StaticCompressionModule" lockItem="true" />
<add name="DefaultDocumentModule" lockItem="true" />
<add name="DirectoryListingModule" lockItem="true" />
<add name="ProtocolSupportModule" lockItem="true" />
<add name="HttpRedirectionModule" lockItem="true" />
<add name="ServerSideIncludeModule" lockItem="true" />
<add name="StaticFileModule" lockItem="true" />
<add name="AnonymousAuthenticationModule" lockItem="true" />
<add name="CertificateMappingAuthenticationModule" lockItem="true" />
<add name="UrlAuthorizationModule" lockItem="true" />
<add name="WindowsAuthenticationModule" lockItem="true" />
<add name="IISCertificateMappingAuthenticationModule" lockItem="true" />
<add name="WebMatrixSupportModule" lockItem="true" />
<add name="IpRestrictionModule" lockItem="true" />
<add name="DynamicIpRestrictionModule" lockItem="true" />
<add name="RequestFilteringModule" lockItem="true" />
<add name="CustomLoggingModule" lockItem="true" />
<add name="CustomErrorModule" lockItem="true" />
<add name="FailedRequestsTracingModule" lockItem="true" />
<add name="CgiModule" lockItem="true" />
<add name="FastCgiModule" lockItem="true" />
<!-- <add name="WebDAVModule" /> -->
<add name="RewriteModule" />
<add name="OutputCache" type="System.Web.Caching.OutputCacheModule" preCondition="managedHandler" />
<add name="Session" type="System.Web.SessionState.SessionStateModule" preCondition="managedHandler" />
<add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" preCondition="managedHandler" />
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" />
<add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" preCondition="managedHandler" />
<add name="RoleManager" type="System.Web.Security.RoleManagerModule" preCondition="managedHandler" />
<add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" preCondition="managedHandler" />
<add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule" preCondition="managedHandler" />
<add name="AnonymousIdentification" type="System.Web.Security.AnonymousIdentificationModule" preCondition="managedHandler" />
<add name="Profile" type="System.Web.Profile.ProfileModule" preCondition="managedHandler" />
<add name="UrlMappingsModule" type="System.Web.UrlMappingsModule" preCondition="managedHandler" />
<add name="ApplicationInitializationModule" lockItem="true" />
<add name="WebSocketModule" lockItem="true" />
<add name="ServiceModel-4.0" type="System.ServiceModel.Activation.ServiceHttpModule,System.ServiceModel.Activation,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" />
<add name="ConfigurationValidationModule" lockItem="true" />
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="managedHandler,runtimeVersionv4.0" />
<add name="ScriptModule-4.0" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" />
<add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler,runtimeVersionv2.0" />
<add name="AspNetCoreModule" />
</modules>
<handlers accessPolicy="Read, Script">
<!-- <add name="WebDAV" path="*" verb="PROPFIND,PROPPATCH,MKCOL,PUT,COPY,DELETE,MOVE,LOCK,UNLOCK" modules="WebDAVModule" resourceType="Unspecified" requireAccess="None" /> -->
<add name="AXD-ISAPI-4.0_64bit" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="PageHandlerFactory-ISAPI-4.0_64bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="SimpleHandlerFactory-ISAPI-4.0_64bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="WebServiceHandlerFactory-ISAPI-4.0_64bit" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="HttpRemotingHandlerFactory-rem-ISAPI-4.0_64bit" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="HttpRemotingHandlerFactory-soap-ISAPI-4.0_64bit" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="svc-ISAPI-4.0_64bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
<add name="rules-ISAPI-4.0_64bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
<add name="xoml-ISAPI-4.0_64bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
<add name="xamlx-ISAPI-4.0_64bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
<add name="aspq-ISAPI-4.0_64bit" path="*.aspq" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="cshtm-ISAPI-4.0_64bit" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="cshtml-ISAPI-4.0_64bit" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="vbhtm-ISAPI-4.0_64bit" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="vbhtml-ISAPI-4.0_64bit" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="svc-Integrated" path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="svc-ISAPI-2.0" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
<add name="xoml-Integrated" path="*.xoml" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="xoml-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
<add name="rules-Integrated" path="*.rules" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="rules-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
<add name="AXD-ISAPI-4.0_32bit" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="PageHandlerFactory-ISAPI-4.0_32bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="SimpleHandlerFactory-ISAPI-4.0_32bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="WebServiceHandlerFactory-ISAPI-4.0_32bit" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="HttpRemotingHandlerFactory-rem-ISAPI-4.0_32bit" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="HttpRemotingHandlerFactory-soap-ISAPI-4.0_32bit" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="svc-ISAPI-4.0_32bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
<add name="rules-ISAPI-4.0_32bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
<add name="xoml-ISAPI-4.0_32bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
<add name="xamlx-ISAPI-4.0_32bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
<add name="aspq-ISAPI-4.0_32bit" path="*.aspq" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="cshtm-ISAPI-4.0_32bit" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="cshtml-ISAPI-4.0_32bit" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="vbhtm-ISAPI-4.0_32bit" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="vbhtml-ISAPI-4.0_32bit" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="TraceHandler-Integrated-4.0" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="WebAdminHandler-Integrated-4.0" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="AssemblyResourceLoader-Integrated-4.0" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="PageHandlerFactory-Integrated-4.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="SimpleHandlerFactory-Integrated-4.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="WebServiceHandlerFactory-Integrated-4.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="HttpRemotingHandlerFactory-rem-Integrated-4.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="HttpRemotingHandlerFactory-soap-Integrated-4.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="svc-Integrated-4.0" path="*.svc" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="rules-Integrated-4.0" path="*.rules" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="xoml-Integrated-4.0" path="*.xoml" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="xamlx-Integrated-4.0" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" type="System.Xaml.Hosting.XamlHttpHandlerFactory, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="aspq-Integrated-4.0" path="*.aspq" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="cshtm-Integrated-4.0" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="cshtml-Integrated-4.0" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="vbhtm-Integrated-4.0" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="vbhtml-Integrated-4.0" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="ScriptHandlerFactoryAppServices-Integrated-4.0" path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="ScriptResourceIntegrated-4.0" path="*ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="ASPClassic" path="*.asp" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" />
<add name="SecurityCertificate" path="*.cer" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" />
<add name="ISAPI-dll" path="*.dll" verb="*" modules="IsapiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" />
<add name="TraceHandler-Integrated" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="WebAdminHandler-Integrated" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="AssemblyResourceLoader-Integrated" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="PageHandlerFactory-Integrated" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="SimpleHandlerFactory-Integrated" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="WebServiceHandlerFactory-Integrated" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Services.Protocols.WebServiceHandlerFactory,System.Web.Services,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="HttpRemotingHandlerFactory-rem-Integrated" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="HttpRemotingHandlerFactory-soap-Integrated" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="AXD-ISAPI-2.0" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
<add name="PageHandlerFactory-ISAPI-2.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
<add name="SimpleHandlerFactory-ISAPI-2.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
<add name="WebServiceHandlerFactory-ISAPI-2.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
<add name="HttpRemotingHandlerFactory-rem-ISAPI-2.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
<add name="HttpRemotingHandlerFactory-soap-ISAPI-2.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
<add name="svc-ISAPI-2.0-64" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
<add name="AXD-ISAPI-2.0-64" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
<add name="PageHandlerFactory-ISAPI-2.0-64" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
<add name="SimpleHandlerFactory-ISAPI-2.0-64" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
<add name="WebServiceHandlerFactory-ISAPI-2.0-64" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
<add name="HttpRemotingHandlerFactory-rem-ISAPI-2.0-64" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
<add name="HttpRemotingHandlerFactory-soap-ISAPI-2.0-64" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
<add name="rules-64-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
<add name="xoml-64-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
<add name="CGI-exe" path="*.exe" verb="*" modules="CgiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" />
<add name="SSINC-stm" path="*.stm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" />
<add name="SSINC-shtm" path="*.shtm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" />
<add name="SSINC-shtml" path="*.shtml" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" />
<add name="TRACEVerbHandler" path="*" verb="TRACE" modules="ProtocolSupportModule" requireAccess="None" />
<add name="OPTIONSVerbHandler" path="*" verb="OPTIONS" modules="ProtocolSupportModule" requireAccess="None" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="0" />
<add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" />
</handlers>
</system.webServer>
</location>
<location path="SocietyToolboxAPI">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" startupTimeLimit="3600" requestTimeout="23:00:00" />
<httpCompression>
<dynamicTypes>
<add mimeType="text/event-stream" enabled="false" />
</dynamicTypes>
</httpCompression>
</system.webServer>
</location>
</configuration>
+25
View File
@@ -0,0 +1,25 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28307.1758
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SocietyToolboxAPI", "SocietyToolboxAPI\SocietyToolboxAPI.csproj", "{3D7A3683-EBEE-40B8-8126-B83F1EAC542F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3D7A3683-EBEE-40B8-8126-B83F1EAC542F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3D7A3683-EBEE-40B8-8126-B83F1EAC542F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3D7A3683-EBEE-40B8-8126-B83F1EAC542F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3D7A3683-EBEE-40B8-8126-B83F1EAC542F}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3C1E758B-DAD8-4CC3-8D27-573399D77536}
EndGlobalSection
EndGlobal
@@ -0,0 +1,338 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.IdentityModel.Tokens.Jwt;
using System.IO;
using System.Linq;
using System.Security.Claims;
using System.Text;
using System.Threading.Tasks;
using SocietyToolboxAPI.Helpers;
using SocietyToolboxAPI.DBClass;
using SocietyToolboxAPI.Models;
using Microsoft.AspNetCore.Mvc;
namespace SocietyToolboxAPI.Controllers
{
public class BillsController : Controller
{
[Route("api/[controller]/GetBillsList")]
[HttpGet]
public GetBillsList GetBillsList([FromQuery]int PropertyID, string FromDate, string ToDate, string BillID)
{
GetBillsList oReponse = new GetBillsList();
List<BillModel> oData = new List<BillModel>();
List<BillDetailsModel> oBillDet = new List<BillDetailsModel>();
DataTable dt = new DataTable();
int i = 0,
j = 0;
string pStrBillID = string.IsNullOrEmpty(BillID) ? "" : BillID;
dt = DBBills.getBillList(PropertyID, FromDate, ToDate, pStrBillID);
if (dt.Rows.Count > 0)
{
for (i = 0; i <= dt.Rows.Count - 1; i++)
{
if (pStrBillID != "")
{
DataTable dtBillDetails = DBBills.getBillDetails(pStrBillID);
if (dtBillDetails.Rows.Count > 0)
{
for (j = 0; j <= dtBillDetails.Rows.Count - 1; j++)
{
oBillDet.Add(new BillDetailsModel
{
BillDetaildID = 0,
BillID = BillID,
LedgerID = int.Parse(dtBillDetails.Rows[j]["LedgerID"].ToString()),
LedgerName = dtBillDetails.Rows[j]["LedgerName"].ToString(),
LedgerAmount = decimal.Parse(dtBillDetails.Rows[j]["LedgerAmount"].ToString())
});
}
}
}
oData.Add(new BillModel
{
BillID = (dt.Rows[i]["BillID"].ToString()),
BillNo = dt.Rows[i]["BillNo"].ToString(),
BillDate = DateTime.Parse(dt.Rows[i]["BillDate"].ToString()),
BillMonth = DateTime.Parse(dt.Rows[i]["BillMonth"].ToString()),
MemberID = int.Parse(string.IsNullOrEmpty(dt.Rows[i]["MemberID"].ToString()) ? "0" : dt.Rows[i]["MemberID"].ToString()),
PropertyUnitID = int.Parse(dt.Rows[i]["PropertyUnitID"].ToString()),
UnitNo = (dt.Rows[i]["UnitNo"].ToString() + " # " + (dt.Rows[i]["MemberName"].ToString())),
MemberName = (dt.Rows[i]["MemberName"].ToString()),
BillAmount = decimal.Parse(dt.Rows[i]["BillAmount"].ToString()),
BillPendingAmount = decimal.Parse(dt.Rows[i]["PendingAmount"].ToString()),
PropertyID = int.Parse(dt.Rows[i]["PropertyID"].ToString()),
DueDate = DateTime.Parse(dt.Rows[i]["DueDate"].ToString()),
BillDetails = oBillDet
});
}
oReponse.Status = "200";
oReponse.Message = "Success";
oReponse.Data = oData;
}
else
{
oReponse.Status = "200";
oReponse.Message = "No Records";
oReponse.Data = oData;
}
return oReponse;
}
[Route("api/[controller]/UpdateBillDetails")]
[HttpPost]
public POSTBill UpdateBillDetails([FromBody] BillModel ObjBill)
{
POSTBill oResponse = new POSTBill();
List<BillReponseModel> oData = new List<BillReponseModel>();
string pStrXMLData = "";
int i = 0;
try
{
pStrXMLData = "<BILL>";
pStrXMLData = pStrXMLData + "<BILLHEADER>";
pStrXMLData = pStrXMLData + "<BILLID>" + ObjBill.BillID + "</BILLID>";
pStrXMLData = pStrXMLData + "<BILLDATE>" + ObjBill.BillDate.ToString("yyyy-MM-dd") + "</BILLDATE>";
pStrXMLData = pStrXMLData + "<BILLMONTH>" + ObjBill.BillMonth.ToString("yyyy-MM-dd") + "</BILLMONTH>";
pStrXMLData = pStrXMLData + "<PROPERTYUNITID>" + ObjBill.PropertyUnitID + "</PROPERTYUNITID>";
pStrXMLData = pStrXMLData + "<PROPERTYID>" + ObjBill.PropertyID + "</PROPERTYID>";
pStrXMLData = pStrXMLData + "<BILLAMOUNT>" + ObjBill.BillAmount + "</BILLAMOUNT>";
pStrXMLData = pStrXMLData + "<PENDINGAMOUNT>" + ObjBill.BillPendingAmount + "</PENDINGAMOUNT>";
pStrXMLData = pStrXMLData + "<DUEDATE>" + ObjBill.DueDate.ToString("yyyy-MM-dd") + "</DUEDATE>";
pStrXMLData = pStrXMLData + "</BILLHEADER>";
for (i = 0; i < ObjBill.BillDetails.Count; i++)
{
pStrXMLData = pStrXMLData + "<BILLDETAILS>";
pStrXMLData = pStrXMLData + "<BILLID>" + ObjBill.BillID + "</BILLID>";
pStrXMLData = pStrXMLData + "<LEDGERID>" + ObjBill.BillDetails[i].LedgerID + "</LEDGERID>";
pStrXMLData = pStrXMLData + "<LEDGERAMOUNT>" + ObjBill.BillDetails[i].LedgerAmount + "</LEDGERAMOUNT>";
pStrXMLData = pStrXMLData + "</BILLDETAILS>";
}
pStrXMLData = pStrXMLData + "</BILL>";
DataTable dt = new DataTable();
dt = DBBills.UpdateBillDetails(pStrXMLData);
if (dt.Rows.Count > 0)
{
if (dt.Rows[0]["BILLNO"].ToString() == "0")
{
oData.Add(new BillReponseModel
{
BillID = "",
BillNo = (dt.Rows[0]["BillNo"].ToString())
});
oResponse.Status = "500";
oResponse.Message = dt.Rows[0]["STATUS"].ToString();
oResponse.Data = oData;
}
else
{
oData.Add(new BillReponseModel
{
BillID = "",
BillNo = (dt.Rows[0]["BillNo"].ToString())
});
oResponse.Status = "200";
oResponse.Message = dt.Rows[0]["STATUS"].ToString();
oResponse.Data = oData;
}
}
else
{
oResponse.Status = "500";
oResponse.Message = "Update Failed";
oResponse.Data = oData;
}
}
catch (Exception ex)
{
oResponse.Status = "501";
oResponse.Message = ex.Message;
oResponse.Data = oData;
}
return oResponse;
}
[Route("api/[controller]/GenerateBillDetails")]
[HttpGet]
public GenerateBillDetails GenerateBillDetails([FromQuery]int PropertyID, [FromQuery]int PropertyUnitTypeID, [FromQuery]String Month)
{
GenerateBillDetails oReponse = new GenerateBillDetails();
List<BillDetailsModel> oData = new List<BillDetailsModel>();
DataTable dt = new DataTable();
int i = 0;
dt = DBBills.generateBillDetails(PropertyID, PropertyUnitTypeID, Month);
if (dt.Rows.Count > 0)
{
for (i = 0; i <= dt.Rows.Count - 1; i++)
{
oData.Add(new BillDetailsModel
{
BillDetaildID = 0,
BillID = "",
LedgerName = (dt.Rows[i]["LedgerName"].ToString()),
LedgerID = int.Parse(dt.Rows[i]["LedgerID"].ToString()),
LedgerAmount = decimal.Parse(dt.Rows[i]["LedgerAmount"].ToString()),
});
}
oReponse.Status = "200";
oReponse.Message = "Success";
oReponse.Data = oData;
}
else
{
oReponse.Status = "200";
oReponse.Message = "No Records";
oReponse.Data = oData;
}
return oReponse;
}
[Route("api/[controller]/GenerateBillForProperty")]
[HttpGet]
public GenerateBillForProperty GenerateBillForProperty([FromQuery]int PropertyID, [FromQuery]int PropertyUnitTypeID, [FromQuery]String Month)
{
GenerateBillForProperty oReponse = new GenerateBillForProperty();
List<GenerateBillModel> oData = new List<GenerateBillModel>();
DataTable dt = new DataTable();
int i = 0;
dt = DBBills.GenerateBillForProperty(PropertyID, PropertyUnitTypeID, Month);
if (dt.Rows.Count > 0)
{
for (i = 0; i <= dt.Rows.Count - 1; i++)
{
oData.Add(new GenerateBillModel
{
BillNo = (dt.Rows[i]["BillNo"].ToString()),
BillDate = DateTime.Parse(dt.Rows[i]["BillDate"].ToString()).ToString("dd-MM-yyyy"),
UnitNo = dt.Rows[i]["UnitNo"].ToString(),
MemberName = dt.Rows[i]["MemberName"].ToString(),
BillAmount = decimal.Parse(dt.Rows[i]["BillAmount"].ToString()),
DueDate = DateTime.Parse(dt.Rows[i]["DueDate"].ToString()).ToString("dd-MM-yyyy"),
BillID= dt.Rows[i]["BillID"].ToString()
});
}
oReponse.Status = "200";
oReponse.Message = "Success";
oReponse.Data = oData;
}
else
{
oReponse.Status = "200";
oReponse.Message = "No Records";
oReponse.Data = oData;
}
return oReponse;
}
[Route("api/[controller]/GetBillDetails")]
[HttpGet]
public GetBillDetails GetBillDetails([FromQuery]String BillID)
{
GetBillDetails oReponse = new GetBillDetails();
List<BillDetailsModel> oData = new List<BillDetailsModel>();
DataTable dt = new DataTable();
int i = 0;
dt = DBBills.getBillDetails(BillID);
if (dt.Rows.Count > 0)
{
for (i = 0; i <= dt.Rows.Count - 1; i++)
{
oData.Add(new BillDetailsModel
{
BillID = (dt.Rows[i]["BillID"].ToString()),
LedgerName = dt.Rows[i]["BillNo"].ToString(),
LedgerAmount = decimal.Parse(dt.Rows[i]["BillDate"].ToString()),
LedgerID = int.Parse(dt.Rows[i]["EndDate"].ToString()),
});
}
oReponse.Status = "200";
oReponse.Message = "Success";
oReponse.Data = oData;
}
else
{
oReponse.Status = "200";
oReponse.Message = "No Records";
oReponse.Data = oData;
}
return oReponse;
}
[Route("api/[controller]/DeleteBillsForProperty")]
[HttpGet]
public GetBillDetails DeleteBillsForProperty([FromQuery]int PropertyID,[FromQuery]String BillMonth)
{
GetBillDetails oReponse = new GetBillDetails();
List<BillDetailsModel> oData = new List<BillDetailsModel>();
DataTable dt = new DataTable();
dt = DBBills.getDeleteBillsForProperty(PropertyID,BillMonth);
if (dt.Rows.Count > 0)
{
oReponse.Status = "200";
oReponse.Message = "Success";
oReponse.Data = oData;
}
else
{
oReponse.Status = "200";
oReponse.Message = "No Records";
oReponse.Data = oData;
}
return oReponse;
}
}
}
@@ -0,0 +1,219 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.IdentityModel.Tokens.Jwt;
using System.IO;
using System.Linq;
using System.Security.Claims;
using System.Text;
using System.Threading.Tasks;
using SocietyToolboxAPI.Helpers;
using SocietyToolboxAPI.DBClass;
using SocietyToolboxAPI.Models;
using Microsoft.AspNetCore.Mvc;
namespace SocietyToolboxAPI.Controllers
{
public class DemandController : Controller
{
[Route("api/[controller]/GetDemandList")]
[HttpGet]
public GetDemandList GetDemandList([FromQuery]int PropertyID, [FromQuery]int DemandMasterID, [FromQuery]string FromDate, [FromQuery]string ToDate)
{
GetDemandList oReponse = new GetDemandList();
List<DemandMasterModel> oData = new List<DemandMasterModel>();
List<DemandDetailsModel> oDemandDetails = new List<DemandDetailsModel>();
DataTable dt = new DataTable();
DataTable dtDetais = new DataTable();
int i = 0,
j = 0;
dt = DBDemandMaster.getDemandMasterList(PropertyID, DemandMasterID, FromDate, ToDate);
if (dt.Rows.Count > 0)
{
for (i = 0; i <= dt.Rows.Count - 1; i++)
{
dtDetais = DBDemandMaster.getDemandDetails(int.Parse(dt.Rows[i]["DemandMasterID"].ToString()));
if (DemandMasterID > 0)
{
for (j = 0; j <= dtDetais.Rows.Count - 1; j++)
{
oDemandDetails.Add(new DemandDetailsModel
{
DemandDetailsID = 0,
DemandMasterID = dtDetais.Rows[j]["DemandMasterID"].ToString(),
LedgerID = int.Parse(dtDetais.Rows[j]["LEDGERID"].ToString()),
LedgerRate = decimal.Parse(dtDetais.Rows[j]["LEDGERRATE"].ToString()),
CalculatedONID = int.Parse(dtDetais.Rows[j]["CalculatedONID"].ToString()),
CalculatedON = dtDetais.Rows[j]["CALCULATEDONName"].ToString(),
LedgerName = dtDetais.Rows[j]["LedgerName"].ToString()
});
}
}
oData.Add(new DemandMasterModel
{
DemandMasterID = int.Parse(dt.Rows[i]["DemandMasterID"].ToString()),
DemandMasterNO = dt.Rows[i]["DemandMasterID"].ToString(),
StartDate = DateTime.Parse(dt.Rows[i]["StartDate"].ToString()),
EndDate = DateTime.Parse(dt.Rows[i]["EndDate"].ToString()),
UnitTypeName = (dt.Rows[i]["UnitTypeName"].ToString()),
UnitTypeID = int.Parse(dt.Rows[i]["UnitTypeID"].ToString()),
PropertyID = int.Parse(dt.Rows[i]["PropertyID"].ToString()),
DemamdDetails = oDemandDetails
});
}
oReponse.Status = "200";
oReponse.Message = "Success";
oReponse.Data = oData;
}
else
{
oReponse.Status = "200";
oReponse.Message = "No Records";
oReponse.Data = oData;
}
return oReponse;
}
[Route("api/[controller]/GetDemandDetails")]
[HttpGet]
public GetDemandDetails GetDemandDetails([FromQuery]int DemandID)
{
GetDemandDetails oReponse = new GetDemandDetails();
List<DemandDetailsModel> oData = new List<DemandDetailsModel>();
DataTable dt = new DataTable();
int i = 0;
dt = DBDemandMaster.getDemandDetails(DemandID);
if (dt.Rows.Count > 0)
{
for (i = 0; i <= dt.Rows.Count - 1; i++)
{
oData.Add(new DemandDetailsModel
{
DemandDetailsID = int.Parse(dt.Rows[i]["DemandDetailsID"].ToString()),
DemandMasterID = (dt.Rows[i]["DemandMasterID"].ToString()),
LedgerName = (dt.Rows[i]["LedgerName"].ToString()),
LedgerID = int.Parse(dt.Rows[i]["LedgerID"].ToString()),
LedgerRate = decimal.Parse(dt.Rows[i]["LedgerRate"].ToString()),
CalculatedONID = int.Parse(dt.Rows[i]["CalculatedONID"].ToString()),
CalculatedON = (dt.Rows[i]["CalculatedON"].ToString()),
InterestRate = 0
});
}
oReponse.Status = "200";
oReponse.Message = "Success";
oReponse.Data = oData;
}
else
{
oReponse.Status = "200";
oReponse.Message = "No Records";
oReponse.Data = oData;
}
return oReponse;
}
[Route("api/[controller]/UpdateDemandDetails")]
[HttpPost]
public POSTDemandMaster UpdateDemandDetails([FromBody] DemandMasterModel ObjDemandMaster)
{
POSTDemandMaster oResponse = new POSTDemandMaster();
List<DemandReponseModel> oData = new List<DemandReponseModel>();
string pStrXMLData = "";
int i = 0;
try
{
pStrXMLData = "<DEMANDMASTER>";
pStrXMLData = pStrXMLData + "<DEMANDHEADER>";
pStrXMLData = pStrXMLData + "<DEMANDMASTERID>" + ObjDemandMaster.DemandMasterID + "</DEMANDMASTERID>";
pStrXMLData = pStrXMLData + "<DEMANDMASTERNO>" + ObjDemandMaster.DemandMasterNO.Replace("&", "&amp;") + "</DEMANDMASTERNO>";
pStrXMLData = pStrXMLData + "<STARTDATE>" + ObjDemandMaster.StartDate.ToString("yyyy-MM-dd") + "</STARTDATE>";
pStrXMLData = pStrXMLData + "<ENDDATE>" + ObjDemandMaster.EndDate.ToString("yyyy-MM-dd") + "</ENDDATE>";
pStrXMLData = pStrXMLData + "<PROPERTYID>" + ObjDemandMaster.PropertyID + "</PROPERTYID>";
pStrXMLData = pStrXMLData + "<UNITTYPEID>" + ObjDemandMaster.UnitTypeID + "</UNITTYPEID>";
pStrXMLData = pStrXMLData + "</DEMANDHEADER>";
for (i = 0; i < ObjDemandMaster.DemamdDetails.Count; i++)
{
pStrXMLData = pStrXMLData + "<DEMANDDETAILS>";
pStrXMLData = pStrXMLData + "<DEMANDMASTERID>" + ObjDemandMaster.DemandMasterID + "</DEMANDMASTERID>";
pStrXMLData = pStrXMLData + "<LEDGERID>" + ObjDemandMaster.DemamdDetails[i].LedgerID + "</LEDGERID>";
pStrXMLData = pStrXMLData + "<LEDGERRATE>" + ObjDemandMaster.DemamdDetails[i].LedgerRate + "</LEDGERRATE>";
pStrXMLData = pStrXMLData + "<CALCULATEDONID>" + ObjDemandMaster.DemamdDetails[i].CalculatedONID + "</CALCULATEDONID>";
pStrXMLData = pStrXMLData + "</DEMANDDETAILS>";
}
pStrXMLData = pStrXMLData + "</DEMANDMASTER>";
DataTable dt = new DataTable();
dt = DBDemandMaster.UpdateDemandDetails(pStrXMLData);
if (dt.Rows.Count > 0)
{
if (dt.Rows[0]["DemandMasterID"].ToString() == "0")
{
oData.Add(new DemandReponseModel
{
DemandMasterID = int.Parse(dt.Rows[0]["DemandMasterID"].ToString()),
DemandMasterNo = ""
});
oResponse.Status = "500";
oResponse.Message = dt.Rows[0]["STATUS"].ToString();
oResponse.Data = oData;
}
else
{
oData.Add(new DemandReponseModel
{
DemandMasterID = int.Parse(dt.Rows[0]["DemandMasterID"].ToString()),
DemandMasterNo = ""
});
oResponse.Status = "200";
oResponse.Message = dt.Rows[0]["STATUS"].ToString();
oResponse.Data = oData;
}
}
else
{
oResponse.Status = "500";
oResponse.Message = "Update Failed";
oResponse.Data = oData;
}
}
catch (Exception ex)
{
oResponse.Status = "501";
oResponse.Message = ex.Message;
oResponse.Data = oData;
}
return oResponse;
}
}
}
@@ -0,0 +1,233 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.IdentityModel.Tokens.Jwt;
using System.IO;
using System.Linq;
using System.Security.Claims;
using System.Text;
using System.Threading.Tasks;
using SocietyToolboxAPI.Helpers;
using SocietyToolboxAPI.DBClass;
using SocietyToolboxAPI.Models;
using Microsoft.AspNetCore.Mvc;
using Microsoft.IdentityModel.Tokens;
namespace SocietyToolboxAPI.Controllers
{
public class JWTAuthController : Controller
{
int pIntTokenExpiry = 5760;
[Route("api/[controller]/Token")]
[HttpPost]
public LoginResponse Token()
{
LoginResponse oLoginReposne = new LoginResponse();
List<LoginModel> oLoginModel = new List<LoginModel>();
var varTokenString = "";
LibSecurity.Encryption oLibSecurity = new LibSecurity.Encryption();
var header = Request.Headers["Authorization"];
try
{
if (header.ToString().StartsWith("Basic"))
{
var varCredValue = header.ToString().Substring("Basic ".Length).Trim();
var varUsernameAndPassenc = Encoding.UTF8.GetString(Convert.FromBase64String(varCredValue)); //admin:pass
var varUsernameAndPass = varUsernameAndPassenc.Split(":");
string pStrUsername = varUsernameAndPass[0],
pStrUserPass = oLibSecurity.funcEncrypt(varUsernameAndPass[1].ToString(), "iftgoa-@!234-018");
//pStrUserPass = (varUsernameAndPass[1].ToString());
DataTable dt = new DataTable();
dt = DbUsers.getAuthUserDetails(pStrUsername, pStrUserPass);
if (int.Parse(dt.Rows[0]["USERID"].ToString()) > 0)
{
if (dt.Rows[0]["TOKEN"].ToString() == "NA")
{
var varClaimsData = new[] { new Claim(ClaimTypes.Name, varUsernameAndPass[0]) };
var varKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("kdfllff133000fllafasfslfkslfkslfksljkdomxhimeekJdd"));
var varSignInCred = new SigningCredentials(varKey, SecurityAlgorithms.HmacSha256Signature);
var varToken = new JwtSecurityToken(
issuer: "iflotech.in",
audience: "iflotech.in",
expires: DateTime.Now.AddMinutes(pIntTokenExpiry),
claims: varClaimsData,
signingCredentials: varSignInCred
);
varTokenString = new JwtSecurityTokenHandler().WriteToken(varToken);
}
else
{
varTokenString = dt.Rows[0]["TOKEN"].ToString();
}
oLoginModel.Add(new LoginModel
{
UserID = int.Parse(dt.Rows[0]["USERID"].ToString()),
LoginName = dt.Rows[0]["NAME"].ToString(),
BearerToken = varTokenString.ToString(),
expires = pIntTokenExpiry.ToString(),
PropertyID = int.Parse(dt.Rows[0]["PROPERTYID"].ToString()),
UserTypeID = int.Parse(dt.Rows[0]["UserTypeID"].ToString())
});
if (dt.Rows[0]["TOKEN"].ToString() != "NA")
{
oLoginReposne.Status = "200";
oLoginReposne.Message = "Success";
oLoginReposne.Data = oLoginModel;
return oLoginReposne;
}
if (DbUsers.UpdateUserToken(oLoginModel[0]) > 0)
{
oLoginReposne.Status = "200";
oLoginReposne.Message = "Success";
oLoginReposne.Data = oLoginModel;
}
else
{
oLoginModel.Clear();
oLoginReposne.Status = "500";
oLoginReposne.Message = "Authorizaton Failure";
oLoginReposne.Data = oLoginModel;
}
return oLoginReposne;
}
else
{
oLoginReposne.Status = "500";
oLoginReposne.Message = "Authorizaton Failure";
oLoginReposne.Data = oLoginModel;
return oLoginReposne;
}
}
oLoginReposne.Status = "200";
oLoginReposne.Message = "Bad Request";
oLoginReposne.Data = oLoginModel;
}
catch (Exception ex)
{
oLoginReposne.Status = "500";
oLoginReposne.Message = ex.Message;
oLoginReposne.Data = oLoginModel;
}
return oLoginReposne;
}
[Route("api/[controller]/TokenRefresh")]
[HttpPost]
public TokenResponse TokenRefresh([FromHeader] string Authorization)
{
TokenResponse oLoginResponse = new TokenResponse();
List<LoginModel> oLoginModel = new List<LoginModel>();
var varTokenString = "";
try
{
DataTable dt = new DataTable();
dt = DbUsers.getAuthTokenDetails(Authorization);
if (int.Parse(dt.Rows[0]["USERID"].ToString()) > 0)
{
if (dt.Rows[0]["TOKEN"].ToString() == "NA")
{
var varClaimsData = new[] { new Claim(ClaimTypes.Name, dt.Rows[0]["NAME"].ToString()) };
var varKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("kdfllff133000fllafasfslfkslfkslfksljkdomxhimeekJdd"));
var varSignInCred = new SigningCredentials(varKey, SecurityAlgorithms.HmacSha256Signature);
var varToken = new JwtSecurityToken(
issuer: "iflotech.in",
audience: "iflotech.in",
expires: DateTime.Now.AddMinutes(pIntTokenExpiry),
claims: varClaimsData,
signingCredentials: varSignInCred
);
varTokenString = new JwtSecurityTokenHandler().WriteToken(varToken);
}
else
{
varTokenString = dt.Rows[0]["TOKEN"].ToString();
}
oLoginModel.Add(new LoginModel
{
UserID = int.Parse(dt.Rows[0]["USERID"].ToString()),
LoginName = dt.Rows[0]["USERNAME"].ToString(),
BearerToken = varTokenString.ToString(),
expires = pIntTokenExpiry.ToString(),
PropertyID = int.Parse(dt.Rows[0]["PropertyID"].ToString())
});
if (dt.Rows[0]["TOKEN"].ToString() != "NA")
{
oLoginResponse.Status = "200";
oLoginResponse.Message = "Success";
oLoginResponse.Data = oLoginModel;
return oLoginResponse;
}
if (DbUsers.UpdateUserToken(oLoginModel[0]) > 0)
{
oLoginResponse.Status = "200";
oLoginResponse.Message = "Success";
oLoginResponse.Data = oLoginModel;
}
else
{
oLoginModel.Clear();
oLoginResponse.Status = "500";
oLoginResponse.Message = "Authorizaton Failure";
oLoginResponse.Data = oLoginModel;
}
return oLoginResponse;
}
oLoginResponse.Status = "200";
oLoginResponse.Message = "BAD REQUEST ";// + Authorization.ToString() ;
oLoginResponse.Data = oLoginModel;
}
catch (Exception ex)
{
oLoginResponse.Status = "500";
oLoginResponse.Message = ex.Message;
oLoginResponse.Data = oLoginModel;
}
return oLoginResponse;
}
}
}
@@ -0,0 +1,212 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.IdentityModel.Tokens.Jwt;
using System.IO;
using System.Linq;
using System.Security.Claims;
using System.Text;
using System.Threading.Tasks;
using SocietyToolboxAPI.Helpers;
using SocietyToolboxAPI.DBClass;
using SocietyToolboxAPI.Models;
using Microsoft.AspNetCore.Mvc;
namespace SocietyToolboxAPI.Controllers
{
public class LedgersController : Controller
{
[Route("api/[controller]/GetLedgerList")]
[HttpGet]
public GetLedgerList GetLedgerList([FromQuery]int PropertyID, [FromQuery]int LedgerGroupID)
{
GetLedgerList oReponse = new GetLedgerList();
List<LedgersModel> oData = new List<LedgersModel>();
DataTable dt = new DataTable();
int i = 0;
dt = DBLedgers.geLedgerList(PropertyID,LedgerGroupID);
if (dt.Rows.Count > 0)
{
for (i = 0; i <= dt.Rows.Count - 1; i++)
{
oData.Add(new LedgersModel
{
LedgerID = int.Parse(dt.Rows[i]["LedgerID"].ToString()),
LedgerName = dt.Rows[i]["LedgerName"].ToString(),
LedgerGroupName = dt.Rows[i]["LedgerGroupName"].ToString(),
LedgerGroupID = int.Parse(dt.Rows[i]["LedgerGroupID"].ToString()),
ProperyID = int.Parse(dt.Rows[i]["PropertyID"].ToString()),
});
}
oReponse.Status = "200";
oReponse.Message = "Success";
oReponse.Data = oData;
}
else
{
oReponse.Status = "200";
oReponse.Message = "No Records";
oReponse.Data = oData;
}
return oReponse;
}
[Route("api/[controller]/GetCalculatedOnList")]
[HttpGet]
public GetCalculatedOnList GetCalculatedOnList([FromQuery]int PropertyID)
{
GetCalculatedOnList oReponse = new GetCalculatedOnList();
List<BillCalculationValuesModel> oData = new List<BillCalculationValuesModel>();
DataTable dt = new DataTable();
int i = 0;
dt = DBLedgers.getCalculatedOnList(PropertyID);
if (dt.Rows.Count > 0)
{
for (i = 0; i <= dt.Rows.Count - 1; i++)
{
oData.Add(new BillCalculationValuesModel
{
CalculationOnID = int.Parse(dt.Rows[i]["CalculationOnID"].ToString()),
CalculationOnName = dt.Rows[i]["CalculationOnName"].ToString(),
PropertyID = int.Parse(dt.Rows[i]["PropertyID"].ToString())
});
}
oReponse.Status = "200";
oReponse.Message = "Success";
oReponse.Data = oData;
}
else
{
oReponse.Status = "200";
oReponse.Message = "No Records";
oReponse.Data = oData;
}
return oReponse;
}
[Route("api/[controller]/GetLedgerGroupList")]
[HttpGet]
public GetLedgerGroupList GetLedgerGroupList()
{
GetLedgerGroupList oReponse = new GetLedgerGroupList();
List<LedgerGroupModel> oData = new List<LedgerGroupModel>();
DataTable dt = new DataTable();
int i = 0;
dt = DBLedgers.geLedgerGroupList();
if (dt.Rows.Count > 0)
{
for (i = 0; i <= dt.Rows.Count - 1; i++)
{
oData.Add(new LedgerGroupModel
{
LedgerGroupID = int.Parse(dt.Rows[i]["LedgerGroupID"].ToString()),
LedgerGroupName = dt.Rows[i]["LedgerGroupName"].ToString(),
});
}
oReponse.Status = "200";
oReponse.Message = "Success";
oReponse.Data = oData;
}
else
{
oReponse.Status = "200";
oReponse.Message = "No Records";
oReponse.Data = oData;
}
return oReponse;
}
[Route("api/[controller]/UpdateLedgerDetails")]
[HttpPost]
public POSTLedger UpdateLedgerDetails([FromBody] List<LedgersModel> ObjLedger)
{
POSTLedger oResponse = new POSTLedger();
List<LedgerReponseModel> oData = new List<LedgerReponseModel>();
string pStrXMLMasters = "";
try
{
pStrXMLMasters = "<LEDGER>";
pStrXMLMasters = pStrXMLMasters + "<LEDGERDETAILS>";
pStrXMLMasters = pStrXMLMasters + "<LEDGERID>" + ObjLedger[0].LedgerID + "</LEDGERID>";
pStrXMLMasters = pStrXMLMasters + "<LEDGERNAME>" + ObjLedger[0].LedgerName.Replace("&", "&amp;") + "</LEDGERNAME>";
pStrXMLMasters = pStrXMLMasters + "<PROPERTYID>" + ObjLedger[0].ProperyID + "</PROPERTYID>";
pStrXMLMasters = pStrXMLMasters + "<LEDGERGROUPID>" + ObjLedger[0].LedgerGroupID + "</LEDGERGROUPID>";
pStrXMLMasters = pStrXMLMasters + "</LEDGERDETAILS>";
pStrXMLMasters = pStrXMLMasters + "</LEDGER>";
DataTable dt = new DataTable();
dt = DBLedgers.UpdateLedgerDetails(pStrXMLMasters);
if (dt.Rows.Count > 0)
{
if (dt.Rows[0]["LEDGERID"].ToString() == "0")
{
oData.Add(new LedgerReponseModel
{
LedgerID = int.Parse(dt.Rows[0]["LEDGERID"].ToString()),
LedgerName = ObjLedger[0].LedgerName
});
oResponse.Status = "500";
oResponse.Message = dt.Rows[0]["STATUS"].ToString();
oResponse.Data = oData;
}
else
{
oData.Add(new LedgerReponseModel
{
LedgerID = int.Parse(dt.Rows[0]["LEDGERID"].ToString()),
LedgerName = ObjLedger[0].LedgerName
});
oResponse.Status = "200";
oResponse.Message = dt.Rows[0]["STATUS"].ToString();
oResponse.Data = oData;
}
}
else
{
oResponse.Status = "500";
oResponse.Message = "Update Failed";
oResponse.Data = oData;
}
}
catch (Exception ex)
{
oResponse.Status = "501";
oResponse.Message = ex.Message;
oResponse.Data = oData;
}
return oResponse;
}
}
}
@@ -0,0 +1,139 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.IdentityModel.Tokens.Jwt;
using System.IO;
using System.Linq;
using System.Security.Claims;
using System.Text;
using System.Threading.Tasks;
using SocietyToolboxAPI.Helpers;
using SocietyToolboxAPI.DBClass;
using SocietyToolboxAPI.Models;
using Microsoft.AspNetCore.Mvc;
namespace SocietyToolboxAPI.Controllers
{
public class MembersController : Controller
{
[Route("api/[controller]/GetMemberList")]
[HttpGet("")]
public GetMemberList GetMemberList([FromQuery]int PropertyID, [FromQuery]int MemberID)
{
GetMemberList oReponse = new GetMemberList();
List<MembersModel> oData = new List<MembersModel>();
DataTable dt = new DataTable();
int i = 0;
dt = DBMembers.geMemberList(PropertyID,MemberID);
if (dt.Rows.Count > 0)
{
for (i = 0; i <= dt.Rows.Count - 1; i++)
{
oData.Add(new MembersModel
{
MemberID = int.Parse(dt.Rows[i]["MemberID"].ToString()),
MemberName = dt.Rows[i]["MemberName"].ToString(),
MemberAddress = dt.Rows[i]["MemberAddress"].ToString(),
MobileNo = dt.Rows[i]["MobileNo"].ToString(),
Email = dt.Rows[i]["Email"].ToString(),
MemberStatus = int.Parse(dt.Rows[i]["MemberStatus"].ToString()),
PropertyID = int.Parse(dt.Rows[i]["PropertyID"].ToString()),
});
}
oReponse.Status = "200";
oReponse.Message = "Success";
oReponse.Data = oData;
}
else
{
oReponse.Status = "200";
oReponse.Message = "No Records";
oReponse.Data = oData;
}
return oReponse;
}
[Route("api/[controller]/UpdateMemberDetails")]
[HttpPost]
public POSTLedger UpdateMemberDetails([FromBody] MembersModel ObjMember)
{
POSTLedger oResponse = new POSTLedger();
List<LedgerReponseModel> oData = new List<LedgerReponseModel>();
string pStrXMLMasters = "";
try
{
pStrXMLMasters = "<MEMBER>";
pStrXMLMasters = pStrXMLMasters + "<MEMBERDETAILS>";
pStrXMLMasters = pStrXMLMasters + "<MEMBERID>" + ObjMember.MemberID + "</MEMBERID>";
pStrXMLMasters = pStrXMLMasters + "<MEMBERNAME>" + ObjMember.MemberName.Replace("&", "&amp;") + "</MEMBERNAME>";
pStrXMLMasters = pStrXMLMasters + "<MEMBERADDRESS>" + ObjMember.MemberAddress + "</MEMBERADDRESS>";
pStrXMLMasters = pStrXMLMasters + "<MOBILENO>" + ObjMember.MobileNo + "</MOBILENO>";
pStrXMLMasters = pStrXMLMasters + "<EMAIL>" + ObjMember.Email + "</EMAIL>";
pStrXMLMasters = pStrXMLMasters + "<PROPERTYID>" + ObjMember.PropertyID + "</PROPERTYID>";
pStrXMLMasters = pStrXMLMasters + "</MEMBERDETAILS>";
pStrXMLMasters = pStrXMLMasters + "</MEMBER>";
DataTable dt = new DataTable();
dt = DBMembers.UpdateMemberDetails(pStrXMLMasters);
if (dt.Rows.Count > 0)
{
if (dt.Rows[0]["MEMBERID"].ToString() == "0")
{
oData.Add(new LedgerReponseModel
{
LedgerID = int.Parse(dt.Rows[0]["MEMBERID"].ToString()),
LedgerName = ObjMember.MemberName
});
oResponse.Status = "500";
oResponse.Message = dt.Rows[0]["STATUS"].ToString();
oResponse.Data = oData;
}
else
{
oData.Add(new LedgerReponseModel
{
LedgerID = int.Parse(dt.Rows[0]["MEMBERID"].ToString()),
LedgerName = ObjMember.MemberName
});
oResponse.Status = "200";
oResponse.Message = dt.Rows[0]["STATUS"].ToString();
oResponse.Data = oData;
}
}
else
{
oResponse.Status = "500";
oResponse.Message = "Update Failed";
oResponse.Data = oData;
}
}
catch (Exception ex)
{
oResponse.Status = "501";
oResponse.Message = ex.Message;
oResponse.Data = oData;
}
return oResponse;
}
}
}
@@ -0,0 +1,329 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.IdentityModel.Tokens.Jwt;
using System.IO;
using System.Linq;
using System.Security.Claims;
using System.Text;
using System.Threading.Tasks;
using SocietyToolboxAPI.Helpers;
using SocietyToolboxAPI.DBClass;
using SocietyToolboxAPI.Models;
using Microsoft.AspNetCore.Mvc;
namespace SocietyToolboxAPI.Controllers
{
public class PropertyController : Controller
{
[Route("api/[controller]/GetPropertyUnitList")]
[HttpGet()]
public GetPropertyUnitList GetPropertyUnitList([FromQuery]int PropertyID, [FromQuery]int PropertyUnitID)
{
GetPropertyUnitList oReponse = new GetPropertyUnitList();
List<PropertyUnitsModel> oData = new List<PropertyUnitsModel>();
DataTable dt = new DataTable();
DataTable dtUtils = new DataTable();
int i = 0, j = 0;
dt = DBProperty.getPropertyUnitList(PropertyID, PropertyUnitID);
dtUtils = DBProperty.getPropertyUnilDetails(PropertyUnitID);
if (dt.Rows.Count > 0)
{
for (i = 0; i <= dt.Rows.Count - 1; i++)
{
List<PropertyUnitUtilitiesModel> oPropertyUtils = new List<PropertyUnitUtilitiesModel>();
for (j = 0; j <= dtUtils.Rows.Count - 1; j++)
{
oPropertyUtils.Add(new PropertyUnitUtilitiesModel
{
LedgerID = int.Parse(dtUtils.Rows[j]["LEDGERID"].ToString()),
LedgerName = (dtUtils.Rows[j]["LEDGERNAME"].ToString()),
PropertyUnitID = 0,
UnitSplit = int.Parse(dtUtils.Rows[j]["UNITSPLIT"].ToString()),
PropertyUnitUtilID = 0
});
}
oData.Add(new PropertyUnitsModel
{
PropertyUnitID = int.Parse(dt.Rows[i]["PropertyUnitID"].ToString()),
PropertyID = int.Parse(dt.Rows[i]["PropertyID"].ToString()),
PropertyUnitTypeID = int.Parse(dt.Rows[i]["PropertyUnitTypeID"].ToString()),
PropertyUnitType = dt.Rows[i]["PropertyUnitType"].ToString(),
UnitNo = dt.Rows[i]["UnitNo"].ToString(),
UnitArea = decimal.Parse(dt.Rows[i]["UnitArea"].ToString()),
UnitOpenArea = decimal.Parse(dt.Rows[i]["UnitOpenArea"].ToString()),
BuildingNo = dt.Rows[i]["BuildingNo"].ToString(),
ParkingNo = dt.Rows[i]["ParkingNo"].ToString(),
NoofParkings = int.Parse(dt.Rows[i]["NoofParkings"].ToString()),
ShareCertificateNos = dt.Rows[i]["ShareCertificateNos"].ToString(),
CertificateNo = (dt.Rows[i]["CertificateNo"].ToString()),
MemberID = int.Parse(dt.Rows[i]["MemberID"].ToString()),
MemberName = dt.Rows[i]["MemberName"].ToString(),
FirstOwnerName = dt.Rows[i]["FirstOwnerName"].ToString(),
SecondOwnerName = dt.Rows[i]["SecondOwnerName"].ToString(),
NomineeName = dt.Rows[i]["NomineeName"].ToString(),
OpeningBalance = decimal.Parse(dt.Rows[i]["OpeningBalance"].ToString()),
RentedAmount = decimal.Parse(dt.Rows[i]["RentedAmount"].ToString()),
PropertyUnitUtilities = oPropertyUtils
});
}
oReponse.Status = "200";
oReponse.Message = "Success";
oReponse.Data = oData;
}
else
{
oReponse.Status = "200";
oReponse.Message = "No Records";
oReponse.Data = oData;
}
return oReponse;
}
[Route("api/[controller]/GetPropertyUnitTypeList")]
[HttpGet()]
public GetPropertyUnitTypeList GetPropertyUnitTypeList([FromQuery]int PropertyID)
{
GetPropertyUnitTypeList oReponse = new GetPropertyUnitTypeList();
List<PropertyUnitTypesModel> oData = new List<PropertyUnitTypesModel>();
DataTable dt = new DataTable();
int i = 0;
dt = DBProperty.getPropertyUnitTypeList(PropertyID);
if (dt.Rows.Count > 0)
{
for (i = 0; i <= dt.Rows.Count - 1; i++)
{
oData.Add(new PropertyUnitTypesModel
{
PropertyUnitTypeID = int.Parse(dt.Rows[i]["PropertyUnitTypeID"].ToString()),
PropertyUnitTypeName = (dt.Rows[i]["PropertyUnitTypeName"].ToString()),
});
}
oReponse.Status = "200";
oReponse.Message = "Success";
oReponse.Data = oData;
}
else
{
oReponse.Status = "200";
oReponse.Message = "No Records";
oReponse.Data = oData;
}
return oReponse;
}
[Route("api/[controller]/GetPropertyBuildingNoList")]
[HttpGet()]
public GetPropertyBuildingNoList GetPropertyBuildingNoList([FromQuery]int PropertyID)
{
GetPropertyBuildingNoList oReponse = new GetPropertyBuildingNoList();
List<PropertyBuildingNoModel> oData = new List<PropertyBuildingNoModel>();
DataTable dt = new DataTable();
int i = 0;
dt = DBProperty.getPropertyBuildingNoList(PropertyID);
if (dt.Rows.Count > 0)
{
for (i = 0; i <= dt.Rows.Count - 1; i++)
{
oData.Add(new PropertyBuildingNoModel
{
BuildingNo = (dt.Rows[i]["BuildingNo"].ToString()),
});
}
oReponse.Status = "200";
oReponse.Message = "Success";
oReponse.Data = oData;
}
else
{
oReponse.Status = "200";
oReponse.Message = "No Records";
oReponse.Data = oData;
}
return oReponse;
}
[Route("api/[controller]/GetPropertyUnitsForBuildingNo")]
[HttpGet()]
public GetPropertyUnitList GetPropertyUnitsForBuildingNo([FromQuery]int PropertyID, [FromQuery]string BuildingNo)
{
GetPropertyUnitList oReponse = new GetPropertyUnitList();
List<PropertyUnitsModel> oData = new List<PropertyUnitsModel>();
DataTable dt = new DataTable();
DataTable dtUtils = new DataTable();
int i = 0;
dt = DBProperty.getPropertyUnitForBuildingNo(PropertyID, BuildingNo);
if (dt.Rows.Count > 0)
{
for (i = 0; i <= dt.Rows.Count - 1; i++)
{
List<PropertyUnitUtilitiesModel> oPropertyUtils = new List<PropertyUnitUtilitiesModel>();
oData.Add(new PropertyUnitsModel
{
PropertyUnitID = int.Parse(dt.Rows[i]["PropertyUnitID"].ToString()),
PropertyID = int.Parse(dt.Rows[i]["PropertyID"].ToString()),
PropertyUnitTypeID = int.Parse(dt.Rows[i]["PropertyUnitTypeID"].ToString()),
PropertyUnitType = dt.Rows[i]["PropertyUnitType"].ToString(),
UnitNo = dt.Rows[i]["UnitNo"].ToString(),
UnitArea = decimal.Parse(dt.Rows[i]["UnitArea"].ToString()),
UnitOpenArea = decimal.Parse(dt.Rows[i]["UnitOpenArea"].ToString()),
BuildingNo = dt.Rows[i]["BuildingNo"].ToString(),
ParkingNo = dt.Rows[i]["ParkingNo"].ToString(),
NoofParkings = int.Parse(dt.Rows[i]["NoofParkings"].ToString()),
ShareCertificateNos = dt.Rows[i]["ShareCertificateNos"].ToString(),
CertificateNo = (dt.Rows[i]["CertificateNo"].ToString()),
MemberID = int.Parse(dt.Rows[i]["MemberID"].ToString()),
MemberName = dt.Rows[i]["MemberName"].ToString(),
FirstOwnerName = dt.Rows[i]["FirstOwnerName"].ToString(),
SecondOwnerName = dt.Rows[i]["SecondOwnerName"].ToString(),
NomineeName = dt.Rows[i]["NomineeName"].ToString(),
OpeningBalance = decimal.Parse(dt.Rows[i]["OpeningBalance"].ToString()),
RentedAmount = 0,
PropertyUnitUtilities = oPropertyUtils
});
}
oReponse.Status = "200";
oReponse.Message = "Success";
oReponse.Data = oData;
}
else
{
oReponse.Status = "200";
oReponse.Message = "No Records";
oReponse.Data = oData;
}
return oReponse;
}
[Route("api/[controller]/UpdatePropertyUnitDetails")]
[HttpPost]
public POSTPropertyUnit UpdatePropertyUnitDetails([FromBody] PropertyUnitsModel ObjPropertyUnit)
{
int i = 0;
POSTPropertyUnit oResponse = new POSTPropertyUnit();
List<PropertyUnitReponseModel> oData = new List<PropertyUnitReponseModel>();
string pStrXMLMasters = "";
try
{
pStrXMLMasters = "<PROPERTYUNIT>";
pStrXMLMasters = pStrXMLMasters + "<PROPERTYUNITDETAILS>";
pStrXMLMasters = pStrXMLMasters + "<PROPERTYUNITID>" + ObjPropertyUnit.PropertyUnitID + "</PROPERTYUNITID>";
pStrXMLMasters = pStrXMLMasters + "<MEMBERID>" + ObjPropertyUnit.MemberID + "</MEMBERID>";
pStrXMLMasters = pStrXMLMasters + "<PROPERTYUNITYPEID>" + ObjPropertyUnit.PropertyUnitTypeID + "</PROPERTYUNITYPEID>";
pStrXMLMasters = pStrXMLMasters + "<UNITNO>" + ObjPropertyUnit.UnitNo.Replace("&", "&amp;") + "</UNITNO>";
pStrXMLMasters = pStrXMLMasters + "<BUILDINGNO>" + ObjPropertyUnit.BuildingNo + "</BUILDINGNO>";
pStrXMLMasters = pStrXMLMasters + "<PARKINGNO>" + ObjPropertyUnit.ParkingNo + "</PARKINGNO>";
pStrXMLMasters = pStrXMLMasters + "<NOOFPARKINGS>" + ObjPropertyUnit.NoofParkings + "</NOOFPARKINGS>";
pStrXMLMasters = pStrXMLMasters + "<UNITAREA>" + ObjPropertyUnit.UnitArea + "</UNITAREA>";
pStrXMLMasters = pStrXMLMasters + "<UNITOPENAREA>" + ObjPropertyUnit.UnitOpenArea + "</UNITOPENAREA>";
pStrXMLMasters = pStrXMLMasters + "<CERTIFICATENO>" + ObjPropertyUnit.CertificateNo + "</CERTIFICATENO>";
pStrXMLMasters = pStrXMLMasters + "<SHARECERTIFICATENOS>" + ObjPropertyUnit.ShareCertificateNos + "</SHARECERTIFICATENOS>";
pStrXMLMasters = pStrXMLMasters + "<FIRSTOWNERNAME>" + ObjPropertyUnit.FirstOwnerName + "</FIRSTOWNERNAME>";
pStrXMLMasters = pStrXMLMasters + "<SECONDOWNERNAME>" + ObjPropertyUnit.SecondOwnerName + "</SECONDOWNERNAME>";
pStrXMLMasters = pStrXMLMasters + "<NOMINEENAME>" + ObjPropertyUnit.NomineeName + "</NOMINEENAME>";
pStrXMLMasters = pStrXMLMasters + "<RENTEDAMOUNT>" + ObjPropertyUnit.RentedAmount + "</RENTEDAMOUNT>";
pStrXMLMasters = pStrXMLMasters + "<OPENINGBALANCE>" + ObjPropertyUnit.OpeningBalance + "</OPENINGBALANCE>";
pStrXMLMasters = pStrXMLMasters + "<PROPERTYID>" + ObjPropertyUnit.PropertyID + "</PROPERTYID>";
pStrXMLMasters = pStrXMLMasters + "</PROPERTYUNITDETAILS>";
for (i = 0; i <= ObjPropertyUnit.PropertyUnitUtilities.Count - 1; i++)
{
pStrXMLMasters = pStrXMLMasters + "<PROPERTYUNITUTILS>";
pStrXMLMasters = pStrXMLMasters + "<LEDGERID>" + ObjPropertyUnit.PropertyUnitUtilities[i].LedgerID + "</LEDGERID>";
pStrXMLMasters = pStrXMLMasters + "<UNITSPLIT>" + ObjPropertyUnit.PropertyUnitUtilities[i].UnitSplit + "</UNITSPLIT>";
pStrXMLMasters = pStrXMLMasters + "</PROPERTYUNITUTILS>";
}
pStrXMLMasters = pStrXMLMasters + "</PROPERTYUNIT>";
DataTable dt = new DataTable();
dt = DBProperty.UpdatePropertyUnitDetails(pStrXMLMasters);
if (dt.Rows.Count > 0)
{
if (dt.Rows[0]["PropertyUnitID"].ToString() == "0")
{
oData.Add(new PropertyUnitReponseModel
{
PropertyUnitID = int.Parse(dt.Rows[0]["PropertyUnitID"].ToString()),
UnitNo = ObjPropertyUnit.UnitNo
});
oResponse.Status = "500";
oResponse.Message = dt.Rows[0]["STATUS"].ToString();
oResponse.Data = oData;
}
else
{
oData.Add(new PropertyUnitReponseModel
{
PropertyUnitID = int.Parse(dt.Rows[0]["PropertyUnitID"].ToString()),
UnitNo = ObjPropertyUnit.UnitNo
});
oResponse.Status = "200";
oResponse.Message = dt.Rows[0]["STATUS"].ToString();
oResponse.Data = oData;
}
}
else
{
oResponse.Status = "500";
oResponse.Message = "Update Failed";
oResponse.Data = oData;
}
}
catch (Exception ex)
{
oResponse.Status = "501";
oResponse.Message = ex.Message;
oResponse.Data = oData;
}
return oResponse;
}
}
}
@@ -0,0 +1,70 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using System.IO;
using System.Data;
using SocietyToolboxAPI.Models;
using SocietyToolboxAPI.DBClass;
namespace SocietyToolboxAPI.Controllers
{
public class ReportDownloadController : Controller
{
[Route("api/[controller]/DownloadReportPDF")]
[HttpGet]
public async Task<IActionResult> DownloadReportPDF([FromQuery] string ReportFileName)
{
DataTable dt = new DataTable();
dt = DBSystemSettings.getAppConfigSettings(2);
string pStrReportPath = dt.Rows[0]["PARAMETERVALUE"].ToString() + ReportFileName;
//string pStrReportPath = "C:\\Users\\Public\\ExportData\\NoReportPDF.pdf" ;
if (System.IO.File.Exists(pStrReportPath) == false)
{
pStrReportPath = dt.Rows[0]["PARAMETERVALUE"].ToString() + "NoReportPDF.pdf";
//pStrReportPath = "C:\\Users\\Public\\ExportData\\NOREPORTPDF.pdf";
}
var memory = new MemoryStream();
using (var stream = new FileStream(pStrReportPath, FileMode.Open))
{
await stream.CopyToAsync(memory);
}
memory.Position = 0;
return File(memory, GetContentType(pStrReportPath), Path.GetFileName(pStrReportPath));
}
private string GetContentType(string path)
{
var types = GetMimeTypes();
var ext = Path.GetExtension(path).ToLowerInvariant();
return types[ext];
}
private Dictionary<string, string> GetMimeTypes()
{
return new Dictionary<string, string>
{
{".txt", "text/plain"},
{".pdf", "application/pdf"},
{".doc", "application/vnd.ms-word"},
{".docx", "application/vnd.ms-word"},
{".xls", "application/vnd.ms-excel"},
{".xlsx", "application/vnd.openxmlformatsofficedocument.spreadsheetml.sheet"},
{".png", "image/png"},
{".jpg", "image/jpeg"},
{".jpeg", "image/jpeg"},
{".gif", "image/gif"},
{".csv", "text/csv"}
};
}
}
}
@@ -0,0 +1,272 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.IdentityModel.Tokens.Jwt;
using System.IO;
using System.Linq;
using System.Security.Claims;
using System.Text;
using System.Threading.Tasks;
using SocietyToolboxAPI.Helpers;
using SocietyToolboxAPI.DBClass;
using SocietyToolboxAPI.Models;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
namespace SocietyToolboxAPI.Controllers
{
public class ReportsController : Controller
{
[Route("api/[controller]/GenerateMemberOutstanding")]
[HttpGet]
public GenerateMemberOutstanding GenerateMemberOutstanding([FromQuery]int PropertyID)
{
GenerateMemberOutstanding oReponse = new GenerateMemberOutstanding();
List<MemberOutsatndingModel> oData = new List<MemberOutsatndingModel>();
DataTable dt = new DataTable();
int i = 0;
dt = DBReports.GenerateMemberOutstanding(PropertyID);
if (dt.Rows.Count > 0)
{
for (i = 0; i <= dt.Rows.Count - 1; i++)
{
oData.Add(new MemberOutsatndingModel
{
UnitNo = (dt.Rows[i]["UnitNo"].ToString()),
PropertyUnitType = dt.Rows[i]["PropertyUnitType"].ToString(),
MemberName = (dt.Rows[i]["MemberName"].ToString()),
UnitArea= decimal.Parse(dt.Rows[i]["UnitArea"].ToString()),
UnitOpenArea = decimal.Parse(dt.Rows[i]["UnitOpenArea"].ToString()),
BuildingNo = (dt.Rows[i]["BuildingNo"].ToString()),
ParkingNo = (dt.Rows[i]["ParkingNo"].ToString()),
OpeningBalance = decimal.Parse(dt.Rows[i]["OpeningBalance"].ToString()),
BillAmount = decimal.Parse(dt.Rows[i]["BILLAMT"].ToString()),
ReceiptAmount = decimal.Parse(dt.Rows[i]["RCTAMT"].ToString()),
ClosingBalance = decimal.Parse(dt.Rows[i]["ClosingBal"].ToString()),
});
}
oReponse.Status = "200";
oReponse.Message = "Success";
oReponse.Data = oData;
}
else
{
oReponse.Status = "200";
oReponse.Message = "No Records";
oReponse.Data = oData;
}
return oReponse;
}
[Route("api/[controller]/GenerateMemberMonthBillDetails")]
[HttpGet]
public GenerateMemberMonthBillDetails GenerateMemberMonthBillDetails([FromQuery]int PropertyID, [FromQuery]string BillMonth)
{
GenerateMemberMonthBillDetails oReponse = new GenerateMemberMonthBillDetails();
List<MemberBillDetailsModel> oData = new List<MemberBillDetailsModel>();
DataTable dt = new DataTable();
int i = 0;
dt = DBReports.GenerateMemberMonthBillDetails(PropertyID,BillMonth);
if (dt.Rows.Count > 0)
{
for (i = 0; i <= dt.Rows.Count - 1; i++)
{
oData.Add(new MemberBillDetailsModel
{
BillNo = (dt.Rows[i]["BILLNO"].ToString()),
BillDate = DateTime.Parse(dt.Rows[i]["BILLDATE"].ToString()).ToString("dd-MM-yyyy"),
UnitNo = (dt.Rows[i]["UnitNo"].ToString()),
MemberName = (dt.Rows[i]["MemberName"].ToString()),
BillAmount = decimal.Parse(dt.Rows[i]["BillAmount"].ToString()),
ChargeDetail = (dt.Rows[i]["CHARGEDETAILS"].ToString()),
ChargeAmount = decimal.Parse(dt.Rows[i]["CHARGEAMOUNT"].ToString()),
});
}
oReponse.Status = "200";
oReponse.Message = "Success";
oReponse.Data = oData;
}
else
{
oReponse.Status = "200";
oReponse.Message = "No Records";
oReponse.Data = oData;
}
return oReponse;
}
[Route("api/[controller]/GenerateReportsPDF")]
[HttpGet]
public GenerateReport GenerateDemandBillReportsPDF([FromQuery]string MasterID, [FromQuery]int ReportTypeID)
{
GenerateReport oResponse = new GenerateReport();
List<ReportModel> oData = new List<ReportModel>();
DataTable dt = new DataTable();
try
{
dt = DBSystemSettings.getAppConfigSettings(1);
if (dt.Rows.Count > 0)
{
string pStrRequestURL = dt.Rows[0]["PARAMETERVALUE"].ToString();
pStrRequestURL = pStrRequestURL + "api/Reports/GenerateReportPDF?BillID=" + MasterID + "&ReportTypeID=" + ReportTypeID;
Task<String> oReponseString = DBClass.WebAccess.GetWebRequest(pStrRequestURL);
if (oReponseString.IsCompleted == true)
{
string pStrResult = oReponseString.Result;
ReportResponse oReport = JsonConvert.DeserializeObject<ReportResponse>(pStrResult);
if (oReport.Status == "200")
{
oData.Add(new ReportModel
{
ReportStatus = "Success",
DownloadFileName = oReport.DownloadFile
});
//oReport.DownloadFile
oResponse.Status = "200";
oResponse.Message = "Success";
oResponse.Data = oData;
}
else
{
oResponse.Status = "500";
oResponse.Message = oReport.Message;
oResponse.Data = oData;
}
}
else
{
oResponse.Status = "500";
oResponse.Message = "Failed";
oResponse.Data = oData;
}
//oResponse.Status = "200";
//oResponse.Message = oReponseString.Result.ToString();
//oResponse.Data = oData;
}
else
{
oResponse.Status = "200";
oResponse.Message = "No Config Settings";
oResponse.Data = oData;
}
}
catch (Exception ex)
{
oResponse.Status = "500";
oResponse.Message = ex.Message;
oResponse.Data = oData;
}
return oResponse;
}
[Route("api/[controller]/GenerateReportsXLS")]
[HttpGet]
public GenerateReport GenerateReportsXLS([FromQuery]int TransactionID, [FromQuery]int ReportTypeID)
{
GenerateReport oResponse = new GenerateReport();
List<ReportModel> oData = new List<ReportModel>();
DataTable dt = new DataTable();
try
{
dt = DBSystemSettings.getAppConfigSettings(1);
if (dt.Rows.Count > 0)
{
string pStrRequestURL = dt.Rows[0]["PARAMETERVALUE"].ToString();
pStrRequestURL = pStrRequestURL + "api/Reports/GenerateReportXLS?TransactionID=" + TransactionID + "&ReportTypeID=" + ReportTypeID;
Task<String> oReponseString = DBClass.WebAccess.GetWebRequest(pStrRequestURL);
if (oReponseString.IsCompleted == true)
{
string pStrResult = oReponseString.Result;
ReportResponse oReport = JsonConvert.DeserializeObject<ReportResponse>(pStrResult);
if (oReport.Status == "200")
{
oData.Add(new ReportModel
{
ReportStatus = "Success",
DownloadFileName = oReport.DownloadFile
});
//oReport.DownloadFile
oResponse.Status = "200";
oResponse.Message = "Success";
oResponse.Data = oData;
}
else
{
oResponse.Status = "500";
oResponse.Message = oReport.Message;
oResponse.Data = oData;
}
}
else
{
oResponse.Status = "500";
oResponse.Message = "Failed";
oResponse.Data = oData;
}
//oResponse.Status = "200";
//oResponse.Message = oReponseString.Result.ToString();
//oResponse.Data = oData;
}
else
{
oResponse.Status = "200";
oResponse.Message = "No Config Settings";
oResponse.Data = oData;
}
}
catch (Exception ex)
{
oResponse.Status = "500";
oResponse.Message = ex.Message;
oResponse.Data = oData;
}
return oResponse;
}
}
}
@@ -0,0 +1,201 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.IdentityModel.Tokens.Jwt;
using System.IO;
using System.Linq;
using System.Security.Claims;
using System.Text;
using System.Threading.Tasks;
using SocietyToolboxAPI.Helpers;
using SocietyToolboxAPI.DBClass;
using SocietyToolboxAPI.Models;
using Microsoft.AspNetCore.Mvc;
namespace SocietyToolboxAPI.Controllers
{
public class TransactionController : Controller
{
[Route("api/[controller]/GetTransactionList")]
[HttpGet]
public GetTransactionList GetTransactionList([FromQuery]int PropertyID, [FromQuery]int TransactionTypeID, [FromQuery]string FromDate, [FromQuery]string TODate, [FromQuery]string TransactionID)
{
GetTransactionList oReponse = new GetTransactionList();
List<TransactionsModel> oData = new List<TransactionsModel>();
DataTable dt = new DataTable();
DataTable dtDetails = new DataTable();
int i = 0,
j = 0;
dt = DBTransactions.getTransactionList(PropertyID, TransactionTypeID, FromDate, TODate, TransactionID);
if (dt.Rows.Count > 0)
{
for (i = 0; i <= dt.Rows.Count - 1; i++)
{
List<TransactionExpenseAllocationDetailsModel> oTransactionExpenseAllocationDetails = new List<TransactionExpenseAllocationDetailsModel>();
if (TransactionTypeID == 2 && TransactionID != "")
{
dtDetails = DBTransactions.getTransactionExpenseAllocationDetails(TransactionID);
if (dtDetails.Rows.Count > 0)
{
for (j = 0; j <= dtDetails.Rows.Count - 1; j++)
{
oTransactionExpenseAllocationDetails.Add(new TransactionExpenseAllocationDetailsModel
{
TransactionExpenseAllocationID = 0,
TransactionID = TransactionID,
UnitNo = dtDetails.Rows[j]["UnitNo"].ToString(),
AllocateAmount = decimal.Parse(dtDetails.Rows[j]["AllocateAmount"].ToString()),
AllocationMonth = DateTime.Parse(dtDetails.Rows[j]["AllocationMonth"].ToString()).ToString("dd-MM-yyyy"),
PropertyUnitID = Int32.Parse(dtDetails.Rows[j]["PropertyUnitID"].ToString())
});
}
}
}
oData.Add(new TransactionsModel
{
TransactionID = (dt.Rows[i]["TransactionID"].ToString()),
TransactionNo = dt.Rows[i]["TransactionNo"].ToString(),
TransactionDate = DateTime.Parse(dt.Rows[i]["TransactionDate"].ToString()),
ExpenseLedgerID = int.Parse(dt.Rows[i]["ExpenseLedgerID"].ToString()),
PropertyUnitID = int.Parse(dt.Rows[i]["PropertyUnitID"].ToString()),
UnitNo = (dt.Rows[i]["UnitNo"].ToString()) + " # " + (dt.Rows[i]["MemberName"].ToString()),
TransactionAmount = decimal.Parse(dt.Rows[i]["TransactionAmount"].ToString()),
ExpenseLedger = (dt.Rows[i]["ExpenseLedger"].ToString()),
TransactionTypeID = int.Parse(dt.Rows[i]["TransactionTypeID"].ToString()),
Remarks = dt.Rows[i]["Remarks"].ToString(),
PropertyID = int.Parse(dt.Rows[i]["PropertyID"].ToString()),
CashBankLedgerID = int.Parse(dt.Rows[i]["CashBankLedgerID"].ToString()),
CashBankLedger = (dt.Rows[i]["CashBankLedger"].ToString()),
PaymentTypeID = int.Parse(dt.Rows[i]["PaymentTypeID"].ToString()),
MemberID = int.Parse(dt.Rows[i]["MemberID"].ToString()),
MemberName = "",
TransactionStatusID = 1,
BillMonth = DateTime.Parse(dt.Rows[i]["BillMonth"].ToString()),
TransactionAllocationDetails = oTransactionExpenseAllocationDetails
});
}
oReponse.Status = "200";
oReponse.Message = "Success";
oReponse.Data = oData;
}
else
{
oReponse.Status = "200";
oReponse.Message = "No Records";
oReponse.Data = oData;
}
return oReponse;
}
[Route("api/[controller]/UpdateTransactionDetails")]
[HttpPost]
public POSTTransaction UpdateTransactionDetails([FromBody] TransactionsModel ObjTransaction)
{
POSTTransaction oResponse = new POSTTransaction();
List<TransactionsModel> oData = new List<TransactionsModel>();
string pStrXMLData = "";
int i = 0;
try
{
pStrXMLData = "<TRANSACTIONS>";
pStrXMLData = pStrXMLData + "<TRANSACTION>";
pStrXMLData = pStrXMLData + "<TRANSACTIONID>" + ObjTransaction.TransactionID + "</TRANSACTIONID>";
// pStrXMLData = pStrXMLData + "<TRANSACTIONNO>" + ObjTransaction.TransactionNo.Replace("&", "&amp;") + "</TRANSACTIONNO>";
pStrXMLData = pStrXMLData + "<TRANSACTIONDATE>" + ObjTransaction.TransactionDate.ToString("yyyy-MM-dd") + "</TRANSACTIONDATE>";
pStrXMLData = pStrXMLData + "<BILLMONTH>" + ObjTransaction.BillMonth.ToString("yyyy-MM-dd") + "</BILLMONTH>";
pStrXMLData = pStrXMLData + "<TRANSACTIONTYPEID>" + ObjTransaction.TransactionTypeID + "</TRANSACTIONTYPEID>";
pStrXMLData = pStrXMLData + "<PROPERTYUNITID>" + ObjTransaction.PropertyUnitID + "</PROPERTYUNITID>";
pStrXMLData = pStrXMLData + "<PROPERTYID>" + ObjTransaction.PropertyID + "</PROPERTYID>";
pStrXMLData = pStrXMLData + "<MEMBERID>" + ObjTransaction.MemberID + "</MEMBERID>";
pStrXMLData = pStrXMLData + "<CASHBANKLEDGERID>" + ObjTransaction.CashBankLedgerID + "</CASHBANKLEDGERID>";
pStrXMLData = pStrXMLData + "<EXPENSELEDGERID>" + ObjTransaction.ExpenseLedgerID + "</EXPENSELEDGERID>";
pStrXMLData = pStrXMLData + "<PAYMENTTYPEID>" + ObjTransaction.PaymentTypeID + "</PAYMENTTYPEID>";
pStrXMLData = pStrXMLData + "<TRANSACTIONAMOUNT>" + ObjTransaction.TransactionAmount + "</TRANSACTIONAMOUNT>";
pStrXMLData = pStrXMLData + "<REMARKS>" + ObjTransaction.Remarks + "</REMARKS>";
pStrXMLData = pStrXMLData + "<TRANSACIONSTATUSID>" + ObjTransaction.TransactionStatusID + "</TRANSACIONSTATUSID>";
pStrXMLData = pStrXMLData + "</TRANSACTION>";
for (i = 0; i <= ObjTransaction.TransactionAllocationDetails.Count - 1; i++)
{
pStrXMLData = pStrXMLData + "<TRANSACTIONEXPENSEALLOCATION>";
pStrXMLData = pStrXMLData + "<PROPERTYUNITID>" + ObjTransaction.TransactionAllocationDetails[i].PropertyUnitID + "</PROPERTYUNITID>";
pStrXMLData = pStrXMLData + "<ALLOCATIONMONTH>" + ObjTransaction.TransactionAllocationDetails[i].AllocationMonth + "</ALLOCATIONMONTH>";
pStrXMLData = pStrXMLData + "<ALLOCATEAMOUNT>" + ObjTransaction.TransactionAllocationDetails[i].AllocateAmount + "</ALLOCATEAMOUNT>";
pStrXMLData = pStrXMLData + "</TRANSACTIONEXPENSEALLOCATION>";
}
pStrXMLData = pStrXMLData + "</TRANSACTIONS>";
DataTable dt = new DataTable();
dt = DBTransactions.UpdateTransactionDetails(pStrXMLData);
if (dt.Rows.Count > 0)
{
if (dt.Rows[0]["TransactionNo"].ToString() == "0")
{
oData.Add(new TransactionsModel
{
TransactionID = (dt.Rows[0]["TransactionID"].ToString()),
TransactionNo = (dt.Rows[0]["TransactionNo"].ToString())
});
oResponse.Status = "500";
oResponse.Message = dt.Rows[0]["STATUS"].ToString();
oResponse.Data = oData;
}
else
{
oData.Add(new TransactionsModel
{
TransactionID = (dt.Rows[0]["TransactionID"].ToString()),
TransactionNo = (dt.Rows[0]["TransactionNo"].ToString())
});
oResponse.Status = "200";
oResponse.Message = dt.Rows[0]["STATUS"].ToString();
oResponse.Data = oData;
}
}
else
{
oResponse.Status = "500";
oResponse.Message = "Update Failed";
oResponse.Data = oData;
}
}
catch (Exception ex)
{
oResponse.Status = "501";
oResponse.Message = ex.Message;
oResponse.Data = oData;
}
return oResponse;
}
}
}
@@ -0,0 +1,44 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
namespace SocietyToolboxAPI.Controllers
{
[Route("api/[controller]")]
public class ValuesController : Controller
{
// GET api/values
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/values/5
[HttpGet("{id}")]
public string Get(int id)
{
return "value";
}
// POST api/values
[HttpPost]
public void Post([FromBody]string value)
{
}
// PUT api/values/5
[HttpPut("{id}")]
public void Put(int id, [FromBody]string value)
{
}
// DELETE api/values/5
[HttpDelete("{id}")]
public void Delete(int id)
{
}
}
}
+120
View File
@@ -0,0 +1,120 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
namespace SocietyToolboxAPI.DBClass
{
public class DBBills
{
static LibDbCommon.DataAccess oLibDbCommon = new LibDbCommon.DataAccess();
public static DataTable getBillList(int pIntSocietyID,string pStrFromDate,string pStrTODate,string pStrBillID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("PropertyID", pIntSocietyID));
parameterList.Add(oLibDbCommon.GetParameter("FromDate", pStrFromDate));
parameterList.Add(oLibDbCommon.GetParameter("ToDate", pStrTODate));
parameterList.Add(oLibDbCommon.GetParameter("BillID", pStrBillID));
dt = oLibDbCommon.GetDataTable("sp_getBillList", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable getBillDetails(string pIntBillID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("BillID", pIntBillID));
dt = oLibDbCommon.GetDataTable("sp_getBillDetails", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable getDeleteBillsForProperty(int pIntPropertyID ,string pstrMonth)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("PropertyID", pIntPropertyID));
parameterList.Add(oLibDbCommon.GetParameter("BillMOnth", pstrMonth));
dt = oLibDbCommon.GetDataTable("sp_geDeleteBillsForProperty", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable generateBillDetails(int pIntPropertyID,int pIntPropertyUnitTypeID,string pStrMonth)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("PropertyID", pIntPropertyID));
parameterList.Add(oLibDbCommon.GetParameter("PropertyUnitID", pIntPropertyUnitTypeID));
parameterList.Add(oLibDbCommon.GetParameter("Month", pStrMonth));
dt = oLibDbCommon.GetDataTable("sp_generateBillDetails", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable GenerateBillForProperty(int pIntPropertyID, int pIntPropertyUnitTypeID, string pStrMonth)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("PropertyID", pIntPropertyID));
//parameterList.Add(oLibDbCommon.GetParameter("PropertyUnitTypeID", pIntPropertyUnitTypeID));
parameterList.Add(oLibDbCommon.GetParameter("Month", pStrMonth));
dt = oLibDbCommon.GetDataTable("sp_GenerateBillsForProperty", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable UpdateBillDetails(string pXMLBillDetails)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("XMLBillDetails", pXMLBillDetails));
dt = oLibDbCommon.GetDataTable("sp_UpdateBillDetails", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
}
}
@@ -0,0 +1,67 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
namespace SocietyToolboxAPI.DBClass
{
public class DBDemandMaster
{
static LibDbCommon.DataAccess oLibDbCommon = new LibDbCommon.DataAccess();
public static DataTable getDemandMasterList(int pIntPropertyID, int pIntDemandMasterID,string pStrFromDate,string pStrToDate)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("PropertyID", pIntPropertyID));
parameterList.Add(oLibDbCommon.GetParameter("DemandMasterID", pIntDemandMasterID));
parameterList.Add(oLibDbCommon.GetParameter("FromDate", pStrFromDate));
parameterList.Add(oLibDbCommon.GetParameter("ToDate", pStrToDate));
dt = oLibDbCommon.GetDataTable("getDemandMasterList", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable getDemandDetails(int pIntDemandMasterID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("DEMANDMASTERID", pIntDemandMasterID));
dt = oLibDbCommon.GetDataTable("sp_getDemandDetails", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable UpdateDemandDetails(string pStrXMLDemandDetails)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("XMLDemandDetails", pStrXMLDemandDetails));
dt = oLibDbCommon.GetDataTable("sp_UpdateDemandDetails", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
}
}
+96
View File
@@ -0,0 +1,96 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
namespace SocietyToolboxAPI.DBClass
{
public class DBLedgers
{
static LibDbCommon.DataAccess oLibDbCommon = new LibDbCommon.DataAccess();
public static DataTable geLedgerList(int pIntPropertyID,int pIntLedgerGroupID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("PropertyID", pIntPropertyID));
parameterList.Add(oLibDbCommon.GetParameter("LedgerGroupID", pIntLedgerGroupID));
dt = oLibDbCommon.GetDataTable("sp_getLedgerList", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable getCalculatedOnList(int pIntPropertyID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("PropertyID", pIntPropertyID));
dt = oLibDbCommon.GetDataTable("sp_getCalculatedOnList", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable geLedgerGroupList()
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("PropertyID", "0"));
dt = oLibDbCommon.GetDataTable("sp_getLedgerGroupList", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable geLedgerDetails(int pIntSocietyID,int pIntLedgerID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("SocietyID", pIntSocietyID));
parameterList.Add(oLibDbCommon.GetParameter("LedgerID", pIntLedgerID));
dt = oLibDbCommon.GetDataTable("sp_getLedgerDetails", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable UpdateLedgerDetails(string pStrXMLLedgers)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("XMLLedger", pStrXMLLedgers));
dt = oLibDbCommon.GetDataTable("sp_UpdateLedgers", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
}
}
+47
View File
@@ -0,0 +1,47 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
namespace SocietyToolboxAPI.DBClass
{
public class DBMembers
{
static LibDbCommon.DataAccess oLibDbCommon = new LibDbCommon.DataAccess();
public static DataTable geMemberList(int pIntSocietyID,int pIntMemberID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("PropertyID", pIntSocietyID));
parameterList.Add(oLibDbCommon.GetParameter("MemberID", pIntMemberID));
dt = oLibDbCommon.GetDataTable("sp_getMemberList", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable UpdateMemberDetails(string pStrXMLMembers)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("XMLMembers", pStrXMLMembers));
dt = oLibDbCommon.GetDataTable("sp_UpdateMemberDetails", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
}
}
+147
View File
@@ -0,0 +1,147 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
namespace SocietyToolboxAPI.DBClass
{
public class DBProperty
{
static LibDbCommon.DataAccess oLibDbCommon = new LibDbCommon.DataAccess();
public static DataTable getPropertyDetails(int pIntPropertyID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("PropertyID", pIntPropertyID));
dt = oLibDbCommon.GetDataTable("sp_getPropertyDetails", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable getPropertyUnitList(int pIntPropertyID, int pIntPropertyUnitID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("PropertyID", pIntPropertyID));
parameterList.Add(oLibDbCommon.GetParameter("PropertyUnitID", pIntPropertyUnitID));
dt = oLibDbCommon.GetDataTable("sp_getPropertyUnitList", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable getPropertyUnitForBuildingNo(int pIntPropertyID, string pStrBuildingNo)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("PropertyID", pIntPropertyID));
parameterList.Add(oLibDbCommon.GetParameter("BuildingNo", pStrBuildingNo));
dt = oLibDbCommon.GetDataTable("sp_getPropertyUnitForBuildingNo", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable getPropertyUnilDetails(int pIntPropertyUnitID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("PropertyUnitID", pIntPropertyUnitID));
dt = oLibDbCommon.GetDataTable("sp_getPropertyUtilDetails", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable getPropertyUnitTypeList(int pIntPropertyID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("PropertyID", pIntPropertyID));
dt = oLibDbCommon.GetDataTable("sp_getPropertyUnitTypeList", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable getPropertyBuildingNoList(int pIntPropertyID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("PropertyID", pIntPropertyID));
dt = oLibDbCommon.GetDataTable("sp_getPropertyBuildingNoList", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable UpdatePropertyDetails(string pStrXMLPropertyDetails)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("XMLPropertyDetails", pStrXMLPropertyDetails));
dt = oLibDbCommon.GetDataTable("sp_UpdatePropertyDetails", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable UpdatePropertyUnitDetails(string pStrXMLPropertyUnitDetails)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("XMLPropertyUnitDetails", pStrXMLPropertyUnitDetails));
dt = oLibDbCommon.GetDataTable("sp_UpdatePropertyUnitDetails", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
}
}
+49
View File
@@ -0,0 +1,49 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
namespace SocietyToolboxAPI.DBClass
{
public class DBReports
{
static LibDbCommon.DataAccess oLibDbCommon = new LibDbCommon.DataAccess();
public static DataTable GenerateMemberOutstanding(int pIntPropertyID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("PropertyID", pIntPropertyID));
dt = oLibDbCommon.GetDataTable("sp_GenerateMemberOutstanding", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable GenerateMemberMonthBillDetails(int pIntPropertyID,string pStrBillMonth)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("PropertyID", pIntPropertyID));
parameterList.Add(oLibDbCommon.GetParameter("Month", pStrBillMonth));
dt = oLibDbCommon.GetDataTable("sp_generateMemberMonthlyBillDetails", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
}
}
@@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
namespace SocietyToolboxAPI.DBClass
{
public class DBSystemSettings
{
static LibDbCommon.DataAccess oLibDbCommon = new LibDbCommon.DataAccess();
public static DataTable getAppConfigSettings(int pIntConfigID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("APPCONFIGID", pIntConfigID));
dt = oLibDbCommon.GetDataTable("sp_getAppConfigSettings", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
}
}
@@ -0,0 +1,87 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
namespace SocietyToolboxAPI.DBClass
{
public class DBTransactions
{
static LibDbCommon.DataAccess oLibDbCommon = new LibDbCommon.DataAccess();
public static DataTable getTransactionList(int pIntPropertyID,int pIntTransactionTypeID,string pStrFromDate,String pStrTODate,string pIntTransactionID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("PropertyID", pIntPropertyID));
parameterList.Add(oLibDbCommon.GetParameter("TransactionTypeID", pIntTransactionTypeID));
parameterList.Add(oLibDbCommon.GetParameter("FromDate", pStrFromDate));
parameterList.Add(oLibDbCommon.GetParameter("ToDate", pStrTODate));
parameterList.Add(oLibDbCommon.GetParameter("TransactionID", pIntTransactionID));
dt = oLibDbCommon.GetDataTable("sp_getTransactionList", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable getTransactionDetails( int pIntTransactionID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("TransactionID", pIntTransactionID));
dt = oLibDbCommon.GetDataTable("sp_getTransactionList", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable getTransactionExpenseAllocationDetails(string pIntTransactionID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("TransactionID", pIntTransactionID));
dt = oLibDbCommon.GetDataTable("sp_getTransactionExpenseAllocationDetails", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable UpdateTransactionDetails(string pStrXMLTransactionDetails)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("XMLTransactionDetails", pStrXMLTransactionDetails));
dt = oLibDbCommon.GetDataTable("sp_UpdateTransactionsDetails", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
}
}
@@ -0,0 +1,23 @@
using SocietyToolboxAPI.Helpers;
using Microsoft.Extensions.Configuration;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
namespace SocietyToolboxAPI.DBClass
{
public class DBConnectionLayer
{
public static string getConnectionString()
{
string pStrConnString = "";
var varConfiguration = ConfigurationHelper.GetConfiguration(Directory.GetCurrentDirectory());
var varConnectionString = varConfiguration.GetConnectionString("SQLDbConnection");
pStrConnString = varConnectionString;
return pStrConnString;
}
}
}
+268
View File
@@ -0,0 +1,268 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using SocietyToolboxAPI.DBClass;
using SocietyToolboxAPI.Models;
namespace SocietyToolboxAPI.DBClass
{
public class DbUsers
{
static LibDbCommon.DataAccess oLibDbCommon = new LibDbCommon.DataAccess();
public static DataTable getUserList(int pIntPropertyID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("PropertyID", pIntPropertyID));
dt = oLibDbCommon.GetDataTable("sp_getUserList", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable getAuthUserDetails(string pStrUserName, string pStrUserPassword)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("UserName", pStrUserName));
parameterList.Add(oLibDbCommon.GetParameter("UserPass", pStrUserPassword));
dt = oLibDbCommon.GetDataTable("sp_getAuthUserDetails", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable getAuthTokenDetails(string pStrToken)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
var varToken = pStrToken;
parameterList.Add(oLibDbCommon.GetParameter("Token", varToken.Split("Bearer ")[1].ToString()));
string pStrQuery = "sp_getAuthTokenDetails";
dt = oLibDbCommon.GetDataTable(pStrQuery, parameterList, System.Data.CommandType.StoredProcedure);
//dt = ExecutionLayer.GetDataTable("Select * from users", parameterList, System.Data.CommandType.Text);
return dt;
}
public static DataTable getUserDetails(int pintUserID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("UserID", pintUserID));
dt = oLibDbCommon.GetDataTable("sp_getUsersDetails", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable getUserRights()
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
dt = oLibDbCommon.GetDataTable("sp_getUsersRights", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable getUserRightsDetails(int pintUserID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("UserID", pintUserID));
dt = oLibDbCommon.GetDataTable("sp_getUsersRightDetails", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable getUserMenuRightsDetails(int pintUserID, int pIntUserRightID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("UserID", pintUserID));
parameterList.Add(oLibDbCommon.GetParameter("UserRightID", pIntUserRightID));
dt = oLibDbCommon.GetDataTable("sp_getUserMenuRightDetails", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable getUserRightTabDetails(int pintUserID, int pIntUserRightID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("UserID", pintUserID));
parameterList.Add(oLibDbCommon.GetParameter("UserRightID", pIntUserRightID));
dt = oLibDbCommon.GetDataTable("sp_getUsersTabsRightDetails", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable getUserRightTabActionDetails(int pintUserID, int pIntUserRightID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("UserID", pintUserID));
parameterList.Add(oLibDbCommon.GetParameter("UserRightID", pIntUserRightID));
dt = oLibDbCommon.GetDataTable("sp_getUsersTabActionRightDetails", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static int UpdateUserToken(LoginModel ObjLogin)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
DataTable dt = new DataTable();
string Query = @"Delete from UserTokens where UserID='" + ObjLogin.UserID + "'";
int i = oLibDbCommon.ExecuteNonQuery(Query, parameterList, System.Data.CommandType.Text);
Query = @"Insert into UserTokens ";
Query = Query + "(";
Query = Query + "USERID";
Query = Query + ",USERTOKEN";
Query = Query + ",CREATEDATETIME";
Query = Query + ",VALIDTIMEPERIOD";
Query = Query + ")";
Query = Query + " VALUES ";
Query = Query + "(";
Query = Query + "" + ObjLogin.UserID;
Query = Query + ",'" + ObjLogin.BearerToken + "'";
Query = Query + ",'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "'";
Query = Query + ",'" + ObjLogin.expires + "'";
Query = Query + ")";
i = oLibDbCommon.ExecuteNonQuery(Query, parameterList, System.Data.CommandType.Text);
return i;
}
public static DataTable UpdateUserDetails(string pStrXMLUsers)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("XMLUsers", pStrXMLUsers));
dt = oLibDbCommon.GetDataTable("sp_UpdateUserDetails", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable UpdateUserRightDetails(string pStrXMLUserRightDetails)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("XMLUserRightDetails", pStrXMLUserRightDetails));
dt = oLibDbCommon.GetDataTable("sp_UpdateUserRightDetails", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable UpdateChangePassword(string pStrXMLUsers)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("XMLUsers", pStrXMLUsers));
dt = oLibDbCommon.GetDataTable("sp_UpdateChangePassword", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
public static DataTable getUserTypes(int pIntCompanyID)
{
var varConnectionString = DBConnectionLayer.getConnectionString();
DataTable dt = new DataTable();
oLibDbCommon.ConnectionString = varConnectionString;
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(oLibDbCommon.GetParameter("CompanyID", pIntCompanyID));
dt = oLibDbCommon.GetDataTable("sp_getUserTypes", parameterList, System.Data.CommandType.StoredProcedure);
return dt;
}
}
}
+103
View File
@@ -0,0 +1,103 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.Linq;
using System.Threading.Tasks;
namespace SocietyToolboxAPI.DBClass
{
public class ExecutionLayer
{
public static object ExecuteScalar(string procedureName, List<SqlParameter> parameters)
{
object returnValue = null;
try
{
using (DbConnection connection = GetConnection())
{
DbCommand cmd = GetCommand(connection, procedureName, CommandType.StoredProcedure);
if (parameters != null && parameters.Count > 0)
{
cmd.Parameters.AddRange(parameters.ToArray());
}
returnValue = cmd.ExecuteScalar();
}
}
catch (Exception ex)
{
//LogException("Failed to ExecuteScalar for " + procedureName, ex, parameters);
throw;
}
return returnValue;
}
public static DataTable GetDataTable(string procedureName, List<SqlParameter> parameters, CommandType commandType = CommandType.StoredProcedure)
{
DataTable dt = new DataTable();
SqlDataAdapter da;
try
{
using (SqlConnection connection = GetConnection())
{
SqlCommand cmd = GetSQLCommand(connection, procedureName, commandType);
if (parameters != null && parameters.Count > 0)
{
cmd.Parameters.AddRange(parameters.ToArray());
}
da = new SqlDataAdapter(cmd);
da.Fill(dt);
}
//DbConnection connection = GetConnection();
//{
// DbCommand cmd = new DbCommand(connection, procedureName, commandType);
// if (parameters != null && parameters.Count > 0)
// {
// cmd.Parameters.AddRange(parameters.ToArray());
// }
// //ds = cmd.ExecuteReader(CommandBehavior.CloseConnection);
// da = new SqlDataAdapter(cmd);
// da.Fill(dt);
//}
}
catch (Exception ex)
{
//LogException("Failed to GetDataReader for " + procedureName, ex, parameters);
throw;
}
return dt;
}
private static DbCommand GetCommand(DbConnection connection, string commandText, CommandType commandType)
{
SqlCommand command = new SqlCommand(commandText, connection as SqlConnection);
command.CommandType = commandType;
return command;
}
private static SqlCommand GetSQLCommand(DbConnection connection, string commandText, CommandType commandType)
{
SqlCommand command = new SqlCommand(commandText, connection as SqlConnection);
command.CommandType = commandType;
return command;
}
private static SqlConnection GetConnection()
{
SqlConnection connection = new SqlConnection("Server=IDEAPAD510\\SQL2008R2;Database=eTraxNx;User Id=sa;Password=ift@!234;");
if (connection.State != ConnectionState.Open)
connection.Open();
return connection;
}
}
}
+59
View File
@@ -0,0 +1,59 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Net;
using System.Net.Http;
using System.IO;
using System.Text;
namespace SocietyToolboxAPI.DBClass
{
public class WebAccess
{
public static async Task<string> GetWebRequest(string pStrRequestURL)
{
try
{
WebRequest request = WebRequest.Create(pStrRequestURL);
WebResponse response = request.GetResponseAsync().Result;
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string content = reader.ReadToEnd();
return content;
}
catch (Exception ex)
{
return ex.Message;
}
}
public static async Task<string> GetWebRequest(string pStrRequestURL, string UserName, string password)
{
UTF8Encoding enc = new UTF8Encoding();
WebRequest request = WebRequest.Create(pStrRequestURL);
request.Method = "GET";
request.Credentials = new NetworkCredential(UserName, password);
//Set data in request
Stream dataStream = await request.GetRequestStreamAsync();
//dataStream.Write(enc.GetBytes(data), 0, data.Length);
//Get the response
WebResponse wr = await request.GetResponseAsync();
Stream receiveStream = wr.GetResponseStream();
StreamReader reader = new StreamReader(receiveStream, Encoding.UTF8);
string content = reader.ReadToEnd();
return content;
}
}
}
@@ -0,0 +1,28 @@
using Microsoft.Extensions.Configuration;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace SocietyToolboxAPI.Helpers
{
public static class ConfigurationHelper
{
#region GetConfiguration()
public static IConfigurationRoot GetConfiguration(string path, string environmentName = null, bool addUserSecrets = false)
{
var builder = new ConfigurationBuilder()
.SetBasePath(path)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
if (!String.IsNullOrWhiteSpace(environmentName))
{
builder = builder.AddJsonFile($"appsettings.{environmentName}.json", optional: true);
}
builder = builder.AddEnvironmentVariables();
return builder.Build();
}
#endregion
}
}
+53
View File
@@ -0,0 +1,53 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace SocietyToolboxAPI.Models
{
public class BillModel
{
public string BillID { get; set; }
public DateTime BillDate { get; set; }
public string BillNo { get; set; }
public DateTime BillMonth{ get; set; }
public Int32 PropertyUnitID { get; set; }
public string UnitNo { get; set; }
public string MemberName { get; set; }
public Int32 MemberID { get; set; }
public decimal BillAmount { get; set; }
public decimal BillPendingAmount { get; set; }
public Int32 PropertyID { get; set; }
public DateTime DueDate { get; set; }
public List<BillDetailsModel> BillDetails { get; set; }
}
public class BillDetailsModel
{
public Int32 BillDetaildID { get; set; }
public string BillID { get; set; }
public Int32 LedgerID { get; set; }
public string LedgerName { get; set; }
public decimal LedgerAmount { get; set; }
}
public class GenerateBillModel
{
public string BillID { get; set; }
public string BillNo { get; set; }
public string BillDate { get; set; }
public string UnitNo { get; set; }
public string MemberName { get; set; }
public decimal BillAmount { get; set; }
public string DueDate { get; set; }
}
public class BillReponseModel
{
public string BillID { get; set; }
public string BillNo { get; set; }
}
}
+39
View File
@@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace SocietyToolboxAPI.Models
{
public class DemandMasterModel
{
public int DemandMasterID { get; set; }
public string DemandMasterNO { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public string UnitTypeName { get; set; }
public int UnitTypeID { get; set; }
public Int32 PropertyID { get; set; }
public List<DemandDetailsModel> DemamdDetails { get; set; }
}
public class DemandDetailsModel
{
public Int32 DemandDetailsID { get; set; }
public string DemandMasterID { get; set; }
public Int32 LedgerID { get; set; }
public string LedgerName { get; set; }
public decimal LedgerRate { get; set; }
public int CalculatedONID { get; set; }
public string CalculatedON { get; set; }
public decimal InterestRate { get; set; }
}
public class DemandReponseModel
{
public int DemandMasterID { get; set; }
public string DemandMasterNo { get; set; }
}
}
+44
View File
@@ -0,0 +1,44 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace SocietyToolboxAPI.Models
{
public class LedgersModel
{
public Int32 LedgerID { get; set; }
public string LedgerName { get; set; }
public int LedgerGroupID { get; set; }
public string LedgerGroupName { get; set; }
public Int32 ProperyID { get; set; }
}
public class BillCalculationValuesModel
{
public int CalculationOnID { get; set; }
public string CalculationOnName { get; set; }
public Int32 PropertyID { get; set; }
}
public class LedgerGroupModel
{
public int LedgerGroupID { get; set; }
public string LedgerGroupName { get; set; }
}
public class PropertyUnitReponseModel
{
public int PropertyUnitID { get; set; }
public string UnitNo { get; set; }
}
public class LedgerReponseModel
{
public int LedgerID { get; set; }
public string LedgerName { get; set; }
}
}
+18
View File
@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace SocietyToolboxAPI.Models
{
public class MembersModel
{
public Int32 MemberID { get; set; }
public string MemberName { get; set; }
public string MemberAddress { get; set; }
public string MobileNo { get; set; }
public string Email { get; set; }
public int MemberStatus { get; set; }
public Int32 PropertyID { get; set; }
}
}
+75
View File
@@ -0,0 +1,75 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace SocietyToolboxAPI.Models
{
public class PropertyDetailsModel
{
public Int32 PropertyDetailsID { get; set; }
public Int32 PropertyID { get; set; }
public int PropertyUnitTypeID { get; set; }
public int NoofUnits { get; set; }
}
public class PropertyUnitHistoryModel
{
public Int32 PropertyUnitHistoryID { get; set; }
public Int32 PropertyUnitID { get; set; }
public Int32 MemberID { get; set; }
public string FirstOwnerName { get; set; }
public string SecondOwnerName { get; set; }
public DateTime OwnershipStartDate { get; set; }
public DateTime OwnershipEndDate { get; set; }
}
public class PropertyUnitTypesModel
{
public int PropertyUnitTypeID { get; set; }
public string PropertyUnitTypeName { get; set; }
}
public class PropertyBuildingNoModel
{
public string BuildingNo { get; set; }
}
public class PropertyUnitsModel
{
public Int32 PropertyUnitID { get; set; }
public Int32 PropertyID { get; set; }
public Int32 MemberID { get; set; }
public Int32 PropertyUnitTypeID { get; set; }
public string PropertyUnitType { get; set; }
public string MemberName { get; set; }
public string UnitNo { get; set; }
public decimal UnitArea { get; set; }
public decimal UnitOpenArea { get; set; }
public string BuildingNo { get; set; }
public string ParkingNo { get; set; }
public int NoofParkings { get; set; }
public string ShareCertificateNos { get; set; }
public string CertificateNo { get; set; }
public string FirstOwnerName { get; set; }
public string SecondOwnerName { get; set; }
public string NomineeName { get; set; }
public DateTime EffectiveDate { get; set; }
public decimal RentedAmount { get; set; }
public decimal OpeningBalance { get; set; }
public List<PropertyUnitUtilitiesModel> PropertyUnitUtilities { get; set; }
}
public class PropertyUnitUtilitiesModel
{
public Int32 PropertyUnitUtilID { get; set; }
public Int32 PropertyUnitID { get; set; }
public Int32 LedgerID { get; set; }
public string LedgerName { get; set; }
public int UnitSplit { get; set; }
}
}
+51
View File
@@ -0,0 +1,51 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace SocietyToolboxAPI.Models
{
public class ReportModel
{
public string ReportStatus { get; set; }
public string DownloadFileName { get; set; }
}
public class ReportResponse
{
public object[] Data { get; set; }
public string Status { get; set; }
public string Message { get; set; }
public string DownloadFile { get; set; }
}
public class MemberOutsatndingModel
{
public Int32 PropertyUnitID { get; set; }
public string PropertyUnitType { get; set; }
public string MemberName { get; set; }
public string UnitNo { get; set; }
public decimal UnitArea { get; set; }
public decimal UnitOpenArea { get; set; }
public string BuildingNo { get; set; }
public string ParkingNo { get; set; }
public decimal OpeningBalance { get; set; }
public decimal BillAmount { get; set; }
public decimal ReceiptAmount { get; set; }
public decimal ClosingBalance { get; set; }
}
public class MemberBillDetailsModel
{
public string BillNo { get; set; }
public string BillDate { get; set; }
public string MemberName { get; set; }
public string UnitNo { get; set; }
public string ChargeDetail { get; set; }
public decimal ChargeAmount { get; set; }
public decimal BillAmount { get; set; }
}
}
+125
View File
@@ -0,0 +1,125 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace SocietyToolboxAPI.Models
{
public class Response
{
public string Status { get; set; }
public string Message { get; set; }
}
public class LoginResponse : Response
{
public IEnumerable<LoginModel> Data { get; set; }
}
public class TokenResponse : Response
{
public IEnumerable<LoginModel> Data { get; set; }
}
public class GetPropertyUnitList : Response
{
public IEnumerable<PropertyUnitsModel> Data { get; set; }
}
public class GetPropertyUnitTypeList : Response
{
public IEnumerable<PropertyUnitTypesModel> Data { get; set; }
}
public class GetPropertyBuildingNoList : Response
{
public IEnumerable<PropertyBuildingNoModel> Data { get; set; }
}
public class GetLedgerList : Response
{
public IEnumerable<LedgersModel> Data { get; set; }
}
public class GetCalculatedOnList : Response
{
public IEnumerable<BillCalculationValuesModel> Data { get; set; }
}
public class GetLedgerGroupList : Response
{
public IEnumerable<LedgerGroupModel> Data { get; set; }
}
public class GetMemberList : Response
{
public IEnumerable<MembersModel> Data { get; set; }
}
public class GetDemandList : Response
{
public IEnumerable<DemandMasterModel> Data { get; set; }
}
public class GetDemandDetails : Response
{
public IEnumerable<DemandDetailsModel> Data { get; set; }
}
public class GetBillsList : Response
{
public IEnumerable<BillModel> Data { get; set; }
}
public class GetBillDetails : Response
{
public IEnumerable<BillDetailsModel> Data { get; set; }
}
public class GenerateBillForProperty : Response
{
public IEnumerable<GenerateBillModel> Data { get; set; }
}
public class GenerateBillDetails : Response
{
public IEnumerable<BillDetailsModel> Data { get; set; }
}
public class GenerateMemberOutstanding : Response
{
public IEnumerable<MemberOutsatndingModel> Data { get; set; }
}
public class GenerateMemberMonthBillDetails : Response
{
public IEnumerable<MemberBillDetailsModel> Data { get; set; }
}
public class GenerateReport : Response
{
public IEnumerable<ReportModel> Data { get; set; }
}
public class GetTransactionList : Response
{
public IEnumerable<TransactionsModel> Data { get; set; }
}
public class POSTLedger : Response
{
public IEnumerable<LedgerReponseModel> Data { get; set; }
}
public class POSTDemandMaster : Response
{
public IEnumerable<DemandReponseModel> Data { get; set; }
}
public class POSTBill : Response
{
public IEnumerable<BillReponseModel> Data { get; set; }
}
public class POSTPropertyUnit : Response
{
public IEnumerable<PropertyUnitReponseModel> Data { get; set; }
}
public class POSTTransaction : Response
{
public IEnumerable<TransactionsModel> Data { get; set; }
}
}
+75
View File
@@ -0,0 +1,75 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace SocietyToolboxAPI.Models
{
public class TransactionsModel
{
public string TransactionID { get; set; }
public string TransactionNo { get; set; }
public DateTime TransactionDate { get; set; }
public DateTime BillMonth { get; set; }
public Int32 PropertyUnitID { get; set; }
public Int32 MemberID { get; set; }
public string MemberName { get; set; }
public string UnitNo { get; set; }
public Int32 CashBankLedgerID { get; set; }
public string CashBankLedger { get; set; }
public Int32 ExpenseLedgerID { get; set; }
public string ExpenseLedger { get; set; }
public int TransactionTypeID { get; set; }
public int PaymentTypeID { get; set; }
public decimal TransactionAmount { get; set; }
public string Remarks { get; set; }
public Int32 PropertyID { get; set; }
public int TransactionStatusID { get; set; }
public List<TransactionExpenseAllocationDetailsModel> TransactionAllocationDetails { get; set; }
}
public class TransactionExpenseAllocationDetailsModel
{
public Int32 TransactionExpenseAllocationID { get; set; }
public string TransactionID { get; set; }
public string UnitNo { get; set; }
public Int32 PropertyUnitID { get; set; }
public string AllocationMonth { get; set; }
public decimal AllocateAmount { get; set; }
}
public class TransactionTypesModel
{
public int TransactionTypeID { get; set; }
public string TransactionTypeName { get; set; }
}
public class TransactionBillDetailsModel
{
public Int32 TransactionBillDetails { get; set; }
public string TransactionID { get; set; }
public string BillID { get; set; }
}
public class TransactionAttachmentsModel
{
public Int32 TransactionAttachmentID { get; set; }
public string TransactionID { get; set; }
public string DocumentName { get; set; }
public string DocFileName { get; set; }
}
public class TransactionAccountDetailsModel
{
public Int32 TransactionAccountID { get; set; }
public string TransactionID { get; set; }
public string BankName { get; set; }
public string BankBranch { get; set; }
public string TransactionRef { get; set; }
public DateTime DocumentDate { get; set; }
public string DocumenNo { get; set; }
}
}
+44
View File
@@ -0,0 +1,44 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace SocietyToolboxAPI.Models
{
public class LoginModel
{
public int UserID { get; set; }
public string LoginName { get; set; }
public string BearerToken { get; set; }
public string expires { get; set; }
public int PropertyID { get; set; }
public int UserTypeID { get; set; }
}
public class USERRIGHTDETAILSModel
{
public Int32 USERRGHTDETAILID { get; set; }
public Int32 UserID { get; set; }
public Int32 UserRightID { get; set; }
public bool UserRightStatus { get; set; }
public bool UserRightCreateStatus { get; set; }
public bool UserRightModifyStatus { get; set; }
public bool UserRightViewStatus { get; set; }
public bool UserRightDeleteStatus { get; set; }
public DateTime ModifiedDateTIme { get; set; }
}
public class USERRIGHTSMASTERModel
{
public Int32 UserRightID { get; set; }
public string UserRightName { get; set; }
public int UserRightTypeID { get; set; }
public int UserRightParentID { get; set; }
public bool UserActionsApplicableStatus { get; set; }
public int RIGHTSRNO { get; set; }
public string RIGHTCODE { get; set; }
}
}
+25
View File
@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
namespace SocietyToolboxAPI
{
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.Build();
}
}
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<PublishProvider>FileSystem</PublishProvider>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<ProjectGuid>3d7a3683-ebee-40b8-8126-b83f1eac542f</ProjectGuid>
<publishUrl>D:\Projects\SocietyToolbox\Development\API\SocietyToolboxAPI\SocietyToolboxAPI\bin\Release\Publish</publishUrl>
<DeleteExistingFiles>True</DeleteExistingFiles>
<TargetFramework>netcoreapp2.0</TargetFramework>
<RuntimeIdentifier>win-x86</RuntimeIdentifier>
<SelfContained>true</SelfContained>
<_IsPortable>false</_IsPortable>
</PropertyGroup>
</Project>
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<TimeStampOfAssociatedLegacyPublishXmlFile />
<_PublishTargetUrl>D:\Projects\SocietyToolbox\Development\API\SocietyToolboxAPI\SocietyToolboxAPI\bin\Release\Publish</_PublishTargetUrl>
</PropertyGroup>
</Project>
@@ -0,0 +1,29 @@
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:20572/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "api/values",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"SocietyToolboxAPI": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "api/values",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "http://localhost:20571/"
}
}
}
@@ -0,0 +1,24 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Folder Include="wwwroot\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="LibDbCommon" Version="1.0.9" />
<PackageReference Include="LibSecurity" Version="1.0.1" />
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.5" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Core" Version="2.0.4" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.4" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.4" />
</ItemGroup>
</Project>
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID>
<Controller_SelectedScaffolderCategoryPath>root/Controller</Controller_SelectedScaffolderCategoryPath>
<WebStackScaffolding_ControllerDialogWidth>600</WebStackScaffolding_ControllerDialogWidth>
<WebStackScaffolding_IsLayoutPageSelected>True</WebStackScaffolding_IsLayoutPageSelected>
<WebStackScaffolding_IsPartialViewSelected>False</WebStackScaffolding_IsPartialViewSelected>
<WebStackScaffolding_IsReferencingScriptLibrariesSelected>True</WebStackScaffolding_IsReferencingScriptLibrariesSelected>
<WebStackScaffolding_LayoutPageFile />
<WebStackScaffolding_IsAsyncSelected>False</WebStackScaffolding_IsAsyncSelected>
<NameOfLastUsedPublishProfile>FolderProfile</NameOfLastUsedPublishProfile>
</PropertyGroup>
</Project>
+62
View File
@@ -0,0 +1,62 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Microsoft.IdentityModel.Tokens;
namespace SocietyToolboxAPI
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(Options =>
{
Options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidateAudience = true,
ValidateIssuerSigningKey = true,
ValidIssuer = "iflotech.in",
ValidAudience = "iflotech.in",
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("kdfllff133000fllafasfslfkslfkslfksljkdomxhimeekJdd"))
};
});
services.AddMvc();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseAuthentication();
app.UseCors(builder => builder
.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials()
);
app.UseMvc();
}
}
}
@@ -0,0 +1,10 @@
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
}
}
+19
View File
@@ -0,0 +1,19 @@
{
"ConnectionStrings": {
"SQLDbConnection": "Server=ROGFLOWX13\\SQL2014;Database=SocietyToolbox;User Id=sa;Password=ift@!234;Max Pool Size=500;Connection Timeout=10;",
"SQLDbConnection2": "Server=192.168.1.60;Database=eTraxNx;User Id=sa;Password=lift@!234;Max Pool Size=500;Connection Timeout=10;"
},
"Logging": {
"IncludeScopes": false,
"Debug": {
"LogLevel": {
"Default": "Warning"
}
},
"Console": {
"LogLevel": {
"Default": "Warning"
}
}
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
{
"runtimeOptions": {
"additionalProbingPaths": [
"C:\\Users\\Administrator\\.dotnet\\store\\|arch|\\|tfm|",
"C:\\Users\\Administrator\\.nuget\\packages",
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages",
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
]
}
}
@@ -0,0 +1,12 @@
{
"runtimeOptions": {
"tfm": "netcoreapp2.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "2.0.0"
},
"configProperties": {
"System.GC.Server": true
}
}
}

Some files were not shown because too many files have changed in this diff Show More