diff --git a/.gitignore b/.gitignore
index 97211e58..c567aa4b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+*/**/appsettings.json
# ---> JetBrains
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
@@ -381,7 +382,7 @@ node_modules/
*.dsw
*.dsp
-# Visual Studio 6 technical files
+# Visual Studio 6 technical files
*.ncb
*.aps
diff --git a/Wonky.Client.sln b/Wonky.Client.sln
index 5bce659c..e23480d7 100644
--- a/Wonky.Client.sln
+++ b/Wonky.Client.sln
@@ -5,6 +5,10 @@ VisualStudioVersion = 16.0.30114.105
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wonky.Client", "Wonky.Client\Wonky.Client.csproj", "{A001767F-6CA1-428E-938A-EA491A778D3E}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wonky.Entity", "..\Wonky.Entity\Wonky.Entity\Wonky.Entity.csproj", "{39D1D838-9D6C-41AB-8A77-ABF4ECC35402}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wonky.Virk", "..\Wonky.Virk\Wonky.Virk\Wonky.Virk.csproj", "{69A68DBC-1CAF-496D-B8FE-7FB82E7FE0E9}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -18,5 +22,13 @@ Global
{A001767F-6CA1-428E-938A-EA491A778D3E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A001767F-6CA1-428E-938A-EA491A778D3E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A001767F-6CA1-428E-938A-EA491A778D3E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {39D1D838-9D6C-41AB-8A77-ABF4ECC35402}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {39D1D838-9D6C-41AB-8A77-ABF4ECC35402}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {39D1D838-9D6C-41AB-8A77-ABF4ECC35402}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {39D1D838-9D6C-41AB-8A77-ABF4ECC35402}.Release|Any CPU.Build.0 = Release|Any CPU
+ {69A68DBC-1CAF-496D-B8FE-7FB82E7FE0E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {69A68DBC-1CAF-496D-B8FE-7FB82E7FE0E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {69A68DBC-1CAF-496D-B8FE-7FB82E7FE0E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {69A68DBC-1CAF-496D-B8FE-7FB82E7FE0E9}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
diff --git a/Wonky.Client/AppId.cs b/Wonky.Client/AppId.cs
index 91b972b6..41fa952a 100644
--- a/Wonky.Client/AppId.cs
+++ b/Wonky.Client/AppId.cs
@@ -3,7 +3,7 @@ namespace Wonky.Client;
public class AppId
{
public string Version { get; set; } = "0.2.1";
- public string Name { get; set; } = "Inno Client";
+ public string Name { get; set; } = "Wonky Client";
public bool IsBeta { get; set; } = false;
}
\ No newline at end of file
diff --git a/Wonky.Client/Components/RegInfoCompany.razor.cs b/Wonky.Client/Components/RegInfoCompany.razor.cs
index 1b1ecdda..2283f18b 100644
--- a/Wonky.Client/Components/RegInfoCompany.razor.cs
+++ b/Wonky.Client/Components/RegInfoCompany.razor.cs
@@ -17,6 +17,7 @@ using Microsoft.AspNetCore.Components;
using Wonky.Client.Services;
using Wonky.Entity.Models;
using Wonky.Entity.Requests;
+using Wonky.Virk.Services;
namespace Wonky.Client.Components;
diff --git a/Wonky.Client/Components/RegLookupAddress.razor.cs b/Wonky.Client/Components/RegLookupAddress.razor.cs
index 652cac55..5be59033 100644
--- a/Wonky.Client/Components/RegLookupAddress.razor.cs
+++ b/Wonky.Client/Components/RegLookupAddress.razor.cs
@@ -20,6 +20,7 @@ using Wonky.Client.HttpInterceptors;
using Wonky.Client.Services;
using Wonky.Entity.Models;
using Wonky.Entity.Requests;
+using Wonky.Virk.Services;
namespace Wonky.Client.Components;
diff --git a/Wonky.Client/Components/RegLookupVatNo.razor.cs b/Wonky.Client/Components/RegLookupVatNo.razor.cs
index 016b4e18..59429b54 100644
--- a/Wonky.Client/Components/RegLookupVatNo.razor.cs
+++ b/Wonky.Client/Components/RegLookupVatNo.razor.cs
@@ -20,6 +20,7 @@ using Wonky.Client.HttpInterceptors;
using Wonky.Client.Services;
using Wonky.Entity.Models;
using Wonky.Entity.Requests;
+using Wonky.Virk.Services;
namespace Wonky.Client.Components;
diff --git a/Wonky.Client/Components/RegStateVatNumber.razor.cs b/Wonky.Client/Components/RegStateVatNumber.razor.cs
index f4607dea..76904722 100644
--- a/Wonky.Client/Components/RegStateVatNumber.razor.cs
+++ b/Wonky.Client/Components/RegStateVatNumber.razor.cs
@@ -18,6 +18,7 @@ using Microsoft.AspNetCore.Components;
using Wonky.Client.Services;
using Wonky.Entity.Models;
using Wonky.Entity.Requests;
+using Wonky.Virk.Services;
namespace Wonky.Client.Components;
diff --git a/Wonky.Client/Pages/ActivityList.razor b/Wonky.Client/Pages/ActivityList.razor
index 414c7a37..e79c5923 100644
--- a/Wonky.Client/Pages/ActivityList.razor
+++ b/Wonky.Client/Pages/ActivityList.razor
@@ -1,5 +1,4 @@
@page "/activites"
-@using Client.V1.Components;
Salgs Aktivitet
diff --git a/Wonky.Client/Pages/ActivityList.razor.cs b/Wonky.Client/Pages/ActivityList.razor.cs
index e69dcf2b..e519af77 100644
--- a/Wonky.Client/Pages/ActivityList.razor.cs
+++ b/Wonky.Client/Pages/ActivityList.razor.cs
@@ -7,10 +7,4 @@ public partial class ActivityList
{
public List Activities { get; set; } = new();
- [Inject] public ActivityDbContext DbContext { get; set; }
-
- protected override async Task OnInitializedAsync()
- {
- Activities = await DbContext.GetAllActivities();
- }
}
\ No newline at end of file
diff --git a/Wonky.Client/Pages/CompanyCreate.razor.cs b/Wonky.Client/Pages/CompanyCreate.razor.cs
index fe9a40fa..839dde18 100644
--- a/Wonky.Client/Pages/CompanyCreate.razor.cs
+++ b/Wonky.Client/Pages/CompanyCreate.razor.cs
@@ -24,6 +24,7 @@ using Wonky.Client.Services;
using Wonky.Entity.DTO;
using Wonky.Entity.Models;
using Wonky.Entity.Requests;
+using Wonky.Virk.Services;
namespace Wonky.Client.Pages
{
diff --git a/Wonky.Client/Pages/KrvAdmin/KrvProduct.razor b/Wonky.Client/Pages/KrvAdmin/KrvProduct.razor
deleted file mode 100644
index 9baf20d9..00000000
--- a/Wonky.Client/Pages/KrvAdmin/KrvProduct.razor
+++ /dev/null
@@ -1,14 +0,0 @@
-@page "/krv-product/{productId}"
-@using Microsoft.AspNetCore.Authorization
-@attribute [Authorize(Roles = "Admin")]
-
-
-
-
-
-
-
diff --git a/Wonky.Client/Pages/KrvAdmin/KrvProduct.razor.cs b/Wonky.Client/Pages/KrvAdmin/KrvProduct.razor.cs
deleted file mode 100644
index 36ee5a02..00000000
--- a/Wonky.Client/Pages/KrvAdmin/KrvProduct.razor.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using Microsoft.AspNetCore.Components;
-using Wonky.Client.HttpInterceptors;
-using Wonky.Client.HttpRepository;
-using Wonky.Entity.DTO;
-
-namespace Wonky.Client.Pages.KrvAdmin;
-
-public partial class KrvProduct : IDisposable
-{
- private KrvProductDto Product { get; set; } = new ();
-
- [Inject]
- public IKrvProductHttpRepository ProductRepo { get; set; }
-
- [Inject]
- public HttpInterceptorService Interceptor { get; set; }
-
- [Parameter]
- public string ProductId { get; set; } = "";
-
- protected override async Task OnInitializedAsync()
- {
- Interceptor.RegisterEvent();
- Interceptor.RegisterBeforeSendEvent();
- Product = await ProductRepo.GetProduct(ProductId);
- }
-
- ///
- /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
- ///
- public void Dispose()
- {
- Interceptor.DisposeEvent();
- }
-
-}
\ No newline at end of file
diff --git a/Wonky.Client/Pages/KrvAdmin/KrvProduct.razor.css b/Wonky.Client/Pages/KrvAdmin/KrvProduct.razor.css
deleted file mode 100644
index ffdeb335..00000000
--- a/Wonky.Client/Pages/KrvAdmin/KrvProduct.razor.css
+++ /dev/null
@@ -1,10 +0,0 @@
-/* product image preview */
-.image-name {
- margin-left: 10px;
-}
-.image-preview {
- width: auto;
- max-width: 200px;
- height: 100px;
- margin-top: 15px;
-}
\ No newline at end of file
diff --git a/Wonky.Client/Pages/KrvAdmin/KrvProductList.razor b/Wonky.Client/Pages/KrvAdmin/KrvProductList.razor
deleted file mode 100644
index 0c52f95e..00000000
--- a/Wonky.Client/Pages/KrvAdmin/KrvProductList.razor
+++ /dev/null
@@ -1,35 +0,0 @@
-@page "/krv-products"
-@using Client.V1.Components
-@using Inno.Entities.RequestFeatures
-@using Microsoft.AspNetCore.Authorization
-
-@attribute [Authorize(Roles = "Admin")]
-
-
-
-
\ No newline at end of file
diff --git a/Wonky.Client/Pages/KrvAdmin/KrvProductList.razor.cs b/Wonky.Client/Pages/KrvAdmin/KrvProductList.razor.cs
deleted file mode 100644
index 9e9b22d8..00000000
--- a/Wonky.Client/Pages/KrvAdmin/KrvProductList.razor.cs
+++ /dev/null
@@ -1,64 +0,0 @@
-using Microsoft.AspNetCore.Components;
-using Wonky.Client.HttpInterceptors;
-using Wonky.Client.HttpRepository;
-using Wonky.Entity.DTO;
-using Wonky.Entity.Requests;
-
-namespace Wonky.Client.Pages.KrvAdmin;
-
-public partial class KrvProductList : IDisposable
-{
- public List KrvProducts { get; set; } = new();
- public MetaData? MetaData { get; set; } = new();
-
- private PagingParams _paging = new();
-
- [Inject]
- public IKrvProductHttpRepository ProductRepo { get; set; }
-
- [Inject]
- public HttpInterceptorService Interceptor { get; set; }
-
- protected override async Task OnInitializedAsync()
- {
- Interceptor.RegisterEvent();
- Interceptor.RegisterBeforeSendEvent();
- await GetKrvProducts();
- }
-
- private async Task SelectedPage(int page)
- {
- _paging.PageNumber = page;
- await GetKrvProducts();
- }
-
- private async Task GetKrvProducts()
- {
- var pagingResponse = await ProductRepo.GetProducts(_paging);
- KrvProducts = pagingResponse.Items;
- MetaData = pagingResponse.MetaData;
- }
-
- private async Task SetPageSize(int pageSize)
- {
- _paging.PageSize = pageSize;
- _paging.PageNumber = 1;
- await GetKrvProducts();
- }
-
- private async Task SearchChanged(string? searchTerm)
- {
- _paging.PageNumber = 1;
- _paging.SearchTerm = searchTerm;
- await GetKrvProducts();
- }
-
- private async Task SortChanged(string? orderBy)
- {
- _paging.OrderBy = orderBy;
- await GetKrvProducts();
- }
-
- public void Dispose() => Interceptor.DisposeEvent();
-
-}
\ No newline at end of file
diff --git a/Wonky.Client/Pages/KrvAdmin/KrvProductUpdate.razor b/Wonky.Client/Pages/KrvAdmin/KrvProductUpdate.razor
deleted file mode 100644
index b2f611ba..00000000
--- a/Wonky.Client/Pages/KrvAdmin/KrvProductUpdate.razor
+++ /dev/null
@@ -1,54 +0,0 @@
-@page "/krv-product-update/{productId}"
-@using Microsoft.AspNetCore.Authorization
-@using Microsoft.AspNetCore.Components
-@attribute [Authorize(Roles = "Admin")]
-@if (_productDto != null)
-{
-
-
- @*
*@
-
-
- @* *@
-
-
-
-
-
-
-
-}
-else
-{
- Vent venligst ...
-}
diff --git a/Wonky.Client/Pages/KrvAdmin/KrvProductUpdate.razor.cs b/Wonky.Client/Pages/KrvAdmin/KrvProductUpdate.razor.cs
deleted file mode 100644
index 08a51b87..00000000
--- a/Wonky.Client/Pages/KrvAdmin/KrvProductUpdate.razor.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-using Blazored.Toast.Services;
-using Microsoft.AspNetCore.Components;
-using Microsoft.AspNetCore.Components.Forms;
-using Wonky.Client.HttpInterceptors;
-using Wonky.Client.HttpRepository;
-using Wonky.Entity.DTO;
-
-namespace Wonky.Client.Pages.KrvAdmin;
-
-public partial class KrvProductUpdate : IDisposable
-{
- private KrvProductDto _productDto;
- private EditContext _editContext;
- private bool _formInvalid = true;
-
- [Parameter]
- public string ProductId { get; set; }
-
- [Inject]
- public IKrvProductHttpRepository ProductRepo { get; set; }
-
- [Inject]
- public HttpInterceptorService Interceptor { get; set; }
-
- [Inject]
- public IToastService ToastService { get; set; }
-
- [Inject]
- public ILogger Logger { get; set; }
-
- protected override async Task OnInitializedAsync()
- {
- _productDto = await ProductRepo.GetProduct(ProductId);
- _editContext = new EditContext(_productDto);
- _editContext.OnFieldChanged += HandleFieldChanged;
- Interceptor.RegisterEvent();
- Interceptor.RegisterBeforeSendEvent();
- }
-
- private void HandleFieldChanged(object sender, FieldChangedEventArgs e)
- {
- _formInvalid = !_editContext.Validate();
- StateHasChanged();
- }
-
- private async Task Update()
- {
- await ProductRepo.UpdateProduct(_productDto);
- ToastService.ShowSuccess($"Godt så. Produktet '{_productDto.TradingName}' er opdateret.");
- }
-
- private void AssignKrvVariantPicture(string imgUrl)
- => _productDto.PictureLink = imgUrl;
-
- public void Dispose()
- {
- Interceptor.DisposeEvent();
- _editContext.OnFieldChanged -= HandleFieldChanged;
- }
-
-}
\ No newline at end of file
diff --git a/Wonky.Client/Pages/KrvAdmin/KrvProductUpdate.razor.css b/Wonky.Client/Pages/KrvAdmin/KrvProductUpdate.razor.css
deleted file mode 100644
index 670ad559..00000000
--- a/Wonky.Client/Pages/KrvAdmin/KrvProductUpdate.razor.css
+++ /dev/null
@@ -1,8 +0,0 @@
-/* product image preview */
-.image-name {
- margin-left: 10px;
-}
-.image-preview {
- width: 200px;
- margin-top: 15px;
-}
\ No newline at end of file
diff --git a/Wonky.Client/Pages/KrvAdmin/KrvVariantCreate.razor b/Wonky.Client/Pages/KrvAdmin/KrvVariantCreate.razor
deleted file mode 100644
index 27ca4293..00000000
--- a/Wonky.Client/Pages/KrvAdmin/KrvVariantCreate.razor
+++ /dev/null
@@ -1,62 +0,0 @@
-@page "/create-variant"
-@using Microsoft.AspNetCore.Authorization
-@using Microsoft.AspNetCore.Components
-@attribute [Authorize(Roles = "Admin")]
-Opret KRV Variant
-@* *@
-
-
- @* *@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Wonky.Client/Pages/KrvAdmin/KrvVariantCreate.razor.cs b/Wonky.Client/Pages/KrvAdmin/KrvVariantCreate.razor.cs
deleted file mode 100644
index 899529e1..00000000
--- a/Wonky.Client/Pages/KrvAdmin/KrvVariantCreate.razor.cs
+++ /dev/null
@@ -1,70 +0,0 @@
-using Blazored.Toast.Services;
-using Microsoft.AspNetCore.Components;
-using Microsoft.AspNetCore.Components.Forms;
-using Wonky.Client.HttpInterceptors;
-using Wonky.Client.HttpRepository;
-using Wonky.Entity.DTO;
-
-namespace Wonky.Client.Pages.KrvAdmin;
-
-public partial class KrvVariantCreate : IDisposable
-{
- private KrvVariantDto _variantDto { get; set; } = new();
-
- private EditContext _editContext;
- private bool _formInvalid = true;
-
- [Inject]
- public IKrvVariantHttpRepository VariantRepo { get; set; }
-
- [Inject]
- public HttpInterceptorService Interceptor { get; set; }
-
- [Inject]
- public IToastService ToastService { get; set; }
-
- [Inject]
- public ILogger Logger { get; set; }
-
- protected override void OnInitialized()
- {
- _editContext = new EditContext(_variantDto);
- _editContext.OnFieldChanged += HandleFieldChanged;
- Interceptor.RegisterEvent();
- Interceptor.RegisterBeforeSendEvent();
- }
-
- private async Task Create()
- {
- Logger.LogDebug($"{_variantDto}");
- await VariantRepo.CreateVariant(_variantDto);
- ToastService.ShowSuccess($"Godt så. Produktet '{_variantDto.ErpName}' er oprettet.");
- _variantDto = new KrvVariantDto();
- _editContext.OnValidationStateChanged += ValidationChanged;
- _editContext.NotifyValidationStateChanged();
- }
- private void HandleFieldChanged(object sender, FieldChangedEventArgs e)
- {
- _formInvalid = !_editContext.Validate();
- StateHasChanged();
- }
- private void ValidationChanged(object sender, ValidationStateChangedEventArgs e)
- {
- _formInvalid = true;
- _editContext.OnFieldChanged -= HandleFieldChanged;
- _editContext = new EditContext(_variantDto);
- _editContext.OnFieldChanged += HandleFieldChanged;
- _editContext.OnValidationStateChanged -= ValidationChanged;
- }
-
- public void Dispose()
- {
- Interceptor.DisposeEvent();
- _editContext.OnFieldChanged -= HandleFieldChanged;
- _editContext.OnValidationStateChanged -= ValidationChanged;
- }
-
- private void AssignImageUrl(string imgUrl) => _variantDto.PictureLink = imgUrl;
-}
-
-
diff --git a/Wonky.Client/Pages/KrvAdmin/KrvVariantList.razor b/Wonky.Client/Pages/KrvAdmin/KrvVariantList.razor
deleted file mode 100644
index 6dc2f659..00000000
--- a/Wonky.Client/Pages/KrvAdmin/KrvVariantList.razor
+++ /dev/null
@@ -1,35 +0,0 @@
-@page "/krv-variants"
-@using Client.V1.Components
-@using Inno.Entities.RequestFeatures
-@using Microsoft.AspNetCore.Authorization
-
-@attribute [Authorize(Roles = "Admin")]
-
-
-
-
\ No newline at end of file
diff --git a/Wonky.Client/Pages/KrvAdmin/KrvVariantList.razor.cs b/Wonky.Client/Pages/KrvAdmin/KrvVariantList.razor.cs
deleted file mode 100644
index a3f3107a..00000000
--- a/Wonky.Client/Pages/KrvAdmin/KrvVariantList.razor.cs
+++ /dev/null
@@ -1,60 +0,0 @@
-using Microsoft.AspNetCore.Components;
-using Wonky.Client.HttpInterceptors;
-using Wonky.Client.HttpRepository;
-using Wonky.Entity.DTO;
-using Wonky.Entity.Requests;
-
-namespace Wonky.Client.Pages.KrvAdmin;
-
-public partial class KrvVariantList : IDisposable
-{
- private List KrvVariants { get; set; } = new();
- private MetaData MetaData { get; set; } = new();
-
- private PagingParams _paging = new();
-
- [Inject] public IKrvVariantHttpRepository VariantRepo { get; set; }
- [Inject] public HttpInterceptorService Interceptor { get; set; }
-
- protected override async Task OnInitializedAsync()
- {
- Interceptor.RegisterEvent();
- Interceptor.RegisterBeforeSendEvent();
- await GetKrvVariants();
- }
-
- private async Task SelectedPage(int page)
- {
- _paging.PageNumber = page;
- await GetKrvVariants();
- }
-
- private async Task GetKrvVariants()
- {
- var pagingResponse = await VariantRepo.GetVariants(_paging);
- KrvVariants = pagingResponse.Items;
- MetaData = pagingResponse.MetaData;
- }
-
- private async Task SetPageSize(int pageSize)
- {
- _paging.PageSize = pageSize;
- _paging.PageNumber = 1;
- await GetKrvVariants();
- }
-
- private async Task SearchChanged(string? searchTerm)
- {
- _paging.PageNumber = 1;
- _paging.SearchTerm = searchTerm;
- await GetKrvVariants();
- }
-
- private async Task SortChanged(string? orderBy)
- {
- _paging.OrderBy = orderBy;
- await GetKrvVariants();
- }
-
- public void Dispose() => Interceptor.DisposeEvent();
-}
\ No newline at end of file
diff --git a/Wonky.Client/Pages/KrvAdmin/KrvVariantUpdate.razor b/Wonky.Client/Pages/KrvAdmin/KrvVariantUpdate.razor
deleted file mode 100644
index 869b47c4..00000000
--- a/Wonky.Client/Pages/KrvAdmin/KrvVariantUpdate.razor
+++ /dev/null
@@ -1,90 +0,0 @@
-@page "/krv-variant-update/{variantId}"
-@using Microsoft.AspNetCore.Authorization
-@attribute [Authorize(Roles = "Admin")]
-@if (_variantDto != null)
-{
-
-
- @*
*@
-
-
- @* *@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-else
-{
- Vent venligst ...
-}
diff --git a/Wonky.Client/Pages/KrvAdmin/KrvVariantUpdate.razor.cs b/Wonky.Client/Pages/KrvAdmin/KrvVariantUpdate.razor.cs
deleted file mode 100644
index 7a86f550..00000000
--- a/Wonky.Client/Pages/KrvAdmin/KrvVariantUpdate.razor.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-using Blazored.Toast.Services;
-using Microsoft.AspNetCore.Components;
-using Microsoft.AspNetCore.Components.Forms;
-using Wonky.Client.HttpInterceptors;
-using Wonky.Client.HttpRepository;
-using Wonky.Entity.DTO;
-
-namespace Wonky.Client.Pages.KrvAdmin;
-
-public partial class KrvVariantUpdate : IDisposable
-{
- private KrvVariantDto _variantDto;
- private EditContext _editContext;
- private bool _formInvalid = true;
-
- [Parameter]
- public string VariantId { get; set; }
-
- [Inject]
- public IKrvVariantHttpRepository VariantRepo { get; set; }
-
- [Inject]
- public HttpInterceptorService Interceptor { get; set; }
-
- [Inject]
- public IToastService ToastService { get; set; }
-
- [Inject]
- public ILogger Logger { get; set; }
-
- protected override async Task OnInitializedAsync()
- {
- _variantDto = await VariantRepo.GetVariant(VariantId);
- _editContext = new EditContext(_variantDto);
- _editContext.OnFieldChanged += HandleFieldChanged;
- Interceptor.RegisterEvent();
- Interceptor.RegisterBeforeSendEvent();
- }
-
- private void HandleFieldChanged(object sender, FieldChangedEventArgs e)
- {
- _formInvalid = !_editContext.Validate();
- StateHasChanged();
- }
-
- private async Task Update()
- {
- await VariantRepo.UpdateVariant(_variantDto);
- ToastService.ShowSuccess($"Godt så. Produktet '{_variantDto.ErpName}' er opdateret.");
- }
-
- private void AssignKrvVariantPicture(string imgUrl)
- => _variantDto.PictureLink = imgUrl;
-
- public void Dispose()
- {
- Interceptor.DisposeEvent();
- _editContext.OnFieldChanged -= HandleFieldChanged;
- }
-
-}
\ No newline at end of file
diff --git a/Wonky.Client/Pages/KrvAdmin/KrvVariantUpdate.razor.css b/Wonky.Client/Pages/KrvAdmin/KrvVariantUpdate.razor.css
deleted file mode 100644
index 789b48ef..00000000
--- a/Wonky.Client/Pages/KrvAdmin/KrvVariantUpdate.razor.css
+++ /dev/null
@@ -1,8 +0,0 @@
-/* variant image preview */
-.image-name {
- margin-left: 10px;
-}
-.image-preview {
- width: 200px;
- margin-top: 15px;
-}
\ No newline at end of file
diff --git a/Wonky.Client/Pages/KrvAdmin/KrvVariantView.razor b/Wonky.Client/Pages/KrvAdmin/KrvVariantView.razor
deleted file mode 100644
index 7eccd174..00000000
--- a/Wonky.Client/Pages/KrvAdmin/KrvVariantView.razor
+++ /dev/null
@@ -1,49 +0,0 @@
-@page "/krv-variant/{variantId}"
-@using Microsoft.AspNetCore.Authorization
-@attribute [Authorize(Roles = "Admin")]
-
-
-
-
-
-
- BE Navn |
- @Variant.Name |
-
-
- BE Varenr |
- @Variant.Sku |
-
-
- DK Navn |
- @Variant.ErpName |
-
-
- DK Varenr |
- @Variant.ErpSku |
-
-
- Kort navn |
- @Variant.ShortName |
-
-
- SDS URL |
- @Variant.SdsLink |
-
-
- Billede URL |
- @Variant.PictureLink |
-
-
- |
- |
-
-
-
-
-
-
diff --git a/Wonky.Client/Pages/KrvAdmin/KrvVariantView.razor.cs b/Wonky.Client/Pages/KrvAdmin/KrvVariantView.razor.cs
deleted file mode 100644
index 699a9b70..00000000
--- a/Wonky.Client/Pages/KrvAdmin/KrvVariantView.razor.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-using Microsoft.AspNetCore.Components;
-using Wonky.Client.HttpInterceptors;
-using Wonky.Client.HttpRepository;
-using Wonky.Entity.DTO;
-
-namespace Wonky.Client.Pages.KrvAdmin;
-
-public partial class KrvVariantView : IDisposable
-{
- private KrvVariantDto Variant { get; set; } = new ();
-
- [Inject]
- public IKrvVariantHttpRepository VariantRepo { get; set; }
-
- [Inject]
- public HttpInterceptorService Interceptor { get; set; }
-
- [Parameter]
- public string VariantId { get; set; } = "";
-
- protected override async Task OnInitializedAsync()
- {
- Interceptor.RegisterEvent();
- Interceptor.RegisterBeforeSendEvent();
- Variant = await VariantRepo.GetVariant(VariantId);
- }
-
- ///
- /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
- ///
- public void Dispose()
- {
- Interceptor.DisposeEvent();
- }
-}
\ No newline at end of file
diff --git a/Wonky.Client/Pages/KrvAdmin/KrvVariantView.razor.css b/Wonky.Client/Pages/KrvAdmin/KrvVariantView.razor.css
deleted file mode 100644
index a9b07550..00000000
--- a/Wonky.Client/Pages/KrvAdmin/KrvVariantView.razor.css
+++ /dev/null
@@ -1,10 +0,0 @@
-/* variant image preview */
-.image-name {
- margin-left: 10px;
-}
-.image-preview {
- width: auto;
- max-width: 200px;
- height: 100px;
- margin-top: 15px;
-}
\ No newline at end of file
diff --git a/Wonky.Client/Pages/Testing/Counter.razor b/Wonky.Client/Pages/Testing/Counter.razor
deleted file mode 100644
index 7b00c5ae..00000000
--- a/Wonky.Client/Pages/Testing/Counter.razor
+++ /dev/null
@@ -1,36 +0,0 @@
-@page "/counter"
-@using Client.V1.Components
-@using System.Security.Claims
-
-
-
- Bruger @context.User.FindFirst(ClaimTypes.Name).Value har tilladelse
-
-
- Bruger har IKKE tilladelse
-
-
-
-
-
-
-@code {
- private int currentCount = 0;
-
- [CascadingParameter]
- public Task AuthState { get; set; }
-
- private async void IncrementCount()
- {
- var authState = await AuthState;
- var user = authState.User;
- if(user.Identity.IsAuthenticated)
- {
- currentCount++;
- }
- else
- {
- currentCount--;
- }
- }
-}
diff --git a/Wonky.Client/Pages/Testing/JsInterop.razor b/Wonky.Client/Pages/Testing/JsInterop.razor
deleted file mode 100644
index d0b22791..00000000
--- a/Wonky.Client/Pages/Testing/JsInterop.razor
+++ /dev/null
@@ -1,77 +0,0 @@
-@page "/js-interop"
-JsInterop in Blazor
-
-
-
- Calling JS returning void
-
-
-
-
-
-
-
-
- Calling JS returning void (with object)
-
-
-
-
-
-
-
-
- Calling JS returning a result
-
-
-
-
-
- @_registrationResult
-
-
-
-
-
- Calling JS returning an object
-
-
-
-
-
- @_messageDetails
-
-
-
-
-
- Passing HTML Reference to JS Function
-
-
-
-
-
-
-
-
-
-
-
- Passing Input Component to JS Function
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Wonky.Client/Pages/Testing/JsInterop.razor.cs b/Wonky.Client/Pages/Testing/JsInterop.razor.cs
deleted file mode 100644
index e261ae50..00000000
--- a/Wonky.Client/Pages/Testing/JsInterop.razor.cs
+++ /dev/null
@@ -1,85 +0,0 @@
-using Microsoft.AspNetCore.Components;
-using Microsoft.JSInterop;
-
-namespace Wonky.Client.Pages.Testing;
-
-public partial class JsInterop
-{
- [Inject] public IJSRuntime JsRuntime { get; set; }
- private IJSObjectReference _jsModule;
- private string _registrationResult;
- private string _messageDetails;
- private ElementReference _elRef;
- private EmailDetails _emailDetails = new EmailDetails();
- private string _errorMessage = "";
-
- protected override async Task OnAfterRenderAsync(bool firstRender)
- {
- if (firstRender)
- {
- _jsModule = await JsRuntime
- .InvokeAsync("import", "./scripts/jsExample.js");
- await FocusAndStyleElement();
- await ThrowError();
- }
-
- }
-
- private async Task ShowAlertWindow()
- {
- // global namespace
- await _jsModule.InvokeVoidAsync("showAlert", "JS function call called from .NET");
- }
-
- private async Task ShowAlertObject()
- {
- // global namespace
- await _jsModule
- .InvokeVoidAsync("showAlertObject", new { Name = "Frede", Age = "61"});
- }
-
- private async Task RegisterEmail()
- {
- _registrationResult = await _jsModule
- .InvokeAsync("emailRegistration", "Angiv email adresse");
- }
-
- private async Task ExtractEmailDetails()
- {
- var emailDetails = await _jsModule.InvokeAsync("splitEmail", "Angiv email");
- _messageDetails = emailDetails != null
- ? $"Navn: {emailDetails.Name}, Domain: {emailDetails.Domain}, TLD: {emailDetails.Tld}"
- : "Email ikke angivet";
- }
-
- private async Task FocusAndStyleElement()
- {
- await _jsModule.InvokeVoidAsync("focusAndStyleElement", _elRef);
- }
- private async Task FocusAndStyleInputComponent()
- {
- await _jsModule.InvokeVoidAsync("focusAndStyleInputComponent", "dummyInputComponent");
- }
-
- private async Task ThrowError()
- {
- try
- {
- await _jsModule.InvokeVoidAsync("throwError");
- }
- catch (JSException ex)
- {
- _errorMessage = ex.Message;
- StateHasChanged();
- }
-
- }
-
-}
-
-public class EmailDetails
-{
- public string Name { get; set; }
- public string Domain { get; set; }
- public string Tld { get; set; }
-}
\ No newline at end of file
diff --git a/Wonky.Client/Pages/Testing/JsInterop2.razor b/Wonky.Client/Pages/Testing/JsInterop2.razor
deleted file mode 100644
index 3e0c6394..00000000
--- a/Wonky.Client/Pages/Testing/JsInterop2.razor
+++ /dev/null
@@ -1,43 +0,0 @@
-@page "/js-interop-2"
-JsInterop2
-
-
-
- Calling C# static method from JS
-
-
-
-
-
-
-
-
-
-
-
- Calling C# static method from JS
-
-
-
-
-
-
-
-
-
-
-
- Calling instance method from JS
-
-
-
-
-
-
- @_coordinates.X - @_coordinates.Y
-
-
-
\ No newline at end of file
diff --git a/Wonky.Client/Pages/Testing/JsInterop2.razor.cs b/Wonky.Client/Pages/Testing/JsInterop2.razor.cs
deleted file mode 100644
index c155a8da..00000000
--- a/Wonky.Client/Pages/Testing/JsInterop2.razor.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-using Microsoft.AspNetCore.Components;
-using Microsoft.JSInterop;
-
-namespace Wonky.Client.Pages.Testing;
-
-public partial class JsInterop2
-{
- private MouseCoordinates _coordinates = new MouseCoordinates();
-
- [Inject] public IJSRuntime JsRuntime { get; set; }
-
- [JSInvokable]
- public static string CalculateSquareRoot(int number)
- {
- var result = Math.Sqrt(number);
- return $"result from {number} is {result}";
- }
-
- [JSInvokable("CalculateSquareRootJustResult")]
- public static string CalculateSquareRoot(int number, bool justResult)
- {
- var result = Math.Sqrt(number);
- return !justResult ? $"result from {number} is {result}" : result.ToString();
- }
-
- private async Task SendDotNetInstanceToJS()
- {
- var dotNetObjRef = DotNetObjectReference.Create(this);
- await JsRuntime.InvokeVoidAsync("jsFunctions.registerMouseCoordinatesHandler", dotNetObjRef);
- }
-
- [JSInvokable]
- public void ShowCoordinates(MouseCoordinates coordinates)
- {
- _coordinates = coordinates;
- StateHasChanged();
- }
- public class MouseCoordinates
- {
- public int X { get; set; }
- public int Y { get; set; }
- }
-}
\ No newline at end of file
diff --git a/Wonky.Client/Pages/Testing/JsInterop2.razor.css b/Wonky.Client/Pages/Testing/JsInterop2.razor.css
deleted file mode 100644
index ebbe8075..00000000
--- a/Wonky.Client/Pages/Testing/JsInterop2.razor.css
+++ /dev/null
@@ -1,7 +0,0 @@
-.coords {
- height: 200px;
- width: 400px;
- background-color: #d6d8d6;
- text-align: center;
- font-size: 20px;
-}
\ No newline at end of file
diff --git a/Wonky.Client/Program.cs b/Wonky.Client/Program.cs
index d7392db4..7e3c3b06 100644
--- a/Wonky.Client/Program.cs
+++ b/Wonky.Client/Program.cs
@@ -25,6 +25,7 @@ using Wonky.Client.HttpInterceptors;
using Wonky.Client.HttpRepository;
using Wonky.Client.Services;
using Wonky.Entity.Configuration;
+using Wonky.Virk.Services;
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add("#app");
diff --git a/Wonky.Client/Services/VirkRegistryService.cs b/Wonky.Client/Services/VirkRegistryService.cs
deleted file mode 100644
index 81a7ced1..00000000
--- a/Wonky.Client/Services/VirkRegistryService.cs
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright (C) 2022 FCS Frede's Computer Services.
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html]
-//
-
-using System.Text.Json;
-using Microsoft.AspNetCore.WebUtilities;
-using Microsoft.Extensions.Options;
-using Wonky.Entity.Configuration;
-using Wonky.Entity.Models;
-using Wonky.Entity.Requests;
-
-namespace Wonky.Client.Services;
-
-public class VirkRegistryService
-{
- private readonly JsonSerializerOptions _options = new() { PropertyNameCaseInsensitive = true };
- private readonly HttpClient _client;
- private readonly IOptions _apiConfig;
- private readonly List _noData = new() { new VirkRegInfo { Name = "INGEN DATA" } };
-
- public VirkRegistryService(HttpClient client, IOptions apiConfig)
- {
- _client = client;
- _apiConfig = apiConfig;
- }
-
- public async Task> QueryVirkRegistry(VirkParams @params)
- {
- if(!ValidateCvrQuery(@params))
- {
- throw new ArgumentException("CvrQuery does not validate");
- }
- var queryString = new Dictionary
- {
- ["vatNumber"] = @params.VatNumber,
- ["streetName"] = @params.StreetName,
- ["houseNumber"] = @params.HouseNumber,
- ["zipCode"] = @params.ZipCode
- };
- var endpoint = QueryHelpers.AddQueryString(_apiConfig.Value.CvrLookup , queryString);
- var response = await _client.GetAsync(endpoint);
- var content = await response.Content.ReadAsStringAsync();
-
- var jsonResult = JsonSerializer.Deserialize>(content, _options);
-
- if (string.IsNullOrWhiteSpace(content) || !jsonResult.Any()) return _noData;
-
- if (!string.IsNullOrWhiteSpace(@params.VatNumber)) return jsonResult;
-
- var result = jsonResult
- .Where(x => x.States[^1].State == "NORMAL")
- .OrderBy(x => x.Name).ToList();
-
- return result.Count == 0 ? _noData : result;
- }
-
- private static bool ValidateCvrQuery(VirkParams @params)
- {
- if (!string.IsNullOrWhiteSpace(@params.VatNumber))
- return true;
- return !string.IsNullOrWhiteSpace(@params.HouseNumber) && !string.IsNullOrWhiteSpace(@params.StreetName) &&
- !string.IsNullOrWhiteSpace(@params.ZipCode);
- }
-}
\ No newline at end of file
diff --git a/Wonky.Client/Wonky.Client.csproj b/Wonky.Client/Wonky.Client.csproj
index 2595e093..e592bf98 100644
--- a/Wonky.Client/Wonky.Client.csproj
+++ b/Wonky.Client/Wonky.Client.csproj
@@ -24,5 +24,23 @@
+
+
+
+
+ <_ContentIncludedByDefault Remove="Pages\KrvAdmin\KrvProduct.razor" />
+ <_ContentIncludedByDefault Remove="Pages\KrvAdmin\KrvProductList.razor" />
+ <_ContentIncludedByDefault Remove="Pages\KrvAdmin\KrvProductUpdate.razor" />
+ <_ContentIncludedByDefault Remove="Pages\KrvAdmin\KrvVariantCreate.razor" />
+ <_ContentIncludedByDefault Remove="Pages\KrvAdmin\KrvVariantList.razor" />
+ <_ContentIncludedByDefault Remove="Pages\KrvAdmin\KrvVariantUpdate.razor" />
+ <_ContentIncludedByDefault Remove="Pages\KrvAdmin\KrvVariantView.razor" />
+ <_ContentIncludedByDefault Remove="Pages\Testing\Counter.razor" />
+ <_ContentIncludedByDefault Remove="Pages\Testing\JsInterop.razor" />
+ <_ContentIncludedByDefault Remove="Pages\Testing\JsInterop2.razor" />
+
+
+
+
diff --git a/Wonky.Client/_Imports.razor b/Wonky.Client/_Imports.razor
index cf9a830d..00d258bb 100644
--- a/Wonky.Client/_Imports.razor
+++ b/Wonky.Client/_Imports.razor
@@ -12,4 +12,6 @@
@using Microsoft.AspNetCore.Components.WebAssembly.Hosting
@using Microsoft.AspNetCore.Components.Authorization
@using DnetIndexedDb
+@using Wonky.Entity
+@using Wonky.Virk
diff --git a/Wonky.Client/wwwroot/appsettings.json b/Wonky.Client/wwwroot/appsettings.json
new file mode 100644
index 00000000..0e0dcd23
--- /dev/null
+++ b/Wonky.Client/wwwroot/appsettings.json
@@ -0,0 +1,3 @@
+{
+
+}
\ No newline at end of file
diff --git a/Wonky.Client/wwwroot/css/app.css b/Wonky.Client/wwwroot/css/app.css
index 3848a5f4..c47b2569 100644
--- a/Wonky.Client/wwwroot/css/app.css
+++ b/Wonky.Client/wwwroot/css/app.css
@@ -22,6 +22,10 @@ a, .btn-link {
border-color: #1861ac;
}
+.card {
+ padding: 0;
+}
+
.content {
padding-top: 1.1rem;
}
diff --git a/Wonky.Client/wwwroot/scripts/jsExample.js b/Wonky.Client/wwwroot/scripts/jsExample.js
deleted file mode 100644
index 25b12314..00000000
--- a/Wonky.Client/wwwroot/scripts/jsExample.js
+++ /dev/null
@@ -1,46 +0,0 @@
-export function showAlert(message) {
- alert(message);
-}
-
-export function showAlertObject(person) {
- const message = 'Navn: ' + person.name + " Alder: " + person.age;
- alert(message)
-}
-
-export function emailRegistration(message) {
- const result = prompt(message)
- if (!result)
- return 'Angiv en email';
-
- return 'Tak! Din email: ' + result + ' er registreret.';
-}
-
-export function splitEmail(message) {
- const email = prompt(message);
- if (!email)
- return null;
-
- const firstPart = email.substring(0, email.indexOf("@"));
- const lastPart = email.substring(email.indexOf("@") + 1);
- return {
- 'name': firstPart,
- 'domain': lastPart.split(".")[0],
- 'tld': lastPart.split(".")[1]
- }
-}
-
-export function focusAndStyleElement(element) {
- element.style.color = "red";
- element.focus();
-}
-
-export function focusAndStyleInputComponent(id) {
- const element = document.getElementById(id);
-
- element.style.color = "red";
- element.focus();
-}
-
-export function throwError() {
- throw Error("Testing error message from JS file.")
-}
diff --git a/Wonky.Client/wwwroot/scripts/jsExample2.js b/Wonky.Client/wwwroot/scripts/jsExample2.js
deleted file mode 100644
index edfbf600..00000000
--- a/Wonky.Client/wwwroot/scripts/jsExample2.js
+++ /dev/null
@@ -1,32 +0,0 @@
-var jsFunctions = {};
-
-jsFunctions.calculateSquareRoot = function () {
- const number = prompt("Giv mig et tal");
-
- DotNet.invokeMethodAsync("Client.V1", "CalculateSquareRoot", parseInt(number))
- .then(result => {
- var el = document.getElementById("string-result");
- el.innerHTML = result;
- })
-}
-
-jsFunctions.calculateSquareRootJustResult = function () {
- const number = prompt("Giv mig et tal");
-
- DotNet.invokeMethodAsync("Client.V1", "CalculateSquareRootJustResult", parseInt(number), true)
- .then(result => {
- var el = document.getElementById("result");
- el.innerHTML = result;
- })
-}
-
-jsFunctions.registerMouseCoordinatesHandler = function (dotNetObjRef) {
- function mouseCoordinatesHandler() {
- dotNetObjRef.invokeMethodAsync("ShowCoordinates", {
- x: window.event.screenX,
- y: window.event.screenY,
- });
- }
- mouseCoordinatesHandler();
- document.getElementById("coords").onmousemove = mouseCoordinatesHandler();
-}
\ No newline at end of file