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.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..3ad159a
--- /dev/null
+++ b/WebApiAdaptor/WebApiAdaptor.slnx
@@ -0,0 +1,3 @@
+
+
+
diff --git a/WebApiAdaptor/Components/App.razor b/WebApiAdaptor/WebApiAdaptor/Components/App.razor
similarity index 87%
rename from WebApiAdaptor/Components/App.razor
rename to WebApiAdaptor/WebApiAdaptor/Components/App.razor
index b88fe6a..0aed304 100644
--- a/WebApiAdaptor/Components/App.razor
+++ b/WebApiAdaptor/WebApiAdaptor/Components/App.razor
@@ -5,19 +5,21 @@
+
-
+
-
-
+
+
+