wip - working on transfer draft to company validate vat number

This commit is contained in:
Frede Hundewadt 2022-03-16 06:38:55 +01:00
parent bfb3b10019
commit b7adab357c
17 changed files with 90 additions and 62 deletions

View file

@ -16,10 +16,10 @@
*@
<div class="row p-2 mb-1 border-bottom">
<div class="col-sm-1">Status</div>
<div class="col-sm-1"></div>
<div class="col-sm-4">Navn</div>
<div class="col-sm-2">Konto</div>
<div class="col-sm-4">Bynavn</div>
<div class="col-sm-1"><i class="oi oi-info"></i></div>
<div class="col-sm-1"></div>
</div>

View file

@ -15,15 +15,11 @@
//
*@
<div class="row">
<div class="col">
@if (string.IsNullOrEmpty(VatNumber))
{
<i class="text-primary oi oi- oi-question-mark"></i>
}
else
{
<i class="@(CurrentRegState == "NORMAL" ? "text-success oi oi-check" : "text-warning oi oi-warning" )"></i>
}
</div>
</div>
@if (string.IsNullOrEmpty(VatNumber))
{
<div class="state rounded-circle mx-3 alert alert-info"></div>
}
else
{
<div class="state rounded-circle mx-3 alert @(CurrentRegState == "NORMAL" ? "alert-success" : "alert-danger" )"></div>
}

View file

@ -1 +1,5 @@

.state {
max-width: 16px;
max-height: 16px;
float: left;
}

View file

@ -54,7 +54,7 @@ public class CompanyHttpRepository : ICompanyHttpRepository
_apiConfig = apiConfig.Value;
}
public async Task<PagingResponse<CompanyDto>> GetCompanies(PagingParams pagingParameters)
public async Task<PagingResponse<CompanyDto>> GetCompaniesPaged(PagingParams pagingParameters)
{
var queryString = new Dictionary<string, string>
{
@ -81,21 +81,21 @@ public class CompanyHttpRepository : ICompanyHttpRepository
public async Task<CompanyDto> GetCompanyByAccount(string accountNumber)
{
var company = await _client.GetFromJsonAsync<CompanyDto>(
$"{_apiConfig.CrmCompanies}/account/{accountNumber}");
$"{_apiConfig.CrmCompanies}/get/account/{accountNumber}");
return company ?? new CompanyDto();
}
public async Task<CompanyDto> GetCompanyById(string companyId)
{
var company = await _client.GetFromJsonAsync<CompanyDto>(
$"{_apiConfig.CrmCompanies}/id/{companyId}");
$"{_apiConfig.CrmCompanies}/get/id/{companyId}");
return company ?? new CompanyDto();
}
public async Task<string> CreateCompany(CompanyDto companyDto)
{
var response = await _client.PostAsJsonAsync(
$"{_apiConfig.CrmCompanies}", companyDto);
$"{_apiConfig.CrmCompanies}/post", companyDto);
var content = await response.Content.ReadAsStringAsync();
var result = JsonSerializer.Deserialize<CompanyDto>(content);
return result.CompanyId;
@ -104,12 +104,12 @@ public class CompanyHttpRepository : ICompanyHttpRepository
public async Task UpdateCompany(CompanyDto companyDto)
{
await _client.PutAsJsonAsync(
$"{_apiConfig.CrmCompanies}/{companyDto.CompanyId}", companyDto);
$"{_apiConfig.CrmCompanies}/put/id/{companyDto.CompanyId}", companyDto);
}
public async Task DeleteCompany(string companyId)
{
await _client.DeleteAsync(
$"{_apiConfig.CrmCompanies}/{companyId}");
$"{_apiConfig.CrmCompanies}/delete/id/{companyId}");
}
}

View file

@ -22,7 +22,7 @@ namespace Wonky.Client.HttpRepository;
public interface ICompanyHttpRepository
{
Task<PagingResponse<CompanyDto>> GetCompanies(PagingParams pagingParameters);
Task<PagingResponse<CompanyDto>> GetCompaniesPaged(PagingParams pagingParameters);
Task<CompanyDto> GetCompanyByAccount(string accountNumber);
Task<CompanyDto> GetCompanyById(string companyId);
Task<string> CreateCompany(CompanyDto companyDto);

View file

@ -22,6 +22,6 @@ namespace Wonky.Client.HttpRepository;
public interface ISalesItemHttpRepository
{
Task<PagingResponse<SalesItemDto>> GetSalesItems(PagingParams pagingParameters);
Task<PagingResponse<SalesItemDto>> GetSalesItemsPaged(PagingParams pagingParameters);
Task<SalesItemDto> GetSalesItem(string id);
}

View file

@ -51,7 +51,7 @@ public class SalesItemHttpRepository : ISalesItemHttpRepository
_apiConfig = configuration.Value;
}
public async Task<PagingResponse<SalesItemDto>> GetSalesItems(PagingParams pagingParameters)
public async Task<PagingResponse<SalesItemDto>> GetSalesItemsPaged(PagingParams pagingParameters)
{
var queryString = new Dictionary<string, string>
{

View file

@ -52,7 +52,7 @@ namespace Wonky.Client.Pages
private async Task GetCompanies()
{
var pagingResponse = await CompanyRepo.GetCompanies(_paging);
var pagingResponse = await CompanyRepo.GetCompaniesPaged(_paging);
Companies = pagingResponse.Items;
MetaData = pagingResponse.MetaData;
}

View file

@ -23,44 +23,49 @@
<div class="card">
<div class="card-body">
<div class="card-header"><RegStateVatNumber VatNumber="@CompanyDto.VatNumber"/>@CompanyDto.Name</div>
<table class="table table-striped table-bordered">
<div class="h3 card-header"><RegStateVatNumber VatNumber="@CompanyDto.VatNumber"/>@CompanyDto.Name</div>
<table class="table table-sm table-striped table-bordered">
<tbody>
<tr>
<th scope="col">CVR</th>
<th scope="col">Telefon</th>
<th scope="col">Email</th>
<th scope="row">Navn</th>
<td>@CompanyDto.Name</td>
</tr>
<tr>
<th scope="row">CO navn</th>
<td>@CompanyDto.Address1</td>
</tr>
<tr>
<th scope="row">Adresse</th>
<td>@CompanyDto.Address2</td>
</tr>
<tr>
<th scope="row">Postnummer</th>
<td>@CompanyDto.ZipCode</td>
</tr>
<tr>
<th scope="row">Postnummer</th>
<td>@CompanyDto.City</td>
</tr>
<tr>
<th scope="row">CVR</th>
<td>@CompanyDto.VatNumber</td>
</tr>
<tr>
<th scope="row">Telefon</th>
<td>@CompanyDto.Phone</td>
</tr>
<tr>
<th scope="row">Email</th>
<td>@CompanyDto.Email</td>
</tr>
<tr>
<th scope="row">Navn</th>
<td colspan="2">@CompanyDto.Name</td>
<th scope="row">Sidste besøg</th>
<td>@CompanyDto.LastVisit</td>
</tr>
<tr>
<th scope="row">Adresse</th>
<td colspan="2">@CompanyDto.Address1</td>
</tr>
<tr>
<th scope="row">Adresse</th>
<td colspan="2">@CompanyDto.Address2</td>
</tr>
<tr>
<th scope="row">Post By</th>
<td colspan="2">@CompanyDto.ZipCode @CompanyDto.City</td>
</tr>
<tr>
<th scope="col">Interval</th>
<th scope="col">Sidste besøg</th>
<th scope="col">Næste besøg</th>
</tr>
<tr>
<td>@CompanyDto.Interval</td>
<td>@($"{CompanyDto.LastVisitDate:yy-MM-dd}")</td>
<td>@($"{CompanyDto.NextVisitDate:yy-MM-dd}")</td>
<th scope="row">Næste besøg</th>
<td>@CompanyDto.NextVisit</td>
</tr>
</tbody>
</table>

View file

@ -0,0 +1,3 @@
th {
width: 200px;
}

View file

@ -33,7 +33,7 @@ public partial class DraftDocument : IDisposable
}
private async Task GetSalesItems()
{
var response = await ItemRepo.GetSalesItems(_paging);
var response = await ItemRepo.GetSalesItemsPaged(_paging);
SalesItems = response.Items!;
_meta = response.MetaData;
}

View file

@ -14,7 +14,7 @@
// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html]
//
*@
@using Wonky.Client.Components
@page "/login/{returnUrl?}"
<h3>Login</h3>
@ -48,7 +48,11 @@
</div>
<div class="row">
<div class="col-md-12 text-right">
<button type="submit" class="btn btn-success" disabled=@execLogin >Login</button>
<button type="submit" class="btn btn-success" disabled="@execLogin" >Login</button>
</div>
</div>
</EditForm>
</EditForm>
@if (execLogin)
{
<AppSpinner/>
}

View file

@ -32,7 +32,7 @@ public partial class Login
[Parameter] public string ReturnUrl { get; set; } = "";
private bool ShowAuthError { get; set; }
private string? Error { get; set; }
private bool execLogin;
private bool execLogin = false;
private async Task ExecuteLogin()
{

View file

@ -118,7 +118,7 @@ public partial class PurchaseOrderCreate : IDisposable
{
if (SalesItemRepo != null)
{
var pagingResponse = await SalesItemRepo.GetSalesItems(_paging);
var pagingResponse = await SalesItemRepo.GetSalesItemsPaged(_paging);
SalesItemList = pagingResponse.Items;
MetaData = pagingResponse.MetaData;
}

View file

@ -47,7 +47,7 @@ public partial class SalesItemCatalog : IDisposable
private async Task GetSalesItems()
{
var pagingResponse = await SalesItemRepo.GetSalesItems(_paging);
var pagingResponse = await SalesItemRepo.GetSalesItemsPaged(_paging);
SalesItemList = pagingResponse.Items!;
MetaData = pagingResponse.MetaData;
}

View file

@ -1 +0,0 @@
../../../appsettings.json

View file

@ -0,0 +1,17 @@
{
"Logging": {
"LogLevel": {
"Default": "Debug",
"System": "Debug",
"Microsoft": "Information"
}
},
"apiConfig": {
"baseAddress": "https://api.innotec.dk",
"tokenPath": "token",
"userInfo": "api/auth/userinfo",
"crmCompanies": "api/v2/crm/companies",
"priceCatalog": "api/v2/crm/catalog",
"cvrLookup": "/api/v2/services/virk"
}
}

View file

@ -35,7 +35,7 @@ public class CompanyDto
public string Mobile { get; set; } = "";
public string Email { get; set; } = "";
public string Attention { get; set; } = "";
public string LastVisitDate { get; set; } = "";
public string NextVisitDate { get; set; } = "";
public string LastVisit { get; set; } = "";
public string NextVisit { get; set; } = "";
public int Interval { get; set; } = 12;
}