+ );
+}
+
+export default Default;
+
+// Render the component
+const root = createRoot(document.getElementById('sample'));
+root.render();
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice.sln b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice.sln
new file mode 100644
index 0000000..45fbb25
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.3.32901.215
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ControllerPractice", "ControllerPractice\ControllerPractice.csproj", "{14100176-83DC-4CB1-87D4-4D71C9E8F177}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ Release-Xml|Any CPU = Release-Xml|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {14100176-83DC-4CB1-87D4-4D71C9E8F177}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {14100176-83DC-4CB1-87D4-4D71C9E8F177}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {14100176-83DC-4CB1-87D4-4D71C9E8F177}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {14100176-83DC-4CB1-87D4-4D71C9E8F177}.Release|Any CPU.Build.0 = Release|Any CPU
+ {14100176-83DC-4CB1-87D4-4D71C9E8F177}.Release-Xml|Any CPU.ActiveCfg = Release|Any CPU
+ {14100176-83DC-4CB1-87D4-4D71C9E8F177}.Release-Xml|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {676A0D7F-7DC9-4AC1-B66A-956820E0B388}
+ EndGlobalSection
+EndGlobal
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/.config/dotnet-tools.json b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/.config/dotnet-tools.json
new file mode 100644
index 0000000..071b4ee
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/.config/dotnet-tools.json
@@ -0,0 +1,12 @@
+{
+ "version": 1,
+ "isRoot": true,
+ "tools": {
+ "dotnet-ef": {
+ "version": "8.0.8",
+ "commands": [
+ "dotnet-ef"
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/ControllerPractice.csproj b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/ControllerPractice.csproj
new file mode 100644
index 0000000..316b78e
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/ControllerPractice.csproj
@@ -0,0 +1,13 @@
+
+
+
+ net7.0
+ 0362a66d-0a9d-4b52-8e0a-6e09469f5c00
+
+
+
+
+
+
+
+
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/ControllerPractice.csproj.user b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/ControllerPractice.csproj.user
new file mode 100644
index 0000000..d5faf5d
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/ControllerPractice.csproj.user
@@ -0,0 +1,12 @@
+
+
+
+ MvcControllerEmptyScaffolder
+ root/Common/MVC/Controller
+ IIS Express
+ D:\Support Samples\Web Service Windows\ControllerPractice\Properties\PublishProfiles\ControllerPractice20240904205 - Web Deploy.pubxml
+
+
+ ProjectDebugger
+
+
\ No newline at end of file
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Controllers/HomeController.cs b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Controllers/HomeController.cs
new file mode 100644
index 0000000..6ca69f4
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Controllers/HomeController.cs
@@ -0,0 +1,37 @@
+using ControllerPractice.Models;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.Extensions.Logging;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace ControllerPractice.Controllers
+{
+ public class HomeController : Controller
+ {
+ private readonly ILogger _logger;
+
+ public HomeController(ILogger logger)
+ {
+ _logger = logger;
+ }
+
+ public IActionResult Index()
+ {
+ return View();
+ }
+
+ public IActionResult Privacy()
+ {
+ return View();
+ }
+
+ [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
+ public IActionResult Error()
+ {
+ return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
+ }
+ }
+}
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Controllers/PdfViewerController.cs b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Controllers/PdfViewerController.cs
new file mode 100644
index 0000000..92cf2a5
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Controllers/PdfViewerController.cs
@@ -0,0 +1,49 @@
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.Extensions.Caching.Memory;
+using Newtonsoft.Json;
+using Syncfusion.EJ2.PdfViewer;
+using Syncfusion.Pdf.Parsing;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Net;
+using System.Xml.Linq;
+using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Configuration;
+using Syncfusion.Pdf.Graphics;
+using Syncfusion.Pdf.Security;
+using Syncfusion.Pdf;
+using Syncfusion.Pdf.Interactive;
+
+namespace PdfViewerService2.Controllers
+{
+ [Route("[controller]")]
+ [ApiController]
+ public class PdfViewerController : ControllerBase
+ {
+ private IHostingEnvironment _hostingEnvironment;
+ //Initialize the memory cache object
+ public IMemoryCache _cache;
+ private IConfiguration _configuration;
+ private readonly ILogger _logger;
+
+ public PdfViewerController(IHostingEnvironment hostingEnvironment, IMemoryCache cache, IConfiguration configuration, ILogger logger)
+ {
+ _hostingEnvironment = hostingEnvironment;
+ _cache = cache;
+ _logger = logger;
+ }
+
+ [AcceptVerbs("Post")]
+ [HttpPost("CheckDownload")]
+ /* [Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]*/
+ [Route("[controller]/CheckDownload")]
+ //Post action for processing the PDF documents
+ public IActionResult CheckDownload([FromBody] Dictionary jsonObject)
+ {
+ var canDownload = jsonObject["canDownload"];
+ return Content(canDownload);
+ }
+ }
+}
\ No newline at end of file
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Models/ErrorViewModel.cs b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Models/ErrorViewModel.cs
new file mode 100644
index 0000000..2cb694c
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Models/ErrorViewModel.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace ControllerPractice.Models
+{
+ public class ErrorViewModel
+ {
+ public string RequestId { get; set; }
+
+ public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
+ }
+}
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/NuGet.config b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/NuGet.config
new file mode 100644
index 0000000..7c8896e
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/NuGet.config
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Program.cs b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Program.cs
new file mode 100644
index 0000000..549d8e6
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Program.cs
@@ -0,0 +1,26 @@
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.Hosting;
+using Microsoft.Extensions.Logging;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace ControllerPractice
+{
+ public class Program
+ {
+ public static void Main(string[] args)
+ {
+ CreateHostBuilder(args).Build().Run();
+ }
+
+ public static IHostBuilder CreateHostBuilder(string[] args) =>
+ Host.CreateDefaultBuilder(args)
+ .ConfigureWebHostDefaults(webBuilder =>
+ {
+ webBuilder.UseStartup();
+ });
+ }
+}
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Properties/PublishProfiles/ControllerPractice20240904205 - Web Deploy.pubxml b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Properties/PublishProfiles/ControllerPractice20240904205 - Web Deploy.pubxml
new file mode 100644
index 0000000..dd924af
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Properties/PublishProfiles/ControllerPractice20240904205 - Web Deploy.pubxml
@@ -0,0 +1,30 @@
+
+
+
+
+ MSDeploy
+ /subscriptions/2478e6de-4596-42f5-957e-f700933a09f0/resourcegroups/client_group/providers/Microsoft.Web/sites/ControllerPractice20240904205
+ client_group
+ AzureWebSite
+ Release
+ Any CPU
+ https://controllerpractice20240904205.azurewebsites.net
+ true
+ false
+ 14100176-83dc-4cb1-87d4-4d71c9e8f177
+ controllerpractice20240904205.scm.azurewebsites.net:443
+ ControllerPractice20240904205
+
+ true
+ WMSVC
+ true
+ true
+ $ControllerPractice20240904205
+ <_SavePWD>true
+ <_DestinationType>AzureWebSite
+ false
+
+
\ No newline at end of file
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Properties/PublishProfiles/ControllerPractice20240904205 - Web Deploy.pubxml.user b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Properties/PublishProfiles/ControllerPractice20240904205 - Web Deploy.pubxml.user
new file mode 100644
index 0000000..f31dd30
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Properties/PublishProfiles/ControllerPractice20240904205 - Web Deploy.pubxml.user
@@ -0,0 +1,13 @@
+
+
+
+
+
+ AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAdNscWpcoa0OASqgYZ0fW3wAAAAACAAAAAAAQZgAAAAEAACAAAADwEnxD0JhZzNKHASbNJ8O1fl6GLj7wSFhV9XdigvfnDwAAAAAOgAAAAAIAACAAAAAoWRUmhc14JNLcg+WmsGCTO53m3QoY6nSNSo0m6b09/4AAAAA9qtrZWQDCl8vJgNjEIG2R0G1Q8cQIFVKY+hUP/RqiV0/87YTzqOd79YRaKlT58kHJC8usuxZG2snrT8D47Gkhs1Q4AAIPp7Zm+vBP2XFtAWTI/cn2omkRGA9olqTfI3tfaKFv8ZCPatUszNZYruynyamTlPs5U63hWCLunrlhqUAAAABNaLEE3qgL43I7bPx0HfinKvadsccScD/cG8H19BfaoA8VJqOqROX6Y1/srgEqeOuhN+wHEItW/KOJpCiRV4p6
+ True|2024-09-04T15:27:13.0822648Z;
+
+
+
\ No newline at end of file
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Properties/PublishProfiles/FolderProfile.pubxml b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Properties/PublishProfiles/FolderProfile.pubxml
new file mode 100644
index 0000000..9e16d5e
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Properties/PublishProfiles/FolderProfile.pubxml
@@ -0,0 +1,21 @@
+
+
+
+
+ true
+ false
+ true
+ Release
+ Any CPU
+ FileSystem
+ D:\Application IIS Express published
+ FileSystem
+ <_TargetId>Folder
+
+ net7.0
+ 14100176-83dc-4cb1-87d4-4d71c9e8f177
+ false
+
+
\ No newline at end of file
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Properties/PublishProfiles/FolderProfile.pubxml.user b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Properties/PublishProfiles/FolderProfile.pubxml.user
new file mode 100644
index 0000000..a53bdf8
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -0,0 +1,11 @@
+
+
+
+
+ <_PublishTargetUrl>D:\Application IIS Express published
+ True|2024-08-20T11:08:47.5473052Z;
+
+
+
\ No newline at end of file
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Properties/ServiceDependencies/ControllerPractice20240904205 - Web Deploy/profile.arm.json b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Properties/ServiceDependencies/ControllerPractice20240904205 - Web Deploy/profile.arm.json
new file mode 100644
index 0000000..acec296
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Properties/ServiceDependencies/ControllerPractice20240904205 - Web Deploy/profile.arm.json
@@ -0,0 +1,113 @@
+{
+ "$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
+ "contentVersion": "1.0.0.0",
+ "metadata": {
+ "_dependencyType": "compute.appService.windows"
+ },
+ "parameters": {
+ "resourceGroupName": {
+ "type": "string",
+ "defaultValue": "client_group",
+ "metadata": {
+ "description": "Name of the resource group for the resource. It is recommended to put resources under same resource group for better tracking."
+ }
+ },
+ "resourceGroupLocation": {
+ "type": "string",
+ "defaultValue": "eastus",
+ "metadata": {
+ "description": "Location of the resource group. Resource groups could have different location than resources, however by default we use API versions from latest hybrid profile which support all locations for resource types we support."
+ }
+ },
+ "resourceName": {
+ "type": "string",
+ "defaultValue": "ControllerPractice20240904205",
+ "metadata": {
+ "description": "Name of the main resource to be created by this template."
+ }
+ },
+ "resourceLocation": {
+ "type": "string",
+ "defaultValue": "[parameters('resourceGroupLocation')]",
+ "metadata": {
+ "description": "Location of the resource. By default use resource group's location, unless the resource provider is not supported there."
+ }
+ }
+ },
+ "variables": {
+ "appServicePlan_name": "[concat('Plan', uniqueString(concat(parameters('resourceName'), subscription().subscriptionId)))]",
+ "appServicePlan_ResourceId": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', parameters('resourceGroupName'), '/providers/Microsoft.Web/serverFarms/', variables('appServicePlan_name'))]"
+ },
+ "resources": [
+ {
+ "type": "Microsoft.Resources/resourceGroups",
+ "name": "[parameters('resourceGroupName')]",
+ "location": "[parameters('resourceGroupLocation')]",
+ "apiVersion": "2019-10-01"
+ },
+ {
+ "type": "Microsoft.Resources/deployments",
+ "name": "[concat(parameters('resourceGroupName'), 'Deployment', uniqueString(concat(parameters('resourceName'), subscription().subscriptionId)))]",
+ "resourceGroup": "[parameters('resourceGroupName')]",
+ "apiVersion": "2019-10-01",
+ "dependsOn": [
+ "[parameters('resourceGroupName')]"
+ ],
+ "properties": {
+ "mode": "Incremental",
+ "template": {
+ "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
+ "contentVersion": "1.0.0.0",
+ "resources": [
+ {
+ "location": "[parameters('resourceLocation')]",
+ "name": "[parameters('resourceName')]",
+ "type": "Microsoft.Web/sites",
+ "apiVersion": "2015-08-01",
+ "tags": {
+ "[concat('hidden-related:', variables('appServicePlan_ResourceId'))]": "empty"
+ },
+ "dependsOn": [
+ "[variables('appServicePlan_ResourceId')]"
+ ],
+ "kind": "app",
+ "properties": {
+ "name": "[parameters('resourceName')]",
+ "kind": "app",
+ "httpsOnly": true,
+ "reserved": false,
+ "serverFarmId": "[variables('appServicePlan_ResourceId')]",
+ "siteConfig": {
+ "metadata": [
+ {
+ "name": "CURRENT_STACK",
+ "value": "dotnetcore"
+ }
+ ]
+ }
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ }
+ },
+ {
+ "location": "[parameters('resourceLocation')]",
+ "name": "[variables('appServicePlan_name')]",
+ "type": "Microsoft.Web/serverFarms",
+ "apiVersion": "2015-08-01",
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "family": "S",
+ "size": "S1"
+ },
+ "properties": {
+ "name": "[variables('appServicePlan_name')]"
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Properties/launchSettings.json b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Properties/launchSettings.json
new file mode 100644
index 0000000..01074e4
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Properties/launchSettings.json
@@ -0,0 +1,39 @@
+{
+ "profiles": {
+ "IIS Express": {
+ "commandName": "IISExpress",
+ "launchBrowser": true,
+ "launchUrl": "pdfviewer",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "ControllerPractice": {
+ "commandName": "Project",
+ "launchBrowser": true,
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ },
+ "dotnetRunMessages": "true",
+ "applicationUrl": "https://localhost:5001;http://localhost:5000"
+ },
+ "WSL": {
+ "commandName": "WSL2",
+ "launchBrowser": true,
+ "launchUrl": "https://localhost:5001",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development",
+ "ASPNETCORE_URLS": "https://localhost:5001;http://localhost:5000"
+ },
+ "distributionName": ""
+ }
+ },
+ "iisSettings": {
+ "windowsAuthentication": false,
+ "anonymousAuthentication": true,
+ "iisExpress": {
+ "applicationUrl": "http://localhost:7001",
+ "sslPort": 44309
+ }
+ }
+}
\ No newline at end of file
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Startup.cs b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Startup.cs
new file mode 100644
index 0000000..3a6a57d
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Startup.cs
@@ -0,0 +1,85 @@
+using Microsoft.AspNetCore.Builder;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.AspNetCore.HttpsPolicy;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.ResponseCompression;
+using Microsoft.Extensions.Logging;
+using Newtonsoft.Json.Serialization;
+
+namespace ControllerPractice
+{
+ public class Startup
+ {
+ public Startup(IConfiguration configuration)
+ {
+ Configuration = configuration;
+ }
+
+ public IConfiguration Configuration { get; }
+
+ readonly string MyAllowSpecificOrigins = "MyPolicy";
+
+ // This method gets called by the runtime. Use this method to add services to the container.
+ public void ConfigureServices(IServiceCollection services)
+ {
+ services.AddControllersWithViews();
+ services.AddMemoryCache();
+ services.AddControllers().AddNewtonsoftJson(options =>
+ {
+ // Use the default property (Pascal) casing
+ options.SerializerSettings.ContractResolver = new DefaultContractResolver();
+ });
+
+ services.AddCors(options =>
+ {
+ options.AddPolicy(MyAllowSpecificOrigins,
+ builder =>
+ {
+ builder.AllowAnyOrigin()
+ .AllowAnyMethod()
+ .AllowAnyHeader();
+ });
+ });
+ services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
+ services.Configure(options => options.Level = System.IO.Compression.CompressionLevel.Optimal);
+ services.AddResponseCompression();
+ }
+
+ // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
+ public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
+ {
+ Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("ORg4AjUWIQA/Gnt2UlhhQlVMfV5AQmBIYVp/TGpJfl96cVxMZVVBJAtUQF1hTX9TdkJjXn5fc3FQR2dZ");
+ if (env.IsDevelopment())
+ {
+ app.UseDeveloperExceptionPage();
+ }
+ else
+ {
+ app.UseExceptionHandler("/Home/Error");
+ // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
+ app.UseHsts();
+ }
+ app.UseCors(MyAllowSpecificOrigins);
+ app.UseHttpsRedirection();
+ app.UseStaticFiles();
+
+ app.UseRouting();
+
+ app.UseAuthorization();
+
+ app.UseEndpoints(endpoints =>
+ {
+ endpoints.MapControllerRoute(
+ name: "default",
+ pattern: "{controller=Home}/{action=Index}/{id?}");
+ });
+ }
+ }
+}
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Views/Home/Index.cshtml b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Views/Home/Index.cshtml
new file mode 100644
index 0000000..947d01c
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Views/Home/Index.cshtml
@@ -0,0 +1,14 @@
+@{
+ ViewData["Title"] = "Home Page";
+}
+
+
+
+@**@
+
+@**@
+
+
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Views/Home/Privacy.cshtml b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Views/Home/Privacy.cshtml
new file mode 100644
index 0000000..af4fb19
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Views/Home/Privacy.cshtml
@@ -0,0 +1,6 @@
+@{
+ ViewData["Title"] = "Privacy Policy";
+}
+
@ViewData["Title"]
+
+
Use this page to detail your site's privacy policy.
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Views/Shared/Error.cshtml b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Views/Shared/Error.cshtml
new file mode 100644
index 0000000..a1e0478
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Views/Shared/Error.cshtml
@@ -0,0 +1,25 @@
+@model ErrorViewModel
+@{
+ ViewData["Title"] = "Error";
+}
+
+
Error.
+
An error occurred while processing your request.
+
+@if (Model.ShowRequestId)
+{
+
+ Request ID:@Model.RequestId
+
+}
+
+
Development Mode
+
+ Swapping to Development environment will display more detailed information about the error that occurred.
+
+
+ The Development environment shouldn't be enabled for deployed applications.
+ It can result in displaying sensitive information from exceptions to end users.
+ For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development
+ and restarting the app.
+
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Views/Shared/_Layout.cshtml b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Views/Shared/_Layout.cshtml
new file mode 100644
index 0000000..333e08d
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Views/Shared/_Layout.cshtml
@@ -0,0 +1,54 @@
+
+
+
+
+
+ @ViewData["Title"] - ControllerPractice
+
+ @* Syncfusion Essential JS 2 Styles *@
+
+
+ @* Syncfusion Essential JS 2 Scripts *@
+
+
+
+
+
+
+
+
+
+ @RenderBody()
+
+
+
+
+
+
+
+ @await RenderSectionAsync("Scripts", required: false)
+
+
+
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Views/Shared/_ValidationScriptsPartial.cshtml b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Views/Shared/_ValidationScriptsPartial.cshtml
new file mode 100644
index 0000000..5a16d80
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Views/Shared/_ValidationScriptsPartial.cshtml
@@ -0,0 +1,2 @@
+
+
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Views/_ViewImports.cshtml b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Views/_ViewImports.cshtml
new file mode 100644
index 0000000..be46e80
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Views/_ViewImports.cshtml
@@ -0,0 +1,4 @@
+@using ControllerPractice
+@using ControllerPractice.Models
+@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
+@addTagHelper *, Syncfusion.EJ2
\ No newline at end of file
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Views/_ViewStart.cshtml b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Views/_ViewStart.cshtml
new file mode 100644
index 0000000..a5f1004
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/Views/_ViewStart.cshtml
@@ -0,0 +1,3 @@
+@{
+ Layout = "_Layout";
+}
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/appsettings.Development.json b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/appsettings.Development.json
new file mode 100644
index 0000000..8983e0f
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/appsettings.Development.json
@@ -0,0 +1,9 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft": "Warning",
+ "Microsoft.Hosting.Lifetime": "Information"
+ }
+ }
+}
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/appsettings.json b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/appsettings.json
new file mode 100644
index 0000000..3c37399
--- /dev/null
+++ b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/appsettings.json
@@ -0,0 +1,10 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft": "Warning",
+ "Microsoft.Hosting.Lifetime": "Information"
+ }
+ },
+"AllowedHosts": "*"
+}
diff --git a/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/wwwroot/favicon.ico b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/wwwroot/favicon.ico
new file mode 100644
index 0000000..63e859b
Binary files /dev/null and b/How to/Download PDF based on confirmation in the toolbar click/Web Service/ControllerPractice/wwwroot/favicon.ico differ