114 lines
No EOL
4 KiB
C#
114 lines
No EOL
4 KiB
C#
// 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 Blazored.Toast.Services;
|
|
using Microsoft.AspNetCore.Components;
|
|
using Wonky.Client.HttpInterceptors;
|
|
using Wonky.Client.HttpInterfaces;
|
|
using Wonky.Client.HttpRepository;
|
|
using Wonky.Client.Models;
|
|
using Wonky.Client.Services;
|
|
using Wonky.Entity.Models;
|
|
using Wonky.Entity.Requests;
|
|
using Wonky.Entity.Views;
|
|
|
|
namespace Wonky.Client.Shared;
|
|
|
|
public partial class VatLookupDkModal
|
|
{
|
|
private string _modalDisplay = "";
|
|
private bool _showBackdrop;
|
|
[Parameter] public VatAddress VatAddress { get; set; } = new();
|
|
[Parameter] public string EntityName { get; set; } = "";
|
|
[Parameter] public string VatNumber { get; set; } = "";
|
|
[Parameter] public EventCallback<VirkRegInfo> OnSelectedCompany { get; set; }
|
|
[Inject] private VatInfoLookupService VatService { get; set; }
|
|
[Inject] private IToastService Toaster { get; set; }
|
|
[Inject] private ILogger<VatLookupDkModal> Logger { get; set; }
|
|
private VirkRegInfo CompanyRegInfo { get; set; } = new();
|
|
private List<VirkRegInfo> VatInfos { get; set; } = new();
|
|
private VatAddress _vatAddress { get; set; } = new();
|
|
private string _vatNumber { get; set; } = "";
|
|
private string _entityName { get; set; } = "";
|
|
|
|
protected override Task OnParametersSetAsync() {
|
|
_vatAddress = VatAddress;
|
|
_entityName = EntityName;
|
|
_vatNumber = VatNumber;
|
|
return base.OnParametersSetAsync();
|
|
}
|
|
|
|
private void SelectCompany(string vatNumber, bool syncAll)
|
|
{
|
|
CompanyRegInfo = VatInfos.First(x => x.VatNumber == vatNumber);
|
|
CompanyRegInfo.SyncAll = syncAll;
|
|
Logger.LogDebug($"VatLookupModal => SelectCompany => {JsonSerializer.Serialize(CompanyRegInfo)}");
|
|
OnSelectedCompany.InvokeAsync(CompanyRegInfo);
|
|
Hide();
|
|
}
|
|
|
|
private async Task GetInfoFromAddress(VatAddress address)
|
|
{
|
|
Toaster.ShowInfo("Vent for adresse info ...");
|
|
VatInfos = await VatService.QueryVirkRegistry(
|
|
new VirkParams
|
|
{
|
|
StreetName = address.StreetName,
|
|
HouseNumber = address.HouseNumber,
|
|
ZipCode = address.ZipCode
|
|
});
|
|
if (!VatInfos.Any())
|
|
{
|
|
Toaster.ShowWarning($"Ingen data fundet ...");
|
|
}
|
|
}
|
|
|
|
private async Task GetInfoFromVat(string vatNumber)
|
|
{
|
|
Toaster.ShowInfo("Vent for firma info ...");
|
|
VatInfos = await VatService
|
|
.QueryVirkRegistry(new VirkParams {VatNumber = vatNumber});
|
|
if (!VatInfos.Any())
|
|
{
|
|
Toaster.ShowError($"Firma med CVR '{vatNumber}' findes ikke.");
|
|
}
|
|
}
|
|
|
|
private async Task GetInfoFromName(string entityName)
|
|
{
|
|
Toaster.ShowInfo("Vent for firma info ...");
|
|
VatInfos = await VatService
|
|
.QueryVirkRegistry(new VirkParams {EntityName = entityName});
|
|
if (!VatInfos.Any())
|
|
{
|
|
Toaster.ShowError($"Firma med navn '{entityName}' findes ikke.");
|
|
}
|
|
}
|
|
|
|
public void Show()
|
|
{
|
|
_modalDisplay = "block;";
|
|
_showBackdrop = true;
|
|
StateHasChanged();
|
|
}
|
|
|
|
private void Hide()
|
|
{
|
|
_modalDisplay = "none;";
|
|
_showBackdrop = false;
|
|
StateHasChanged();
|
|
}
|
|
} |