diff --git a/WebApiAdaptor/Components/Pages/Home.razor b/WebApiAdaptor/Components/Pages/Home.razor deleted file mode 100644 index 7591484..0000000 --- a/WebApiAdaptor/Components/Pages/Home.razor +++ /dev/null @@ -1,16 +0,0 @@ -@page "/" -@using Syncfusion.Blazor.Grids -@using Syncfusion.Blazor.Data -@using Syncfusion.Blazor -@using WebApiAdaptor.Models - - - - - - - - - - - \ No newline at end of file diff --git a/WebApiAdaptor/Controllers/GridController.cs b/WebApiAdaptor/Controllers/GridController.cs deleted file mode 100644 index 7430243..0000000 --- a/WebApiAdaptor/Controllers/GridController.cs +++ /dev/null @@ -1,177 +0,0 @@ -using Microsoft.AspNetCore.Mvc; -using Syncfusion.Blazor.Data; -using WebApiAdaptor.Models; -using System; -using System.Collections.Generic; -using System.Linq; - -namespace WebApiAdaptor.Controllers -{ - [ApiController] - [Route("api/[controller]")] - public class GridController : ControllerBase - { - [HttpGet] - public object GetOrderData() - { - var queryString = Request.Query; - List data = OrdersDetails.GetAllRecords().ToList(); - -#nullable enable - string? sort = queryString["$orderby"]; - string? filterQuery = queryString["$filter"]; -#nullable disable - - // Sorting - if (!string.IsNullOrEmpty(sort)) - { - var sortConditions = sort.Split(','); - IOrderedEnumerable? orderedData = null; - - foreach (var sortCondition in sortConditions) - { - var sortParts = sortCondition.Trim().Split(' '); - var sortBy = sortParts[0]; - var descending = sortParts.Length > 1 && sortParts[1].ToLower() == "desc"; - - Func keySelector = item => - item.GetType().GetProperty(sortBy)?.GetValue(item, null); - - orderedData = orderedData == null - ? (descending ? data.OrderByDescending(keySelector) : data.OrderBy(keySelector)) - : (descending ? orderedData.ThenByDescending(keySelector) : orderedData.ThenBy(keySelector)); - } - - data = orderedData?.ToList() ?? data; - } - - // Filtering - if (!string.IsNullOrEmpty(filterQuery)) - { - var filterConditions = filterQuery.Split(new[] { " and " }, StringSplitOptions.RemoveEmptyEntries); - - foreach (var condition in filterConditions) - { - if (condition.Contains("substringof")) - { - var conditionParts = condition.Split('(', ')', '\''); - var searchValue = conditionParts[3]?.ToLower() ?? ""; - - data = data.Where(order => - order != null && - (order.OrderID.ToString().Contains(searchValue) || - (order.CustomerID?.ToLower().Contains(searchValue) ?? false) || - (order.ShipCity?.ToLower().Contains(searchValue) ?? false) || - (order.ShipCountry?.ToLower().Contains(searchValue) ?? false)) - ).ToList(); - } - else - { - string filterfield = ""; - string filtervalue = ""; - var filterParts = condition.Split('(', ')', '\''); - - if (filterParts.Length < 6) - { - var filterValueParts = filterParts[1].Split(); - filterfield = filterValueParts[0]; - filtervalue = filterValueParts.Length > 2 ? filterValueParts[2].Trim('\'') : ""; - } - else - { - filterfield = filterParts[3]; - filtervalue = filterParts[5]; - } - - switch (filterfield) - { - case "OrderID": - data = data.Where(item => item != null && item.OrderID.ToString() == filtervalue).ToList(); - break; - case "CustomerID": - data = data.Where(item => item != null && item.CustomerID?.ToLower().StartsWith(filtervalue.ToLower()) == true).ToList(); - break; - case "ShipCity": - data = data.Where(item => item != null && item.ShipCity?.ToLower().StartsWith(filtervalue.ToLower()) == true).ToList(); - break; - case "ShipCountry": - data = data.Where(item => item != null && item.ShipCountry?.ToLower().StartsWith(filtervalue.ToLower()) == true).ToList(); - break; - } - } - } - } - - // Paging - int skip = Convert.ToInt32(queryString["$skip"]); - int take = Convert.ToInt32(queryString["$top"]); - int totalRecordsCount = data.Count; - - return take != 0 - ? new { Items = data.Skip(skip).Take(take).ToList(), Count = totalRecordsCount } - : new { Items = data, Count = totalRecordsCount }; - } - - // POST: api/Orders - /// - /// Inserts a new data item into the data collection. - /// - /// It holds new record detail which is need to be inserted. - /// Returns void - [HttpPost] - public void Post([FromBody] OrdersDetails newRecord) - { - // Insert a new record into the OrdersDetails model - OrdersDetails.GetAllRecords().Insert(0, newRecord); - } - - // PUT: api/Grid/5 - /// - /// Update a existing data item from the data collection. - /// - /// It holds updated record detail which is need to be updated. - /// Returns void - [HttpPut] - public void Put([FromBody] OrdersDetails updatedOrder) - { - var id = updatedOrder.OrderID; - // Find the existing order by ID - var existingOrder = OrdersDetails.GetAllRecords().FirstOrDefault(o => o.OrderID == id); - if (existingOrder != null) - { - // If the order exists, update its properties - existingOrder.OrderID = updatedOrder.OrderID; - existingOrder.CustomerID = updatedOrder.CustomerID; - existingOrder.ShipCity = updatedOrder.ShipCity; - existingOrder.ShipCountry = updatedOrder.ShipCountry; - } - } - - // DELETE api/Grid/5 - [HttpDelete("{id}")] - public void Delete(int id) - { - // Find the order to remove by ID - var orderToRemove = OrdersDetails.GetAllRecords().FirstOrDefault(order => order.OrderID == id); - // If the order exists, remove it - if (orderToRemove != null) - { - OrdersDetails.GetAllRecords().Remove(orderToRemove); - } - } - - public class CRUDModel where T : class - { -#nullable enable - public string? action { get; set; } - public string? keyColumn { get; set; } - public object? key { get; set; } - public T? value { get; set; } - public List? added { get; set; } - public List? changed { get; set; } - public List? deleted { get; set; } - public IDictionary? @params { get; set; } -#nullable disable - } - } -} diff --git a/WebApiAdaptor/Models/OrdersDetails.cs b/WebApiAdaptor/Models/OrdersDetails.cs deleted file mode 100644 index d033945..0000000 --- a/WebApiAdaptor/Models/OrdersDetails.cs +++ /dev/null @@ -1,58 +0,0 @@ -namespace WebApiAdaptor.Models -{ - public class OrdersDetails - { - public static List order = new List(); - public OrdersDetails() - { - - } - public OrdersDetails( - int OrderID, string CustomerId, int EmployeeId, double Freight, bool Verified, - DateTime OrderDate, string ShipCity, string ShipName, string ShipCountry, - DateTime ShippedDate, string ShipAddress) - { - this.OrderID = OrderID; - CustomerID = CustomerId; - EmployeeID = EmployeeId; - this.Freight = Freight; - this.ShipCity = ShipCity; - this.Verified = Verified; - this.OrderDate = OrderDate; - this.ShipName = ShipName; - this.ShipCountry = ShipCountry; - this.ShippedDate = ShippedDate; - this.ShipAddress = ShipAddress; - } - - public static List GetAllRecords() - { - if (order.Count() == 0) - { - int code = 10000; - for (int i = 1; i < 10; i++) - { - order.Add(new OrdersDetails(code + 1, "ALFKI", i + 0, 2.3 * i, false, new DateTime(1991, 05, 15), "Berlin", "Simons bistro", "Denmark", new DateTime(1996, 7, 16), "Kirchgasse 6")); - order.Add(new OrdersDetails(code + 2, "ANATR", i + 2, 3.3 * i, true, new DateTime(1990, 04, 04), "Madrid", "Queen Cozinha", "Brazil", new DateTime(1996, 9, 11), "Avda. Azteca 123")); - order.Add(new OrdersDetails(code + 3, "ANTON", i + 1, 4.3 * i, true, new DateTime(1957, 11, 30), "Cholchester", "Frankenversand", "Germany", new DateTime(1996, 10, 7), "Carrera 52 con Ave. Bolívar #65-98 Llano Largo")); - order.Add(new OrdersDetails(code + 4, "BLONP", i + 3, 5.3 * i, false, new DateTime(1930, 10, 22), "Marseille", "Ernst Handel", "Austria", new DateTime(1996, 12, 30), "Magazinweg 7")); - order.Add(new OrdersDetails(code + 5, "BOLID", i + 4, 6.3 * i, true, new DateTime(1953, 02, 18), "Tsawassen", "Hanari Carnes", "Switzerland", new DateTime(1997, 12, 3), "1029 - 12th Ave. S.")); - code += 5; - } - } - return order; - } - - public int? OrderID { get; set; } - public string? CustomerID { get; set; } - public int? EmployeeID { get; set; } - public double? Freight { get; set; } - public string? ShipCity { get; set; } - public bool? Verified { get; set; } - public DateTime OrderDate { get; set; } - public string? ShipName { get; set; } - public string? ShipCountry { get; set; } - public DateTime ShippedDate { get; set; } - public string? ShipAddress { get; set; } - } -} diff --git a/WebApiAdaptor/WebApiAdaptor.csproj b/WebApiAdaptor/WebApiAdaptor.csproj deleted file mode 100644 index dc91d0c..0000000 --- a/WebApiAdaptor/WebApiAdaptor.csproj +++ /dev/null @@ -1,15 +0,0 @@ - - - - net9.0 - enable - enable - - - - - - - - - diff --git a/WebApiAdaptor/WebApiAdaptor.sln b/WebApiAdaptor/WebApiAdaptor.sln deleted file mode 100644 index 87acf2c..0000000 --- a/WebApiAdaptor/WebApiAdaptor.sln +++ /dev/null @@ -1,22 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.12.35527.113 d17.12 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebApiAdaptor", "WebApiAdaptor.csproj", "{48726450-1D03-46B6-846E-FF37AC0994CA}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {48726450-1D03-46B6-846E-FF37AC0994CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {48726450-1D03-46B6-846E-FF37AC0994CA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {48726450-1D03-46B6-846E-FF37AC0994CA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {48726450-1D03-46B6-846E-FF37AC0994CA}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/WebApiAdaptor/WebApiAdaptor.slnx b/WebApiAdaptor/WebApiAdaptor.slnx new file mode 100644 index 0000000..b4e4c1c --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor.slnx @@ -0,0 +1,4 @@ + + + + diff --git a/WebApiAdaptor/Components/Layout/MainLayout.razor b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Layout/MainLayout.razor similarity index 100% rename from WebApiAdaptor/Components/Layout/MainLayout.razor rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Layout/MainLayout.razor diff --git a/WebApiAdaptor/Components/Layout/MainLayout.razor.css b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Layout/MainLayout.razor.css similarity index 100% rename from WebApiAdaptor/Components/Layout/MainLayout.razor.css rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Layout/MainLayout.razor.css diff --git a/WebApiAdaptor/Components/Layout/NavMenu.razor b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Layout/NavMenu.razor similarity index 100% rename from WebApiAdaptor/Components/Layout/NavMenu.razor rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Layout/NavMenu.razor diff --git a/WebApiAdaptor/Components/Layout/NavMenu.razor.css b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Layout/NavMenu.razor.css similarity index 100% rename from WebApiAdaptor/Components/Layout/NavMenu.razor.css rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Layout/NavMenu.razor.css diff --git a/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Layout/ReconnectModal.razor b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Layout/ReconnectModal.razor new file mode 100644 index 0000000..7dbfd09 --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Layout/ReconnectModal.razor @@ -0,0 +1,31 @@ + + + +
+ +

+ Rejoining the server... +

+

+ Rejoin failed... trying again in seconds. +

+

+ Failed to rejoin.
Please retry or reload the page. +

+ +

+ The session has been paused by the server. +

+

+ Failed to resume the session.
Please retry or reload the page. +

+ +
+
diff --git a/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Layout/ReconnectModal.razor.css b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Layout/ReconnectModal.razor.css new file mode 100644 index 0000000..3ad3773 --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Layout/ReconnectModal.razor.css @@ -0,0 +1,157 @@ +.components-reconnect-first-attempt-visible, +.components-reconnect-repeated-attempt-visible, +.components-reconnect-failed-visible, +.components-pause-visible, +.components-resume-failed-visible, +.components-rejoining-animation { + display: none; +} + +#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible, +#components-reconnect-modal.components-reconnect-show .components-rejoining-animation, +#components-reconnect-modal.components-reconnect-paused .components-pause-visible, +#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible, +#components-reconnect-modal.components-reconnect-retrying, +#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible, +#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation, +#components-reconnect-modal.components-reconnect-failed, +#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible { + display: block; +} + + +#components-reconnect-modal { + background-color: white; + width: 20rem; + margin: 20vh auto; + padding: 2rem; + border: 0; + border-radius: 0.5rem; + box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3); + opacity: 0; + transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete; + animation: components-reconnect-modal-fadeOutOpacity 0.5s both; + &[open] + +{ + animation: components-reconnect-modal-slideUp 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity 0.5s ease-in-out 0.3s; + animation-fill-mode: both; +} + +} + +#components-reconnect-modal::backdrop { + background-color: rgba(0, 0, 0, 0.4); + animation: components-reconnect-modal-fadeInOpacity 0.5s ease-in-out; + opacity: 1; +} + +@keyframes components-reconnect-modal-slideUp { + 0% { + transform: translateY(30px) scale(0.95); + } + + 100% { + transform: translateY(0); + } +} + +@keyframes components-reconnect-modal-fadeInOpacity { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +@keyframes components-reconnect-modal-fadeOutOpacity { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} + +.components-reconnect-container { + display: flex; + flex-direction: column; + align-items: center; + gap: 1rem; +} + +#components-reconnect-modal p { + margin: 0; + text-align: center; +} + +#components-reconnect-modal button { + border: 0; + background-color: #6b9ed2; + color: white; + padding: 4px 24px; + border-radius: 4px; +} + + #components-reconnect-modal button:hover { + background-color: #3b6ea2; + } + + #components-reconnect-modal button:active { + background-color: #6b9ed2; + } + +.components-rejoining-animation { + position: relative; + width: 80px; + height: 80px; +} + + .components-rejoining-animation div { + position: absolute; + border: 3px solid #0087ff; + opacity: 1; + border-radius: 50%; + animation: components-rejoining-animation 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite; + } + + .components-rejoining-animation div:nth-child(2) { + animation-delay: -0.5s; + } + +@keyframes components-rejoining-animation { + 0% { + top: 40px; + left: 40px; + width: 0; + height: 0; + opacity: 0; + } + + 4.9% { + top: 40px; + left: 40px; + width: 0; + height: 0; + opacity: 0; + } + + 5% { + top: 40px; + left: 40px; + width: 0; + height: 0; + opacity: 1; + } + + 100% { + top: 0px; + left: 0px; + width: 80px; + height: 80px; + opacity: 0; + } +} diff --git a/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Layout/ReconnectModal.razor.js b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Layout/ReconnectModal.razor.js new file mode 100644 index 0000000..a44de78 --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Layout/ReconnectModal.razor.js @@ -0,0 +1,63 @@ +// Set up event handlers +const reconnectModal = document.getElementById("components-reconnect-modal"); +reconnectModal.addEventListener("components-reconnect-state-changed", handleReconnectStateChanged); + +const retryButton = document.getElementById("components-reconnect-button"); +retryButton.addEventListener("click", retry); + +const resumeButton = document.getElementById("components-resume-button"); +resumeButton.addEventListener("click", resume); + +function handleReconnectStateChanged(event) { + if (event.detail.state === "show") { + reconnectModal.showModal(); + } else if (event.detail.state === "hide") { + reconnectModal.close(); + } else if (event.detail.state === "failed") { + document.addEventListener("visibilitychange", retryWhenDocumentBecomesVisible); + } else if (event.detail.state === "rejected") { + location.reload(); + } +} + +async function retry() { + document.removeEventListener("visibilitychange", retryWhenDocumentBecomesVisible); + + try { + // Reconnect will asynchronously return: + // - true to mean success + // - false to mean we reached the server, but it rejected the connection (e.g., unknown circuit ID) + // - exception to mean we didn't reach the server (this can be sync or async) + const successful = await Blazor.reconnect(); + if (!successful) { + // We have been able to reach the server, but the circuit is no longer available. + // We'll reload the page so the user can continue using the app as quickly as possible. + const resumeSuccessful = await Blazor.resumeCircuit(); + if (!resumeSuccessful) { + location.reload(); + } else { + reconnectModal.close(); + } + } + } catch (err) { + // We got an exception, server is currently unavailable + document.addEventListener("visibilitychange", retryWhenDocumentBecomesVisible); + } +} + +async function resume() { + try { + const successful = await Blazor.resumeCircuit(); + if (!successful) { + location.reload(); + } + } catch { + reconnectModal.classList.replace("components-reconnect-paused", "components-reconnect-resume-failed"); + } +} + +async function retryWhenDocumentBecomesVisible() { + if (document.visibilityState === "visible") { + await retry(); + } +} diff --git a/WebApiAdaptor/Components/Pages/Counter.razor b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Pages/Counter.razor similarity index 100% rename from WebApiAdaptor/Components/Pages/Counter.razor rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Pages/Counter.razor diff --git a/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Pages/Home.razor b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Pages/Home.razor new file mode 100644 index 0000000..9001e0b --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Pages/Home.razor @@ -0,0 +1,7 @@ +@page "/" + +Home + +

Hello, world!

+ +Welcome to your new app. diff --git a/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Pages/NotFound.razor b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Pages/NotFound.razor new file mode 100644 index 0000000..917ada1 --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Pages/NotFound.razor @@ -0,0 +1,5 @@ +@page "/not-found" +@layout MainLayout + +

Not Found

+

Sorry, the content you are looking for does not exist.

\ No newline at end of file diff --git a/WebApiAdaptor/Components/Pages/Weather.razor b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Pages/Weather.razor similarity index 95% rename from WebApiAdaptor/Components/Pages/Weather.razor rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Pages/Weather.razor index dd36b18..2a2a6cf 100644 --- a/WebApiAdaptor/Components/Pages/Weather.razor +++ b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Pages/Weather.razor @@ -17,7 +17,7 @@ else Date Temp. (C) - Temp. (F) + Temp. (F) Summary diff --git a/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Program.cs b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Program.cs new file mode 100644 index 0000000..519269f --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Program.cs @@ -0,0 +1,5 @@ +using Microsoft.AspNetCore.Components.WebAssembly.Hosting; + +var builder = WebAssemblyHostBuilder.CreateDefault(args); + +await builder.Build().RunAsync(); diff --git a/WebApiAdaptor/Components/Routes.razor b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Routes.razor similarity index 69% rename from WebApiAdaptor/Components/Routes.razor rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Routes.razor index f756e19..105855d 100644 --- a/WebApiAdaptor/Components/Routes.razor +++ b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/Routes.razor @@ -1,4 +1,4 @@ - + diff --git a/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/WebApiAdaptor.Client.csproj b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/WebApiAdaptor.Client.csproj new file mode 100644 index 0000000..395d0ea --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/WebApiAdaptor.Client.csproj @@ -0,0 +1,16 @@ + + + + net10.0 + enable + enable + true + Default + true + + + + + + + diff --git a/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/_Imports.razor b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/_Imports.razor new file mode 100644 index 0000000..627f928 --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/_Imports.razor @@ -0,0 +1,10 @@ +@using System.Net.Http +@using System.Net.Http.Json +@using Microsoft.AspNetCore.Components.Forms +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using static Microsoft.AspNetCore.Components.Web.RenderMode +@using Microsoft.AspNetCore.Components.Web.Virtualization +@using Microsoft.JSInterop +@using WebApiAdaptor.Client +@using WebApiAdaptor.Client.Layout diff --git a/WebApiAdaptor/appsettings.Development.json b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/wwwroot/appsettings.Development.json similarity index 100% rename from WebApiAdaptor/appsettings.Development.json rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/wwwroot/appsettings.Development.json diff --git a/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/wwwroot/appsettings.json b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/wwwroot/appsettings.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.Client/wwwroot/appsettings.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/WebApiAdaptor/Components/App.razor b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/Components/App.razor similarity index 58% rename from WebApiAdaptor/Components/App.razor rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/Components/App.razor index b88fe6a..bf17d90 100644 --- a/WebApiAdaptor/Components/App.razor +++ b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/Components/App.razor @@ -5,19 +5,19 @@ + - - + - - - + + + diff --git a/WebApiAdaptor/Components/Pages/Error.razor b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/Components/Pages/Error.razor similarity index 100% rename from WebApiAdaptor/Components/Pages/Error.razor rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/Components/Pages/Error.razor diff --git a/WebApiAdaptor/Components/_Imports.razor b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/Components/_Imports.razor similarity index 82% rename from WebApiAdaptor/Components/_Imports.razor rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/Components/_Imports.razor index 8e62ab3..908daac 100644 --- a/WebApiAdaptor/Components/_Imports.razor +++ b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/Components/_Imports.razor @@ -7,7 +7,6 @@ @using Microsoft.AspNetCore.Components.Web.Virtualization @using Microsoft.JSInterop @using WebApiAdaptor +@using WebApiAdaptor.Client +@using WebApiAdaptor.Client.Layout @using WebApiAdaptor.Components -@using Syncfusion.Blazor -@using Syncfusion.Blazor.Data -@using Syncfusion.Blazor.Grids \ No newline at end of file diff --git a/WebApiAdaptor/Program.cs b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/Program.cs similarity index 55% rename from WebApiAdaptor/Program.cs rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/Program.cs index 5e7d986..9b50cf7 100644 --- a/WebApiAdaptor/Program.cs +++ b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/Program.cs @@ -1,32 +1,35 @@ -using Syncfusion.Blazor; +using WebApiAdaptor.Client.Pages; using WebApiAdaptor.Components; var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddRazorComponents() - .AddInteractiveServerComponents(); + .AddInteractiveServerComponents() + .AddInteractiveWebAssemblyComponents(); -builder.Services.AddControllers(); - -builder.Services.AddSyncfusionBlazor(); var app = builder.Build(); // Configure the HTTP request pipeline. -if (!app.Environment.IsDevelopment()) +if (app.Environment.IsDevelopment()) +{ + app.UseWebAssemblyDebugging(); +} +else { app.UseExceptionHandler("/Error", createScopeForErrors: true); // 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.UseStatusCodePagesWithReExecute("/not-found", createScopeForStatusCodePages: true); app.UseHttpsRedirection(); -app.MapControllers(); app.UseAntiforgery(); app.MapStaticAssets(); app.MapRazorComponents() - .AddInteractiveServerRenderMode(); + .AddInteractiveServerRenderMode() + .AddInteractiveWebAssemblyRenderMode() + .AddAdditionalAssemblies(typeof(WebApiAdaptor.Client._Imports).Assembly); app.Run(); diff --git a/WebApiAdaptor/Properties/launchSettings.json b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/Properties/launchSettings.json similarity index 59% rename from WebApiAdaptor/Properties/launchSettings.json rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/Properties/launchSettings.json index d81ba2f..8a5364e 100644 --- a/WebApiAdaptor/Properties/launchSettings.json +++ b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/Properties/launchSettings.json @@ -5,7 +5,8 @@ "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, - "applicationUrl": "http://localhost:5198", + "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", + "applicationUrl": "http://localhost:5068", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } @@ -14,7 +15,8 @@ "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, - "applicationUrl": "https://localhost:7167;http://localhost:5198", + "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", + "applicationUrl": "https://localhost:7225;http://localhost:5068", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } diff --git a/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.csproj b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.csproj new file mode 100644 index 0000000..7bc2d29 --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.csproj @@ -0,0 +1,15 @@ + + + + net10.0 + enable + enable + true + + + + + + + + diff --git a/WebApiAdaptor/WebApiAdaptor.csproj.user b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.csproj.user similarity index 100% rename from WebApiAdaptor/WebApiAdaptor.csproj.user rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor.csproj.user diff --git a/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/appsettings.Development.json b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/WebApiAdaptor/appsettings.json b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/appsettings.json similarity index 100% rename from WebApiAdaptor/appsettings.json rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/appsettings.json diff --git a/WebApiAdaptor/wwwroot/app.css b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/app.css similarity index 100% rename from WebApiAdaptor/wwwroot/app.css rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/app.css diff --git a/WebApiAdaptor/wwwroot/favicon.png b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/favicon.png similarity index 100% rename from WebApiAdaptor/wwwroot/favicon.png rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/favicon.png diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css.map b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css.map similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css.map rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css.map diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css.map b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css.map similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css.map rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css.map diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css.map b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css.map similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css.map rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css.map diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css.map b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css.map similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css.map rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css.map diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.css b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.css similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.css rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.css diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css.map b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css.map similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css.map rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css.map diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css.map b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css.map similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css.map rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css.map diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js.map b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js.map similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js.map rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js.map diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js.map b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js.map similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js.map rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js.map diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.js b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.js similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.js rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.js diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.js.map b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.js.map similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.js.map rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.js.map diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js diff --git a/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js.map b/WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js.map similarity index 100% rename from WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js.map rename to WebApiAdaptor/WebApiAdaptor/WebApiAdaptor/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js.map