code quality cleanup - refactor onclick events - added demo to kanvas visit

This commit is contained in:
Frede Hundewadt 2023-05-08 09:26:50 +02:00
parent 6aa1df56a3
commit f691f020d2
74 changed files with 261 additions and 210 deletions

View file

@ -33,7 +33,7 @@
<tbody> <tbody>
@foreach (var company in CompanyList) @foreach (var company in CompanyList)
{ {
<tr @onclick="() => { ViewCustomer(company.CompanyId); }" style="cursor: pointer"> <tr onclick="@(() => { ViewCustomer(company.CompanyId); })" style="cursor: pointer">
<td class="state align-middle"> <td class="state align-middle">
<DisplayStateComponent StateClass="@(company.HasFolded == 1 ? "the-dead" : Utils.GetVisitState(company.NextVisit))"/> <DisplayStateComponent StateClass="@(company.HasFolded == 1 ? "the-dead" : Utils.GetVisitState(company.NextVisit))"/>
</td> </td>

View file

@ -37,7 +37,7 @@
{ {
@foreach (var activity in Activities) @foreach (var activity in Activities)
{ {
<div class="list-group-item list-group-item-action" style="cursor: pointer" @onclick="() => ShowVisitOverlay(activity.ActivityId)"> <div class="list-group-item list-group-item-action" style="cursor: pointer" onclick="@(() => ShowVisitOverlay(activity.ActivityId))">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
@activity.OrderDate @activity.OrderDate

View file

@ -23,9 +23,9 @@
<div class="list-group mt-2"> <div class="list-group mt-2">
<div class="list-group-item d-print-none"> <div class="list-group-item d-print-none">
<div class="row"> <div class="row">
<div class="col-sm-4" style="cursor: pointer;" @onclick="() => SortProducts(ProductSort.Desc)"><i class="bi-sort-alpha-down"></i> Navn <i class="bi-sort-alpha-up-alt"></i></div> <div class="col-sm-4" style="cursor: pointer;" onclick="@(() => SortProducts(ProductSort.Desc))"><i class="bi-sort-alpha-down"></i> Navn <i class="bi-sort-alpha-up-alt"></i></div>
<div class="col-sm-3" style="cursor: pointer;" @onclick="() => SortProducts(ProductSort.Sku)"><i class="bi-sort-alpha-down"></i> Varenr <i class="bi-sort-alpha-up-alt"></i></div> <div class="col-sm-3" style="cursor: pointer;" onclick="@(() => SortProducts(ProductSort.Sku))"><i class="bi-sort-alpha-down"></i> Varenr <i class="bi-sort-alpha-up-alt"></i></div>
<div class="col-sm-2 text-center" style="cursor: pointer;" @onclick="() => SortProducts(ProductSort.Qty)"><i class="bi-sort-numeric-down"></i> Antal <i class="bi-sort-numeric-up-alt"></i></div> <div class="col-sm-2 text-center" style="cursor: pointer;" onclick="@(() => SortProducts(ProductSort.Qty))"><i class="bi-sort-numeric-down"></i> Antal <i class="bi-sort-numeric-up-alt"></i></div>
<div class="col-sm-2"></div> <div class="col-sm-2"></div>
<div class="col-sm-1"></div> <div class="col-sm-1"></div>
</div> </div>
@ -51,9 +51,9 @@
@product.Quantity @product.Quantity
</div> </div>
<div class="col-sm-2 d-print-none"> <div class="col-sm-2 d-print-none">
<a class="btn btn-info d-block" type="button" @onclick="() => CallShowReorderModal(product.Sku)"><i class="bi-cart"></i> Genbestil</a> <button type="button" class="btn btn-info d-block" onclick="@(() => CallShowReorderModal(product.Sku))"><i class="bi-cart"></i> Genbestil</button>
</div> </div>
<div class="col-sm-1 d-print-none" @onclick="() => ProductCheck(product.Sku)"> <div class="col-sm-1 d-print-none" onclick="@(() => ProductCheck(product.Sku))">
<input type="checkbox" class="btn-check" id="btn-@product.Sku.Replace(",", "")" autocomplete="off"/> <input type="checkbox" class="btn-check" id="btn-@product.Sku.Replace(",", "")" autocomplete="off"/>
@if (product.Check) @if (product.Check)
{ {

View file

@ -39,7 +39,7 @@
</div> </div>
@foreach (var invoice in InvoiceList) @foreach (var invoice in InvoiceList)
{ {
<div class="list-group-item list-group-item-action" @onclick="() => ShowInvoice(invoice.ArchiveHeadId)"> <div class="list-group-item list-group-item-action" onclick="@(() => ShowInvoice(invoice.ArchiveHeadId))">
<div class="row"> <div class="row">
<div class="col-md-2">@invoice.DocumentDate</div> <div class="col-md-2">@invoice.DocumentDate</div>
<div class="col-md-2">@invoice.DocumentNumber</div> <div class="col-md-2">@invoice.DocumentNumber</div>

View file

@ -22,9 +22,9 @@
<div class="list-group mt-2"> <div class="list-group mt-2">
<div class="list-group-item"> <div class="list-group-item">
<div class="row"> <div class="row">
<div class="col-sm-4" style="cursor: pointer;" @onclick="() => SortProducts(ProductSort.Desc)"><i class="bi-sort-alpha-down"></i> Navn <i class="bi-sort-alpha-up-alt"></i></div> <div class="col-sm-4" style="cursor: pointer;" onclick="@(() => SortProducts(ProductSort.Desc))"><i class="bi-sort-alpha-down"></i> Navn <i class="bi-sort-alpha-up-alt"></i></div>
<div class="col-sm-3" style="cursor: pointer;" @onclick="() => SortProducts(ProductSort.Sku)"><i class="bi-sort-alpha-down"></i> Varenr <i class="bi-sort-alpha-up-alt"></i></div> <div class="col-sm-3" style="cursor: pointer;" onclick="@(() => SortProducts(ProductSort.Sku))"><i class="bi-sort-alpha-down"></i> Varenr <i class="bi-sort-alpha-up-alt"></i></div>
<div class="col-sm-2 text-center" style="cursor: pointer;" @onclick="() => SortProducts(ProductSort.Qty)"><i class="bi-sort-numeric-down"></i> Antal <i class="bi-sort-numeric-up-alt"></i></div> <div class="col-sm-2 text-center" style="cursor: pointer;" onclick="@(() => SortProducts(ProductSort.Qty))"><i class="bi-sort-numeric-down"></i> Antal <i class="bi-sort-numeric-up-alt"></i></div>
<div class="col-sm-2"></div> <div class="col-sm-2"></div>
<div class="col-sm-1"></div> <div class="col-sm-1"></div>
</div> </div>
@ -44,7 +44,7 @@
</div> </div>
<div class="col-sm-2"> <div class="col-sm-2">
</div> </div>
<div class="col-sm-1" @onclick="() => ProductCheck(product.Sku)"> <div class="col-sm-1" onclick="@(() => ProductCheck(product.Sku))">
<input type="checkbox" class="btn-check" id="btn-@product.Sku.Replace(",", "")" autocomplete="off"/> <input type="checkbox" class="btn-check" id="btn-@product.Sku.Replace(",", "")" autocomplete="off"/>
@if (product.Check) @if (product.Check)
{ {

View file

@ -51,13 +51,13 @@
<div class="card-footer"> <div class="card-footer">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<button class="btn btn-danger" @onclick="() => ShowInvoiceList(company.CompanyId)" >Faktura</button> <button class="btn btn-danger" onclick="@(() => ShowInvoiceList(company.CompanyId))" >Faktura</button>
</div> </div>
<div class="col"> <div class="col">
<button class="btn btn-warning" @onclick="() => ShowActivityList(company.CompanyId)" >Aktivitet</button> <button class="btn btn-warning" onclick="@(() => ShowActivityList(company.CompanyId))" >Aktivitet</button>
</div> </div>
<div class="col"> <div class="col">
<button class="btn btn-success" @onclick="() => ShowInventory(company.CompanyId)">Produkt</button> <button class="btn btn-success" onclick="@(() => ShowInventory(company.CompanyId))">Produkt</button>
</div> </div>
<div class="col"> <div class="col">
<a class="btn btn-primary" href="/office/customers/@company.CountryCode.ToLower()/@company.CompanyId/order" >Bestilling</a> <a class="btn btn-primary" href="/office/customers/@company.CountryCode.ToLower()/@company.CompanyId/order" >Bestilling</a>

View file

@ -38,7 +38,7 @@
{ {
@foreach (var activity in Activities) @foreach (var activity in Activities)
{ {
<div class="list-group-item list-group-item-action" style="cursor: pointer" @onclick="() => ShowVisitOverlay(activity.ActivityId)"> <div class="list-group-item list-group-item-action" style="cursor: pointer" onclick="@(() => ShowVisitOverlay(activity.ActivityId))">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
@activity.OrderDate @activity.OrderDate

View file

@ -24,9 +24,9 @@
<div class="list-group mt-2"> <div class="list-group mt-2">
<div class="list-group-item"> <div class="list-group-item">
<div class="row"> <div class="row">
<div class="col-sm-4" style="cursor: pointer;" @onclick="() => SortProducts(ProductSort.Desc)"><i class="bi-sort-alpha-down"></i> Navn <i class="bi-sort-alpha-up-alt"></i></div> <div class="col-sm-4" style="cursor: pointer;" onclick="@(() => SortProducts(ProductSort.Desc))"><i class="bi-sort-alpha-down"></i> Navn <i class="bi-sort-alpha-up-alt"></i></div>
<div class="col-sm-3" style="cursor: pointer;" @onclick="() => SortProducts(ProductSort.Sku)"><i class="bi-sort-alpha-down"></i> Varenr <i class="bi-sort-alpha-up-alt"></i></div> <div class="col-sm-3" style="cursor: pointer;" onclick="@(() => SortProducts(ProductSort.Sku))"><i class="bi-sort-alpha-down"></i> Varenr <i class="bi-sort-alpha-up-alt"></i></div>
<div class="col-sm-2 text-center" style="cursor: pointer;" @onclick="() => SortProducts(ProductSort.Qty)"><i class="bi-sort-numeric-down"></i> Antal <i class="bi-sort-numeric-up-alt"></i></div> <div class="col-sm-2 text-center" style="cursor: pointer;" onclick="@(() => SortProducts(ProductSort.Qty))"><i class="bi-sort-numeric-down"></i> Antal <i class="bi-sort-numeric-up-alt"></i></div>
<div class="col-sm-2"></div> <div class="col-sm-2"></div>
<div class="col-sm-1"></div> <div class="col-sm-1"></div>
</div> </div>
@ -52,7 +52,7 @@
@product.Quantity @product.Quantity
</div> </div>
<div class="col-sm-3"> <div class="col-sm-3">
<a class="btn btn-info d-block" type="button" @onclick="() => CallShowReorderModal(product.Sku)"><i class="bi-cart"></i> Genbestil</a> <button class="btn btn-info d-block" type="button" onclick="@(() => CallShowReorderModal(product.Sku))"><i class="bi-cart"></i> Genbestil</button>
</div> </div>
</div> </div>
</div> </div>

View file

@ -14,7 +14,7 @@
*@ *@
<select class="form-select bg-info text-bg-info" @bind-value="@PageSize" @bind-value:event="oninput" @onchange="OnSelectChanged"> <select class="form-select bg-info text-bg-info" @bind-value="PageSize" @bind-value:event="oninput" @onchange="OnSelectChanged">
<option value="-1" selected disabled>ANTAL svar</option> <option value="-1" selected disabled>ANTAL svar</option>
<option value="5">5 svar</option> <option value="5">5 svar</option>
<option value="10">10 svar</option> <option value="10">10 svar</option>

View file

@ -18,7 +18,7 @@
<ul class="pagination justify-content-center"> <ul class="pagination justify-content-center">
@foreach (var link in Links) @foreach (var link in Links)
{ {
<li @onclick="() => OnSelectedPage(link)" style="cursor: pointer" <li onclick="@(() => OnSelectedPage(link))" style="cursor: pointer"
class="page-item @(link.Enabled ? null : "disabled") class="page-item @(link.Enabled ? null : "disabled")
@(link.Active ? "active" : null)"> @(link.Active ? "active" : null)">
<span class="page-link" href="#">@link.Text</span> <span class="page-link" href="#">@link.Text</span>

View file

@ -18,7 +18,7 @@
<ul class="pagination justify-content-center"> <ul class="pagination justify-content-center">
@foreach (var link in Links) @foreach (var link in Links)
{ {
<li @onclick="() => OnSelectedPage(link)" style="cursor: pointer" <li onclick="@(() => OnSelectedPage(link))" style="cursor: pointer"
class="page-item @(link.Enabled ? null : "disabled") class="page-item @(link.Enabled ? null : "disabled")
@(link.Active ? "active" : null)"> @(link.Active ? "active" : null)">
<span class="page-link" href="#">@link.Text</span> <span class="page-link" href="#">@link.Text</span>

View file

@ -52,18 +52,18 @@
@quote.OrderDate @quote.OrderDate
</div> </div>
<div class="col-sm-3"> <div class="col-sm-3">
<button type="button" class="btn btn-outline-dark me-2" @onclick="() => SetQuote(quote.ESalesNumber, QuoteStatus.Lose)"> <button type="button" class="btn btn-outline-dark me-2" onclick="@(() => SetQuote(quote.ESalesNumber, QuoteStatus.Lose))">
<i class="bi-trash-fill"></i> <i class="bi-trash-fill"></i>
</button> </button>
<button type="button" class="btn btn-outline-dark me-2" @onclick="() => SetQuote(quote.ESalesNumber, QuoteStatus.Archive)"> <button type="button" class="btn btn-outline-dark me-2" onclick="@(() => SetQuote(quote.ESalesNumber, QuoteStatus.Archive))">
<i class="bi-archive-fill"></i> <i class="bi-archive-fill"></i>
</button> </button>
<button type="button" class="btn btn-outline-dark me-2" @onclick="() => SetQuote(quote.ESalesNumber, QuoteStatus.Note)"> <button type="button" class="btn btn-outline-dark me-2" onclick="@(() => SetQuote(quote.ESalesNumber, QuoteStatus.Note))">
<i class="bi-tag-fill"></i> <i class="bi-tag-fill"></i>
</button> </button>
@if (quote.QuoteStatusEnum == "None") @if (quote.QuoteStatusEnum == "None")
{ {
<button type="button" class="btn btn-success" @onclick="() => SetQuote(quote.ESalesNumber, QuoteStatus.Order)"> <button type="button" class="btn btn-success" onclick="@(() => SetQuote(quote.ESalesNumber, QuoteStatus.Order))">
<i class="bi-cart-fill"></i> <i class="bi-cart-fill"></i>
</button> </button>
} }

View file

@ -15,7 +15,7 @@
@using Wonky.Entity.Views @using Wonky.Entity.Views
<button type="button" aria-role="navigation" class="list-group-item list-group-item-action" style="cursor: pointer" @onclick="ShowReport"> <button type="button" aria-role="navigation" class="list-group-item list-group-item-action" style="cursor: pointer" onclick="@(ShowReport)">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
@Report.ReportDate @Report.ReportDate

View file

@ -38,13 +38,13 @@
@foreach (var activity in ActivityList) @foreach (var activity in ActivityList)
{ {
<tr class="border-bottom"> <tr class="border-bottom">
<td class="align-middle d-grid"><button aria-role="navigation" class="btn btn-info" @onclick="() => ShowDocument(activity.ActivityId)">@activity.Company.Name</button></td> <td class="align-middle d-grid"><button aria-role="navigation" class="btn btn-info" onclick="@(() => ShowDocument(activity.ActivityId))">@activity.Company.Name</button></td>
<td class="align-middle">@activity.Company.City</td> <td class="align-middle">@activity.Company.City</td>
<td class="align-middle">@activity.Demo</td> <td class="align-middle">@activity.Demo</td>
<td class="align-middle">@activity.Sales</td> <td class="align-middle">@activity.Sales</td>
<td class="align-middle fw-bold">@activity.OfficeNote</td> <td class="align-middle fw-bold">@activity.OfficeNote</td>
<td class="align-middle text-end">@($"{activity.SasAmount:N2}")</td> <td class="align-middle text-end">@($"{activity.SasAmount:N2}")</td>
<td class="align-middle text-end">@(activity.StatusTypeEnum == "Quote" ? $"{0:N2}" : $"{activity.OrderAmount:N2}")</td> <td class="align-middle text-end">@(activity.StatusTypeEnum == "Quote" ? "{0:N2}" : $"{activity.OrderAmount:N2}")</td>
<td class="align-middle text-center"> <td class="align-middle text-center">
@if (activity.OurRef.Contains("T:")) @if (activity.OurRef.Contains("T:"))
{<i style="font-size:1.3em;" class="bi-phone"></i>} {<i style="font-size:1.3em;" class="bi-phone"></i>}

View file

@ -13,7 +13,7 @@
// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html] // along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html]
*@ *@
<select class="form-select bg-warning text-bg-warning" @bind-value="@SearchCol" @bind-value:event="oninput" @onchange="OnSelectChanged"> <select class="form-select bg-warning text-bg-warning" @bind-value="SearchCol" @bind-value:event="oninput" @onchange="OnSelectChanged">
<option value="-1" selected disabled>SØGNING</option> <option value="-1" selected disabled>SØGNING</option>
<option value="name">Navn</option> <option value="name">Navn</option>
<option value="sku">Nummer</option> <option value="sku">Nummer</option>

View file

@ -15,7 +15,7 @@
<div class="input-group"> <div class="input-group">
<input id="search-input" type="text" class="form-control" placeholder="Søg ..." aria-described-by="search-addon" <input id="search-input" type="text" class="form-control" placeholder="Søg ..." aria-described-by="search-addon"
@bind-value="@SearchTerm" @bind-value:event="oninput" @onkeyup="OnSearchChanged" /> @bind-value="SearchTerm" @bind-value:event="oninput" onkeyup="@OnSearchChanged" />
<span class="input-group-text" id="search-addon"><i class="oi oi-delete" @onclick="ClearSearch"></i></span> <span class="input-group-text" id="search-addon"><i class="oi oi-delete" onclick="@ClearSearch"></i></span>
</div> </div>

View file

@ -13,7 +13,7 @@
// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html] // along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html]
*@ *@
<select class="form-select bg-success text-bg-success" @bind-value="@SortCol" @bind-value:event="oninput" @onchange="OnSelectChanged"> <select class="form-select bg-success text-bg-success" @bind-value="SortCol" @bind-value:event="oninput" @onchange="OnSelectChanged">
<option value="-1" selected disabled>SORTERING</option> <option value="-1" selected disabled>SORTERING</option>
<option value="name">Navn</option> <option value="name">Navn</option>
<option value="sku">Varenr</option> <option value="sku">Varenr</option>

View file

@ -13,7 +13,7 @@
// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html] // along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html]
*@ *@
<select class="form-select bg-warning text-bg-warning" @bind-value="@SearchCol" @bind-value:event="oninput" @onchange="OnSelectionChanged"> <select class="form-select bg-warning text-bg-warning" @bind-value="SearchCol" @bind-value:event="oninput" @onchange="OnSelectionChanged">
<option value="-1" disabled>SØGNING</option> <option value="-1" disabled>SØGNING</option>
<option value="name">Navn</option> <option value="name">Navn</option>
<option value="city">Bynavn</option> <option value="city">Bynavn</option>

View file

@ -16,7 +16,7 @@
<div class="input-group"> <div class="input-group">
<input id="search-input" type="text" class="form-control" placeholder="Søg ..." aria-described-by="search-addon" <input id="search-input" type="text" class="form-control" placeholder="Søg ..." aria-described-by="search-addon"
@bind-value="@SearchTerm" @bind-value:event="oninput" @onkeyup="OnSearchChanged" /> @bind-value="SearchTerm" @bind-value:event="oninput" @onkeyup="OnSearchChanged" />
<span class="input-group-text" id="search-addon"><i class="oi oi-delete" @onclick="ClearSearch"></i></span> <button class="input-group-text" id="search-addon"><i class="oi oi-delete" onclick="@ClearSearch"></i></button>
</div> </div>

View file

@ -14,7 +14,7 @@
*@ *@
<select class="form-select bg-success text-bg-success" @bind-value="@SortCol" @bind-value:event="oninput" @onchange="OnSelectionChanged"> <select class="form-select bg-success text-bg-success" @bind-value="SortCol" @bind-value:event="oninput" @onchange="OnSelectionChanged">
<option value="-1" selected disabled>SORTERING</option> <option value="-1" selected disabled>SORTERING</option>
<option value="name">Firma</option> <option value="name">Firma</option>
<option value="city">Bynavn</option> <option value="city">Bynavn</option>

View file

@ -50,12 +50,12 @@
</a> </a>
</td> </td>
<td class="align-middle"> <td class="align-middle">
<button type="button" class="btn btn-light border-dark" @onclick="() => CallConfirmationModal(task.TaskItemId)"> <button type="button" class="btn btn-light border-dark" onclick="@(() => CallConfirmationModal(task.TaskItemId))">
<i class="oi oi-circle-x"></i> <i class="oi oi-circle-x"></i>
</button> </button>
</td> </td>
<td class="align-middle"> <td class="align-middle">
<button type="button" class="btn btn-light border-dark" @onclick="() => TaskCompleted(task.TaskItemId)"> <button type="button" class="btn btn-light border-dark" onclick="@(() => TaskCompleted(task.TaskItemId))">
<i class="oi oi-check"></i> <i class="oi oi-check"></i>
</button> </button>
</td> </td>
@ -70,7 +70,7 @@
<td class="align-middle"> <td class="align-middle">
@if (task.TaskTypeEnum is "Recall") @if (task.TaskTypeEnum is "Recall")
{ {
<button type="button" class="btn btn-primary" @onclick="() => CompleteTask(task.TaskItemId)"> <button type="button" class="btn btn-primary" onclick="@(() => CompleteTask(task.TaskItemId))">
<i class="oi oi-map-marker"></i> <i class="oi oi-map-marker"></i>
</button> </button>
} }

View file

@ -33,7 +33,7 @@
<ValidationMessage For="@(() => Address.ZipCode)"/> <ValidationMessage For="@(() => Address.ZipCode)"/>
</div> </div>
<div class="col-sm-2 text-end"> <div class="col-sm-2 text-end">
<button class="btn btn-primary" type="button" @onclick="SubmitForm">HENT</button> <button class="btn btn-primary" type="button" onclick="@SubmitForm">HENT</button>
</div> </div>
</div> </div>
</EditForm> </EditForm>

View file

@ -23,7 +23,7 @@
<ValidationMessage For="@(() => ThisCompanyName)"/> <ValidationMessage For="@(() => ThisCompanyName)"/>
</div> </div>
<div class="col-sm-2 text-end"> <div class="col-sm-2 text-end">
<button class="btn btn-primary" type="button" @onclick="SubmitForm">HENT</button> <button class="btn btn-primary" type="button" onclick="@SubmitForm">HENT</button>
</div> </div>
</div> </div>
</EditForm> </EditForm>

View file

@ -24,7 +24,7 @@
</div> </div>
<div class="col-sm-6"></div> <div class="col-sm-6"></div>
<div class="col-sm-2 text-end"> <div class="col-sm-2 text-end">
<button class="btn btn-primary" type="button" @onclick="SubmitForm">HENT</button> <button class="btn btn-primary" type="button" onclick="@SubmitForm">HENT</button>
</div> </div>
</div> </div>
</EditForm> </EditForm>

View file

@ -42,7 +42,7 @@
<div class="col-sm-4 text-end"> <div class="col-sm-4 text-end">
@if (ReadyToShip && Orders.Any()) @if (ReadyToShip && Orders.Any())
{ {
<button type="button" class="btn btn-primary text-sm-center" @onclick="SetShipStatus">Sæt alle afsendt</button> <button type="button" class="btn btn-primary text-sm-center" onclick="@SetShipStatus">Sæt alle afsendt</button>
} }
</div> </div>
</div> </div>
@ -84,7 +84,7 @@
@switch (order.ProcessStatusEnum.ToLower()) @switch (order.ProcessStatusEnum.ToLower())
{ {
case "none": case "none":
<button class="btn btn-outline-danger me-4" @onclick="() => QuickPak(order.OrderId)">QuickPak</button> <button class="btn btn-outline-danger me-4" onclick="@(() => QuickPak(order.OrderId))">QuickPak</button>
<a class="btn btn-warning" href="warehouse/orders/process/@order.OrderId">Pluk varer</a> <a class="btn btn-warning" href="warehouse/orders/process/@order.OrderId">Pluk varer</a>
break; break;
case "picked": case "picked":

View file

@ -72,7 +72,7 @@ public class AuthenticationService : IAuthenticationService
if (!response.IsSuccessStatusCode) if (!response.IsSuccessStatusCode)
return new AuthResponseView return new AuthResponseView
{ {
IsSuccess = false, ErrorMessage = $"Kontroller indtastning" IsSuccess = false, ErrorMessage = "Kontroller indtastning"
}; };
// process response content // process response content
@ -99,20 +99,31 @@ public class AuthenticationService : IAuthenticationService
public async Task<string> RefreshToken() public async Task<string> RefreshToken()
{ {
var refreshToken = await _infoService.GetRefreshToken(); var refreshToken = await _infoService.GetRefreshToken();
await Task.Delay(250);
if (string.IsNullOrWhiteSpace(refreshToken))
{
return string.Empty;
}
var credentials = new Dictionary<string, string> var credentials = new Dictionary<string, string>
{ {
["grant_type"] = "refresh_token", ["grant_type"] = "refresh_token",
["refresh_token"] = refreshToken ["refresh_token"] = refreshToken
}; };
var response = await _client.PostAsync(_apiConfig.Value.ServicesAuth, new FormUrlEncodedContent(credentials));
if (!response.IsSuccessStatusCode)
return string.Empty;
var resContent = await response.Content.ReadAsStringAsync(); var response = await _client.PostAsync(_apiConfig.Value.ServicesAuth, new FormUrlEncodedContent(credentials));
var data = JsonSerializer.Deserialize<AuthResponseView>(resContent, _options); var content = await response.Content.ReadAsStringAsync();
if (!response.IsSuccessStatusCode || string.IsNullOrWhiteSpace(content))
{
return string.Empty;
}
var data = JsonSerializer.Deserialize<AuthResponseView>(content, _options);
if (string.IsNullOrWhiteSpace(data.AccessToken)) if (string.IsNullOrWhiteSpace(data.AccessToken))
{
return string.Empty; return string.Empty;
}
// set default request headers using access_token // set default request headers using access_token
_client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("bearer", data.AccessToken); _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("bearer", data.AccessToken);
@ -124,12 +135,12 @@ public class AuthenticationService : IAuthenticationService
public async Task Logout() public async Task Logout()
{ {
var profileBackup = await _preference.GetProfile();
Task.Delay(150);
await _localStorage.ClearAsync();
Task.Delay(150);
await _preference.SetProfile(profileBackup);
_client.DefaultRequestHeaders.Authorization = null; _client.DefaultRequestHeaders.Authorization = null;
var profileBackup = await _preference.GetProfile();
await Task.Delay(150);
await _localStorage.ClearAsync();
await Task.Delay(150);
await _preference.SetProfile(profileBackup);
((AuthStateProvider)_authStateProvider).NotifyUserLogout(); ((AuthStateProvider)_authStateProvider).NotifyUserLogout();
} }

View file

@ -18,7 +18,7 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h3 class="modal-title">@CompanyName - Aktivitet oversigt</h3> <h3 class="modal-title">@CompanyName - Aktivitet oversigt</h3>
<button type="button" class="btn-close" @onclick="Hide" data-bs-dismiss="modal" aria-label="Luk"></button> <button type="button" class="btn-close" onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<CustomerActivityListComponent Activities="Activities"/> <CustomerActivityListComponent Activities="Activities"/>

View file

@ -17,7 +17,7 @@
<div class="modal-dialog modal-dialog-scrollable modal-fullscreen"> <div class="modal-dialog modal-dialog-scrollable modal-fullscreen">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="btn-close" @onclick="Hide" data-bs-dismiss="modal" aria-label="Luk"></button> <button type="button" class="btn-close" onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div class="card"> <div class="card">

View file

@ -20,7 +20,7 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h3 class="modal-title">@CompanyName - Produktoversigt</h3> <h3 class="modal-title">@CompanyName - Produktoversigt</h3>
<button type="button" class="btn-close" @onclick="Hide" data-bs-dismiss="modal" aria-label="Luk"></button> <button type="button" class="btn-close" onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<CustomerInventoryListComponent OnReorderSelected="OnReorderCallback" CompanyId="@CompanyId" Inventory="@Inventory"/> <CustomerInventoryListComponent OnReorderSelected="OnReorderCallback" CompanyId="@CompanyId" Inventory="@Inventory"/>

View file

@ -21,7 +21,7 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h4 class="modal-title">@SalesItem.Name @SalesItem.Sku (@SalesItem.BoxSize stk/colli)</h4> <h4 class="modal-title">@SalesItem.Name @SalesItem.Sku (@SalesItem.BoxSize stk/colli)</h4>
<button type="button" class="btn-close" @onclick="Hide" data-bs-dismiss="modal" aria-label="Luk"></button> <button type="button" class="btn-close" onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@if (SalesItem.Discontinued) @if (SalesItem.Discontinued)
@ -49,21 +49,21 @@
<tbody> <tbody>
<tr> <tr>
<td class="align-middle"> <td class="align-middle">
<input type="number" class="form-control" @bind-value="@SelectedItem.Quantity"/> <input type="number" class="form-control" @bind-value="SelectedItem.Quantity"/>
</td> </td>
<td class="align-middle"> <td class="align-middle">
<div class="input-group"> <div class="input-group">
<input type="number" class="form-control" @bind-value="@SelectedItem.Price"/> <input type="number" class="form-control" @bind-value="SelectedItem.Price"/>
</div> </div>
</td> </td>
<td class="align-middle"> <td class="align-middle">
<input type="number" class="form-control" @bind-value="@SelectedItem.Discount"/> <input type="number" class="form-control" @bind-value="SelectedItem.Discount"/>
</td> </td>
<td class="align-middle align-content-center justify-content-center"> <td class="align-middle align-content-center justify-content-center">
<input type="checkbox" class="form-check" @bind-value="@SelectedItem.Sas"/> <input type="checkbox" class="form-check" @bind-value="SelectedItem.Sas"/>
</td> </td>
<td class="align-middle"> <td class="align-middle">
<button type="button" class="btn btn-warning text-nowrap d-block" @onclick="@(() => SendToOrder(SelectedItem))">BESTIL</button> <button type="button" class="btn btn-warning text-nowrap d-block" onclick="@(() => SendToOrder(SelectedItem))">BESTIL</button>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -76,7 +76,7 @@
@foreach (var rate in SalesItem.Rates) @foreach (var rate in SalesItem.Rates)
{ {
<div class="col"> <div class="col">
<a type="button" class="btn btn-primary btn-sm" data-bs-dismiss="modal" @onclick="@(() => SelectPrice(rate.Quantity, rate.Rate))"> <a type="button" class="btn btn-primary btn-sm" data-bs-dismiss="modal" onclick="@(() => SelectPrice(rate.Quantity, rate.Rate))">
@rate.Quantity <i class="bi-at"></i> @rate.Rate/stk @rate.Quantity <i class="bi-at"></i> @rate.Rate/stk
</a> </a>
</div> </div>
@ -107,7 +107,9 @@
<td class="align-middle"> <td class="align-middle">
@if (!SalesItem.Discontinued) @if (!SalesItem.Discontinued)
{ {
<button type="button" class="btn btn-primary btn-sm" data-bs-dismiss="modal" @onclick="() => SelectHistory(entry)"><i class="bi-plus"></i> VÆLG</button> <button type="button" class="btn btn-primary btn-sm" data-bs-dismiss="modal" onclick="@(() => SelectHistory(entry))">
<i class="bi-plus"></i> VÆLG
</button>
} }
</td> </td>
</tr> </tr>

View file

@ -24,7 +24,7 @@
{ {
<h3 class="modal-title">@Company.Name - Faktura Oversigt</h3> <h3 class="modal-title">@Company.Name - Faktura Oversigt</h3>
} }
<button type="button" class="btn-close" @onclick="Hide" data-bs-dismiss="modal" aria-label="Luk"></button> <button type="button" class="btn-close" onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<CustomerInvoiceListComponent OnShowInvoice="@CallInvoiceModal" CompanyId="@Company.CompanyId" InvoiceList="@Invoices"/> <CustomerInvoiceListComponent OnShowInvoice="@CallInvoiceModal" CompanyId="@Company.CompanyId" InvoiceList="@Invoices"/>

View file

@ -23,7 +23,7 @@
{ {
<h3 class="modal-title">Faktura @Invoice.DocumentNumber</h3> <h3 class="modal-title">Faktura @Invoice.DocumentNumber</h3>
} }
<button type="button" class="btn-close" @onclick="Hide" data-bs-dismiss="modal" aria-label="Luk"></button> <button type="button" class="btn-close" onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@if (!string.IsNullOrWhiteSpace(Invoice.Company.Name)) @if (!string.IsNullOrWhiteSpace(Invoice.Company.Name))

View file

@ -20,7 +20,7 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h3 class="modal-title">@Company.Name - Aktivitet oversigt</h3> <h3 class="modal-title">@Company.Name - Aktivitet oversigt</h3>
<button type="button" class="btn-close" @onclick="Hide" data-bs-dismiss="modal" aria-label="Luk"></button> <button type="button" class="btn-close" onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@* activity list *@ @* activity list *@

View file

@ -18,7 +18,7 @@
<div class="modal-dialog modal-dialog-scrollable modal-fullscreen"> <div class="modal-dialog modal-dialog-scrollable modal-fullscreen">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="btn-close" @onclick="Hide" data-bs-dismiss="modal" aria-label="Luk"></button> <button type="button" class="btn-close" onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div class="card"> <div class="card">

View file

@ -21,7 +21,7 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h4 class="modal-title">@SalesItem.Name @SalesItem.Sku (@SalesItem.BoxSize stk/colli)</h4> <h4 class="modal-title">@SalesItem.Name @SalesItem.Sku (@SalesItem.BoxSize stk/colli)</h4>
<button type="button" class="btn-close" @onclick="Hide" data-bs-dismiss="modal" aria-label="Luk"></button> <button type="button" class="btn-close" onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@if (SalesItem.Discontinued) @if (SalesItem.Discontinued)
@ -49,21 +49,21 @@
<tbody> <tbody>
<tr> <tr>
<td class="align-middle"> <td class="align-middle">
<input type="number" class="form-control" @bind-value="@SelectedItem.Quantity"/> <input type="number" class="form-control" @bind-value="SelectedItem.Quantity"/>
</td> </td>
<td class="align-middle"> <td class="align-middle">
<div class="input-group"> <div class="input-group">
<input type="number" class="form-control" @bind-value="@SelectedItem.Price"/> <input type="number" class="form-control" @bind-value="SelectedItem.Price"/>
</div> </div>
</td> </td>
<td class="align-middle"> <td class="align-middle">
<input type="number" class="form-control" @bind-value="@SelectedItem.Discount"/> <input type="number" class="form-control" @bind-value="SelectedItem.Discount"/>
</td> </td>
<td class="align-middle align-content-center justify-content-center"> <td class="align-middle align-content-center justify-content-center">
<input type="checkbox" class="form-check" @bind-value="@SelectedItem.Sas"/> <input type="checkbox" class="form-check" @bind-value="SelectedItem.Sas"/>
</td> </td>
<td class="align-middle"> <td class="align-middle">
<button type="button" class="btn btn-warning text-nowrap d-block" @onclick="@(() => SendToOrder(SelectedItem))">BESTIL</button> <button type="button" class="btn btn-warning text-nowrap d-block" onclick="@(() => SendToOrder(SelectedItem))">BESTIL</button>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -76,7 +76,7 @@
@foreach (var rate in SalesItem.Rates) @foreach (var rate in SalesItem.Rates)
{ {
<div class="col"> <div class="col">
<a type="button" class="btn btn-primary btn-sm" data-bs-dismiss="modal" @onclick="@(() => SelectPrice(rate.Quantity, rate.Rate))"> <a type="button" class="btn btn-primary btn-sm" data-bs-dismiss="modal" onclick="@(() => SelectPrice(rate.Quantity, rate.Rate))">
@rate.Quantity <i class="bi-at"></i> @rate.Rate/stk @rate.Quantity <i class="bi-at"></i> @rate.Rate/stk
</a> </a>
</div> </div>
@ -107,7 +107,7 @@
<td class="align-middle"> <td class="align-middle">
@if (!SalesItem.Discontinued) @if (!SalesItem.Discontinued)
{ {
<button type="button" class="btn btn-primary btn-sm" data-bs-dismiss="modal" @onclick="() => SelectHistory(entry)"><i class="bi-plus"></i> VÆLG</button> <button type="button" class="btn btn-primary btn-sm" data-bs-dismiss="modal" onclick="@(() => SelectHistory(entry))"><i class="bi-plus"></i> VÆLG</button>
} }
</td> </td>
</tr> </tr>

View file

@ -21,7 +21,7 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h3 class="modal-title">@Company.Name - Faktura oversigt</h3> <h3 class="modal-title">@Company.Name - Faktura oversigt</h3>
<button type="button" class="btn-close" @onclick="Hide" data-bs-dismiss="modal" aria-label="Luk"></button> <button type="button" class="btn-close" onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@* component listing invoices*@ @* component listing invoices*@

View file

@ -20,7 +20,7 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title">Faktura</h5> <h5 class="modal-title">Faktura</h5>
<button type="button" class="btn-close" @onclick="Hide" data-bs-dismiss="modal" aria-label="Luk"></button> <button type="button" class="btn-close" onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@if (!string.IsNullOrWhiteSpace(Invoice.Company.Name)) @if (!string.IsNullOrWhiteSpace(Invoice.Company.Name))

View file

@ -21,7 +21,7 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h3 class="modal-title">@Company.Name - Produkt oversigt</h3> <h3 class="modal-title">@Company.Name - Produkt oversigt</h3>
<button type="button" class="btn-close" @onclick="Hide" data-bs-dismiss="modal" aria-label="Luk"></button> <button type="button" class="btn-close" onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div class="row"> <div class="row">
@ -30,9 +30,9 @@
<div class="list-group mt-2"> <div class="list-group mt-2">
<div class="list-group-item bg-dark text-white"> <div class="list-group-item bg-dark text-white">
<div class="row"> <div class="row">
<div class="col-sm-4" style="cursor: pointer;" @onclick="() => SortProducts(ProductSort.Desc)"><i class="bi-sort-alpha-down"></i> Navn <i class="bi-sort-alpha-up-alt"></i></div> <div class="col-sm-4" style="cursor: pointer;" onclick="@(() => SortProducts(ProductSort.Desc))"><i class="bi-sort-alpha-down"></i> Navn <i class="bi-sort-alpha-up-alt"></i></div>
<div class="col-sm-3" style="cursor: pointer;" @onclick="() => SortProducts(ProductSort.Sku)"><i class="bi-sort-alpha-down"></i> Varenr <i class="bi-sort-alpha-up-alt"></i></div> <div class="col-sm-3" style="cursor: pointer;" onclick="@(() => SortProducts(ProductSort.Sku))"><i class="bi-sort-alpha-down"></i> Varenr <i class="bi-sort-alpha-up-alt"></i></div>
<div class="col-sm-2 text-center" style="cursor: pointer;" @onclick="() => SortProducts(ProductSort.Qty)"><i class="bi-sort-numeric-down"></i> Antal <i class="bi-sort-numeric-up-alt"></i></div> <div class="col-sm-2 text-center" style="cursor: pointer;" onclick="@(() => SortProducts(ProductSort.Qty))"><i class="bi-sort-numeric-down"></i> Antal <i class="bi-sort-numeric-up-alt"></i></div>
<div class="col-sm-2"></div> <div class="col-sm-2"></div>
<div class="col-sm-1"></div> <div class="col-sm-1"></div>
</div> </div>

View file

@ -20,7 +20,7 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h3 class="modal-title">@Company.Name - Produktoversigt</h3> <h3 class="modal-title">@Company.Name - Produktoversigt</h3>
<button type="button" class="btn-close" @onclick="Hide" data-bs-dismiss="modal" aria-label="Luk"></button> <button type="button" class="btn-close" onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<OfficeInventoryListComponent OnReorderSelected="OnReorderCallback" CompanyId="@Company.CompanyId" Inventory="@Inventory"/> <OfficeInventoryListComponent OnReorderSelected="OnReorderCallback" CompanyId="@Company.CompanyId" Inventory="@Inventory"/>

View file

@ -21,7 +21,7 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h4 class="modal-title">@SalesItem.Name @SalesItem.Sku (@SalesItem.BoxSize stk/colli)</h4> <h4 class="modal-title">@SalesItem.Name @SalesItem.Sku (@SalesItem.BoxSize stk/colli)</h4>
<button type="button" class="btn-close" @onclick="Hide" data-bs-dismiss="modal" aria-label="Luk"></button> <button type="button" class="btn-close" onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@if (SalesItem.Discontinued) @if (SalesItem.Discontinued)
@ -49,21 +49,21 @@
<tbody> <tbody>
<tr> <tr>
<td class="align-middle"> <td class="align-middle">
<input type="number" class="form-control" @bind-value="@SelectedItem.Quantity"/> <input type="number" class="form-control" @bind-value="SelectedItem.Quantity"/>
</td> </td>
<td class="align-middle"> <td class="align-middle">
<div class="input-group"> <div class="input-group">
<input type="number" class="form-control" @bind-value="@SelectedItem.Price"/> <input type="number" class="form-control" @bind-value="SelectedItem.Price"/>
</div> </div>
</td> </td>
<td class="align-middle"> <td class="align-middle">
<input type="number" class="form-control" @bind-value="@SelectedItem.Discount"/> <input type="number" class="form-control" @bind-value="SelectedItem.Discount"/>
</td> </td>
<td class="align-middle align-content-center justify-content-center"> <td class="align-middle align-content-center justify-content-center">
<input type="checkbox" class="form-check" @bind-value="@SelectedItem.Sas"/> <input type="checkbox" class="form-check" @bind-value="SelectedItem.Sas"/>
</td> </td>
<td class="align-middle"> <td class="align-middle">
<button type="button" class="btn btn-warning text-nowrap d-block" @onclick="@(() => SendToOrder(SelectedItem))">BESTIL</button> <button type="button" class="btn btn-warning text-nowrap d-block" onclick="@(() => SendToOrder(SelectedItem))">BESTIL</button>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -76,9 +76,9 @@
@foreach (var rate in SalesItem.Rates) @foreach (var rate in SalesItem.Rates)
{ {
<div class="col"> <div class="col">
<a type="button" class="btn btn-primary btn-sm" data-bs-dismiss="modal" @onclick="@(() => SelectPrice(rate.Quantity, rate.Rate))"> <button type="button" class="btn btn-primary btn-sm" data-bs-dismiss="modal" onclick="@(() => SelectPrice(rate.Quantity, rate.Rate))">
@rate.Quantity <i class="bi-at"></i> @rate.Rate/stk @rate.Quantity <i class="bi-at"></i> @rate.Rate/stk
</a> </button>
</div> </div>
} }
</div> </div>
@ -107,7 +107,7 @@
<td class="align-middle"> <td class="align-middle">
@if (!SalesItem.Discontinued) @if (!SalesItem.Discontinued)
{ {
<button type="button" class="btn btn-primary btn-sm" data-bs-dismiss="modal" @onclick="() => SelectHistory(entry)"><i class="bi-plus"></i> VÆLG</button> <button type="button" class="btn btn-primary btn-sm" data-bs-dismiss="modal" onclick="@(() => SelectHistory(entry))"><i class="bi-plus"></i> VÆLG</button>
} }
</td> </td>
</tr> </tr>

View file

@ -20,7 +20,7 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title">Pris Katalog</h5> <h5 class="modal-title">Pris Katalog</h5>
<button type="button" class="btn-close" @onclick="Hide" data-bs-dismiss="modal" aria-label="Luk"></button> <button type="button" class="btn-close" onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div class="sticky-top bg-dark rounded-2 p-3"> <div class="sticky-top bg-dark rounded-2 p-3">
@ -79,7 +79,7 @@
<div class="text-sm-end me-1">@rate.Quantity</div> <div class="text-sm-end me-1">@rate.Quantity</div>
<div class="text-sm-end me-1">@rate.Rate</div> <div class="text-sm-end me-1">@rate.Rate</div>
<div> <div>
<a class="btn btn-primary btn-sm" data-bs-dismiss="modal" @onclick="@(() => SelectItem(item.SalesItemId, rate.Quantity, rate.Rate))"> <a class="btn btn-primary btn-sm" data-bs-dismiss="modal" onclick="@(() => SelectItem(item.SalesItemId, rate.Quantity, rate.Rate))">
<i class="oi oi-plus"></i> <i class="oi oi-plus"></i>
</a> </a>
</div> </div>

View file

@ -19,15 +19,15 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h2 class="modal-title">PRODUKT GENNEMGANG</h2> <h2 class="modal-title">PRODUKT GENNEMGANG</h2>
<button type="button" class="btn-close" @onclick="Hide" data-bs-dismiss="modal" aria-label="Luk"></button> <button type="button" class="btn-close" onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@((MarkupString) BodyMessage) @((MarkupString) BodyMessage)
<CustomerProductCheckListComponent CompanyId="@CompanyId" Inventory="@Products" /> <CustomerProductCheckListComponent CompanyId="@CompanyId" Inventory="@Products" />
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" @onclick="Hide">Afbryd</button> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal" onclick="@Hide">Afbryd</button>
<button type="button" class="btn btn-primary" data-bs-dismiss="modal" @onclick="() => OnOkClicked.InvokeAsync()">OK</button> <button type="button" class="btn btn-primary" data-bs-dismiss="modal" onclick="@(() => OnOkClicked.InvokeAsync())">OK</button>
</div> </div>
</div> </div>
</div> </div>

View file

@ -20,7 +20,7 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title">@ProductName</h5> <h5 class="modal-title">@ProductName</h5>
<button type="button" class="btn-close" @onclick="Hide" data-bs-dismiss="modal" aria-label="Luk"></button> <button type="button" class="btn-close" onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@if (!string.IsNullOrWhiteSpace(ProductName)) @if (!string.IsNullOrWhiteSpace(ProductName))

View file

@ -18,7 +18,7 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title">@ProductName</h5> <h5 class="modal-title">@ProductName</h5>
<button type="button" class="btn-close" @onclick="Hide" data-bs-dismiss="modal" aria-label="Luk"></button> <button type="button" class="btn-close" onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@if (!string.IsNullOrWhiteSpace(ProductName)) @if (!string.IsNullOrWhiteSpace(ProductName))
@ -44,7 +44,7 @@
<td>@entry.Discount</td> <td>@entry.Discount</td>
<td>@entry.Price</td> <td>@entry.Price</td>
<td> <td>
<button type="button" class="btn btn-primary" data-bs-dismiss="modal" @onclick="() => SelectPrice(entry.Price)">Overfør</button> <button type="button" class="btn btn-primary" data-bs-dismiss="modal" onclick="@(() => SelectPrice(entry.Price))">Overfør</button>
</td> </td>
</tr> </tr>
} }

View file

@ -114,7 +114,25 @@ else
} }
</div> </div>
@if (!Kanvas) @if (Kanvas)
{
<label for="demo" class="col-sm-2 col-form-label-sm">Demo</label>
<div class="col-sm-10">
<InputText id="demo" class="form-control" @bind-Value="Activity.Demo"/>
<ValidationMessage For="@(() => Activity.Demo)"></ValidationMessage>
</div>
<label for="orderMessage" class="col-sm-2 col-form-label-sm">Note /Kontor</label>
<div class="col-sm-10">
<InputTextArea id="orderMessage" class="form-control" @bind-Value="Activity.OrderMessage"/>
<ValidationMessage For="@(() => Activity.OrderMessage)"></ValidationMessage>
</div>
<label for="crmNote" class="col-sm-2 col-form-label-sm">Note /Selv</label>
<div class="col-sm-10">
<InputTextArea id="crmNote" class="form-control" @bind-Value="Activity.CrmNote"/>
<ValidationMessage For="@(() => Activity.CrmNote)"></ValidationMessage>
</div>
}
else
{ {
<label for="demo" class="col-sm-2 col-form-label-sm">Demo</label> <label for="demo" class="col-sm-2 col-form-label-sm">Demo</label>
<div class="col-sm-4"> <div class="col-sm-4">
@ -157,20 +175,18 @@ else
<InputText id="vatNumber" class="form-control" @bind-Value="Activity.VatNumber"/> <InputText id="vatNumber" class="form-control" @bind-Value="Activity.VatNumber"/>
<ValidationMessage For="@(() => Activity.VatNumber)"/> <ValidationMessage For="@(() => Activity.VatNumber)"/>
</div> </div>
<label for="orderMessage" class="col-sm-2 col-form-label-sm">Note /Kontor</label>
<div class="col-sm-4">
<InputTextArea id="orderMessage" class="form-control" @bind-Value="Activity.OrderMessage"/>
<ValidationMessage For="@(() => Activity.OrderMessage)"></ValidationMessage>
</div>
<label for="crmNote" class="col-sm-2 col-form-label-sm">Note /Selv</label>
<div class="col-sm-4">
<InputTextArea id="crmNote" class="form-control" @bind-Value="Activity.CrmNote"/>
<ValidationMessage For="@(() => Activity.CrmNote)"></ValidationMessage>
</div>
} }
<label for="orderMessage" class="col-sm-2 col-form-label-sm">Note /Kontor</label>
<div class="col-sm-4">
<InputTextArea id="orderMessage" class="form-control" @bind-Value="Activity.OrderMessage"/>
<ValidationMessage For="@(() => Activity.OrderMessage)"></ValidationMessage>
</div>
<label for="crmNote" class="col-sm-2 col-form-label-sm">Note /Selv</label>
<div class="col-sm-4">
<InputTextArea id="crmNote" class="form-control" @bind-Value="Activity.CrmNote"/>
<ValidationMessage For="@(() => Activity.CrmNote)"></ValidationMessage>
</div>
</div> </div>
@if (!Kanvas) @if (!Kanvas)
@ -180,23 +196,23 @@ else
@* @*
***************** Invoice history overlay ***************************** ***************** Invoice history overlay *****************************
*@ *@
<button class="btn btn-danger" disabled="@string.IsNullOrWhiteSpace(Activity.ActivityTypeEnum)" @onclick="ShowInvoiceOverlay">Faktura</button> <button class="btn btn-danger" disabled="@string.IsNullOrWhiteSpace(Activity.ActivityTypeEnum)" onclick="@ShowInvoiceOverlay">Faktura</button>
</div> </div>
<div class="col-sm-3 d-grid mx-auto"> <div class="col-sm-3 d-grid mx-auto">
@* @*
***************** Visit hisotry overlay ***************************** ***************** Visit hisotry overlay *****************************
*@ *@
<button class="btn btn-warning" disabled="@string.IsNullOrWhiteSpace(Activity.ActivityTypeEnum)" @onclick="ShowVisitOverlay">Tidl. besøg</button> <button class="btn btn-warning" disabled="@string.IsNullOrWhiteSpace(Activity.ActivityTypeEnum)" onclick="@ShowVisitOverlay">Tidl. besøg</button>
</div> </div>
<div class="col-sm-3 d-grid mx-auto"> <div class="col-sm-3 d-grid mx-auto">
@* @*
***************** Product Inventory overlay ***************************** ***************** Product Inventory overlay *****************************
*@ *@
<button class="btn btn-success" disabled="@string.IsNullOrWhiteSpace(Activity.ActivityTypeEnum)" @onclick="ShowInventoryOverlay">Produkter</button> <button class="btn btn-success" disabled="@string.IsNullOrWhiteSpace(Activity.ActivityTypeEnum)" onclick="@ShowInventoryOverlay">Produkter</button>
</div> </div>
</div> </div>
<div id="this-draft" style="@(Activity.ActivityStatusEnum is "order" or "quote" ? "display: block" : "display:none")"> <div id="this-draft" class="@(Activity.ActivityStatusEnum is "order" or "quote" ? "visible" : "invisible")">
@* Draft lines in draft -----------------------------------------------------*@ @* Draft lines in draft -----------------------------------------------------*@
<div class="row"> <div class="row">
<div class="col"> <div class="col">
@ -210,7 +226,7 @@ else
@* @*
***************** Reset draft ***************************** ***************** Reset draft *****************************
*@ *@
<button type="button" class="btn btn-danger btn-sm" @onclick="@DeleteDraft" disabled="@(DraftProvider.Draft.Items.Count == 0)"><i class="bi-trash"></i> Slet kladde</button> <button type="button" class="btn btn-danger btn-sm" onclick="@DeleteDraft" disabled="@(DraftProvider.Draft.Items.Count == 0)"><i class="bi-trash"></i> Slet kladde</button>
</th> </th>
</tr> </tr>
<tr class="bg-dark opacity-75 text-white"> <tr class="bg-dark opacity-75 text-white">
@ -243,7 +259,7 @@ else
@* @*
***************** Remove item ***************************** ***************** Remove item *****************************
*@ *@
<button type="button" class="btn btn-danger" @onclick="@(() => RemoveItem(cartItem))"><i class="bi-trash2"></i> Slet Linje</button> <button type="button" class="btn btn-danger" onclick="@(() => RemoveItem(cartItem))"><i class="bi-trash2"></i> Slet Linje</button>
</td> </td>
</tr> </tr>
} }
@ -257,7 +273,7 @@ else
@* @*
***************** Price catalog overlay button ***************************** ***************** Price catalog overlay button *****************************
*@ *@
<button class="btn btn-primary" type="button" @onclick="ShowPriceListOverlay"> <button class="btn btn-primary" type="button" onclick="@ShowPriceListOverlay">
<i class="bi-plus"></i> Ny linje <i class="bi-plus"></i> Ny linje
</button> </button>
</td> </td>
@ -288,31 +304,31 @@ else
<tbody> <tbody>
<tr> <tr>
<td class="align-middle" style="min-width:100px;"> <td class="align-middle" style="min-width:100px;">
<input type="number" class="form-control" @bind-value="@Quantity"/> <input type="number" class="form-control" @bind-value="Quantity"/>
</td> </td>
<td class="align-middle" style="min-width:200px;"> <td class="align-middle" style="min-width:200px;">
<div class="input-group"> <div class="input-group">
<input type="number" class="form-control" @bind-value="@Price"/> <input type="number" class="form-control" @bind-value="Price"/>
@* @*
***************** Product Price history overlay button ********************* ***************** Product Price history overlay button *********************
*@ *@
<button class="btn btn-warning" type="button" @onclick="ShowPriceHistoryOverlay"> <button class="btn btn-warning" type="button" onclick="@ShowPriceHistoryOverlay">
<i class="bi-list-ul"></i> <i class="bi-list-ul"></i>
</button> </button>
</div> </div>
</td> </td>
<td class="align-middle" style="min-width:100px;"> <td class="align-middle" style="min-width:100px;">
<input type="number" class="form-control" @bind-value="@Discount"/> <input type="number" class="form-control" @bind-value="Discount"/>
</td> </td>
<td class="align-middle align-content-center justify-content-center"> <td class="align-middle align-content-center justify-content-center">
<input type="checkbox" class="form-check" @bind-value="@Sas"/> <input type="checkbox" class="form-check" @bind-value="Sas"/>
</td> </td>
<td class="align-middle">@SelectedItem.Sku</td> <td class="align-middle">@SelectedItem.Sku</td>
<td class="align-middle"> <td class="align-middle">
@* @*
***************** Add item button ***************************** ***************** Add item button *****************************
*@ *@
<button type="button" class="btn btn-primary d-block text-sm-center" @onclick="@(() => AddItem(SelectedItem))">@Quantity stk. @SelectedItem.Name</button> <button type="button" class="btn btn-primary d-block text-sm-center" onclick="@(() => AddItem(SelectedItem))">@Quantity stk. @SelectedItem.Name</button>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -324,7 +340,7 @@ else
</div> </div>
<div class="accordion" id="crmActivity"> <div class="accordion" id="crmActivity">
@* Delivery address *@ @* Delivery address *@
<div class="accordion-item" style="@(Activity.ActivityStatusEnum == "order" ? "display: block" : "display:none")"> <div class="accordion-item @(Activity.ActivityStatusEnum == "order" ? "visible" : "invisible")">
<h2 class="accordion-header" id="deliveryHeader"> <h2 class="accordion-header" id="deliveryHeader">
<button class="accordion-button collapsed bg-light" type="button" data-bs-toggle="collapse" data-bs-target="#deliveryBody" aria-expanded="false" aria-controls="deliveryBody"> <button class="accordion-button collapsed bg-light" type="button" data-bs-toggle="collapse" data-bs-target="#deliveryBody" aria-expanded="false" aria-controls="deliveryBody">
Leveringsadresse Leveringsadresse
@ -379,7 +395,7 @@ else
***************** Confirm product check overlay button ***************************** ***************** Confirm product check overlay button *****************************
***************** Continue by submitton order to erp ***************************** ***************** Continue by submitton order to erp *****************************
*@ *@
<button type="button" class="btn btn-warning" @onclick="CallConfirmCheckOverlay" disabled="@(PoFormInvalid || Working)"> <button type="button" class="btn btn-warning" onclick="@CallConfirmCheckOverlay" disabled="@(PoFormInvalid || Working)">
<i class="bi-cloud-arrow-up"></i> @ButtonText <i class="bi-cloud-arrow-up"></i> @ButtonText
</button> </button>
</div> </div>

View file

@ -142,7 +142,7 @@
</div> </div>
</div> </div>
<div class="row mb-1"> <div class="row mb-1">
<button class="btn btn-primary btn-lg" type="button" @onclick="UpdateOfficeNote" disabled="@Disabled">Opdater Note /Kontor</button> <button class="btn btn-primary btn-lg" type="button" onclick="@UpdateOfficeNote" disabled="@Disabled">Opdater Note /Kontor</button>
</div> </div>
</EditForm> </EditForm>
</div> </div>

View file

@ -35,7 +35,7 @@
@switch (Company.CountryCode) @switch (Company.CountryCode)
{ {
case "dk": case "dk":
<button type="button" class="btn btn-info" @onclick="CallVatLookupModal"><i class="bi-search"></i> Firma søgning</button> <button type="button" class="btn btn-info" onclick="@CallVatLookupModal"><i class="bi-search"></i> Firma søgning</button>
break; break;
case "no": case "no":
<a class="btn btn-info" href="https://brreg.no/" target="_blank"><i class="bi-search"></i> Firma søgning</a> <a class="btn btn-info" href="https://brreg.no/" target="_blank"><i class="bi-search"></i> Firma søgning</a>

View file

@ -34,14 +34,14 @@
<PageSizeComponent OnChanged="SetPageSize"/> <PageSizeComponent OnChanged="SetPageSize"/>
</div> </div>
<div class="col-sm-2 mx-auto"> <div class="col-sm-2 mx-auto">
<button type button class="btn btn-warning @(ShowFolded ? "active" : "")" <button type="button" class="btn btn-warning @(ShowFolded ? "active" : "")"
data-bs-toggle="button" aria-pressed="@ShowFolded" @onclick="ToggleFolded"> data-bs-toggle="button" aria-pressed="@ShowFolded" onclick="@ToggleFolded">
@ToggleFoldedText @ToggleFoldedText
</button> </button>
</div> </div>
<div class="col-sm-1 mx-auto"> <div class="col-sm-1 mx-auto">
<button type button class="btn btn-warning @(@ShowHidden ? "active" : "")" <button type="button" class="btn btn-warning @(ShowHidden ? "active" : "")"
data-bs-toggle="button" aria-pressed="@ShowHidden" @onclick="ToggleHidden"> data-bs-toggle="button" aria-pressed="@ShowHidden" onclick="@ToggleHidden">
@ToggleHiddenText @ToggleHiddenText
</button> </button>
</div> </div>

View file

@ -142,11 +142,11 @@
@* Enable edit/save *@ @* Enable edit/save *@
<div class="col-sm-2 d-grid mx-auto"> <div class="col-sm-2 d-grid mx-auto">
<button type="button" class="btn btn-edit" @onclick="ToggleErpEdit"><i class="bi-pencil"></i> STAM data</button> <button type="button" class="btn btn-edit" onclick="@ToggleErpEdit"><i class="bi-pencil"></i> STAM data</button>
</div> </div>
@* Force enable visit *@ @* Force enable visit *@
<div class="col-sm-3 d-grid mx-auto"> <div class="col-sm-3 d-grid mx-auto">
<button type="button" class="btn btn-primary d-block" @onclick="ForceActivity">Aktiver besøg</button> <button type="button" class="btn btn-primary d-block" onclick="@ForceActivity">Aktiver besøg</button>
</div> </div>
@* Save erp data *@ @* Save erp data *@
<div class="col-sm-3 d-grid mx-auto"> <div class="col-sm-3 d-grid mx-auto">
@ -165,14 +165,14 @@
</div> </div>
@* Enable edit/save vatnumber *@ @* Enable edit/save vatnumber *@
<div class="col-sm-2 d-grid mx-auto"> <div class="col-sm-2 d-grid mx-auto">
<button type="button" class="btn btn-edit" @onclick="ToggleVatEdit"><i class="bi-pencil"></i> ORG Nr.</button> <button type="button" class="btn btn-edit" onclick="@ToggleVatEdit"><i class="bi-pencil"></i> ORG Nr.</button>
</div> </div>
@* vat lookup *@ @* vat lookup *@
<div class="col-sm-3 d-grid mx-auto"> <div class="col-sm-3 d-grid mx-auto">
@switch (CountryCode) @switch (CountryCode)
{ {
case "dk": case "dk":
<button type="button" class="btn btn-info" @onclick="OpenVatLookupModal" disabled="@(VatEditDisabled)"><i class="bi-search"></i> CVR</button> <button type="button" class="btn btn-info" onclick="@OpenVatLookupModal" disabled="@(VatEditDisabled)"><i class="bi-search"></i> CVR</button>
break; break;
case "no": case "no":
<a class="btn btn-info" href="https://brreg.no/" target="_blank"><i class="bi-search"></i> brreg.no</a> <a class="btn btn-info" href="https://brreg.no/" target="_blank"><i class="bi-search"></i> brreg.no</a>
@ -184,7 +184,7 @@
</div> </div>
@* save vat number *@ @* save vat number *@
<div class="col-sm-3 d-grid mx-auto"> <div class="col-sm-3 d-grid mx-auto">
<button type="button" class="btn btn-warning d-block" @onclick="UpdateVatNumber" disabled="@(VatEditDisabled)"><i class="bi-cloud-arrow-up"></i> Moms/Org Nr.</button> <button type="button" class="btn btn-warning d-block" onclick="@UpdateVatNumber" disabled="@(VatEditDisabled)"><i class="bi-cloud-arrow-up"></i> Moms/Org Nr.</button>
</div> </div>
} }
@ -239,7 +239,7 @@
</div> </div>
@* Save CRM data button *@ @* Save CRM data button *@
<div class="col-sm-3 d-grid mx-auto"> <div class="col-sm-3 d-grid mx-auto">
<button type="button" class="btn btn-warning" disabled="@(Company.Name == "ERROR")" @onclick="UpdateCrmData"><i class="bi-cloud-arrow-up"></i> CRM data</button> <button type="button" class="btn btn-warning" disabled="@(Company.Name == "ERROR")" onclick="@UpdateCrmData"><i class="bi-cloud-arrow-up"></i> CRM data</button>
</div> </div>
</div> </div>
@* crm context - contacts *@ @* crm context - contacts *@
@ -247,7 +247,7 @@
<label for="contacts" class="col-sm-1 col-form-label-sm">Kontakt</label> <label for="contacts" class="col-sm-1 col-form-label-sm">Kontakt</label>
<div id="contacts" class="col-sm-11"> <div id="contacts" class="col-sm-11">
<div class="list-group"> <div class="list-group">
<div class="list-group-item list-group-item-action bg-dark text-white" @onclick="() => OpenContactPopup(DefaultContact)"> <div class="list-group-item list-group-item-action bg-dark text-white" onclick="@(() => OpenContactPopup(DefaultContact))">
<div class="row"> <div class="row">
<div class="col-sm-4">Stilling</div> <div class="col-sm-4">Stilling</div>
<div class="col-sm-4">Navn</div> <div class="col-sm-4">Navn</div>
@ -261,7 +261,7 @@
{ {
@foreach (var contact in Contacts) @foreach (var contact in Contacts)
{ {
<div class="list-group-item list-group-item-action" @onclick="() => OpenContactPopup(contact)"> <div class="list-group-item list-group-item-action" onclick="@(() => OpenContactPopup(contact))">
<div class="row g-2"> <div class="row g-2">
<div class="col-sm-4">@contact.JobTitle</div> <div class="col-sm-4">@contact.JobTitle</div>
<div class="col-sm-4">@contact.FirstName @contact.LastName</div> <div class="col-sm-4">@contact.FirstName @contact.LastName</div>
@ -307,7 +307,7 @@
</div> </div>
<div class="row pt-3"> <div class="row pt-3">
<div class="col-sm-3 d-grid"> <div class="col-sm-3 d-grid">
<button type="button" class="btn btn-danger" @onclick="ToggleVisibility">@ToggleButtonText</button> <button type="button" class="btn btn-danger" onclick="@ToggleVisibility">@ToggleButtonText</button>
</div> </div>
<div class="col text-end"> <div class="col text-end">
@if (AppInfo.Value.Rc) @if (AppInfo.Value.Rc)

View file

@ -49,7 +49,7 @@
@* @*
<div class="form-check"> <div class="form-check">
<input class="form-check-input" type="checkbox" id="showAll" <input class="form-check-input" type="checkbox" id="showAll"
@bind-Value="Filtered" @bind-Value:event="onchange" @onclick="FilterQuotes" disabled="@(!Quotes.Any())"/> @bind-Value="Filtered" @bind-Value:event="onchange" onclick="@FilterQuotes" disabled="@(!Quotes.Any())"/>
<label for="showAll" class="form-check-label">Vis alle</label> <label for="showAll" class="form-check-label">Vis alle</label>
</div> </div>
*@ *@

View file

@ -83,18 +83,18 @@
</td> </td>
<td> <td>
<input type="time" id="checkOut" class="form-control" <input type="time" id="checkOut" class="form-control"
@bind-Value="CheckOut" @bind-Value:event="oninput" @onchange="OnTimeChanged"/> @bind-Value="CheckOut" @bind-Value:event="oninput" onchange="@OnTimeChanged"/>
</td> </td>
} }
<td class="text-end"> <td class="text-end">
<button type="button" class="btn btn-warning" <button type="button" class="btn btn-warning"
@onclick="GetKeyFigures" disabled="@(!NoFigures)"> onclick="@GetKeyFigures" disabled="@(!NoFigures)">
Nøgletal Nøgletal
</button> </button>
</td> </td>
<td class="text-end"> <td class="text-end">
<button type="button" class="btn btn-primary" <button type="button" class="btn btn-primary"
@onclick="SubmitReport" disabled="@(NoFigures || Working)"> onclick="@SubmitReport" disabled="@(NoFigures || Working)">
Gem Rapport Gem Rapport
</button> </button>
</td> </td>

View file

@ -26,10 +26,10 @@
<WorkDateComponent OnWorkDateChangedCallback="FetchReport"/> <WorkDateComponent OnWorkDateChangedCallback="FetchReport"/>
</div> </div>
<div class="col-sm-2 d-grid"> <div class="col-sm-2 d-grid">
<button class="btn btn-warning" @onclick="() => Print(PrintTarget.FrontPage)"><i class="bi-printer"></i> Forside</button> <button class="btn btn-warning" onclick="@(() => Print(PrintTarget.FrontPage))"><i class="bi-printer"></i> Forside</button>
</div> </div>
<div class="col-sm-2 d-grid"> <div class="col-sm-2 d-grid">
<button class="btn btn-success" @onclick="() => Print(PrintTarget.OrderPage)"><i class="bi-printer"></i> Ordrer</button> <button class="btn btn-success" onclick="@(() => Print(PrintTarget.OrderPage))"><i class="bi-printer"></i> Ordrer</button>
</div> </div>
<div class="col-sm-2 d-grid"> <div class="col-sm-2 d-grid">
<button class="btn btn-primary" type="button" onclick="window.print();"><i class="bi-printer"></i> Rapport</button> <button class="btn btn-primary" type="button" onclick="window.print();"><i class="bi-printer"></i> Rapport</button>

View file

@ -25,10 +25,10 @@
</div> </div>
<div class="col-sm-6 d-grid"> <div class="col-sm-6 d-grid">
<AuthorizeView Roles="Admin,Office"> <AuthorizeView Roles="Admin,Office">
<button class="btn btn-primary" type="button" @onclick="OfficePrint"><i class="bi-printer"></i> Udskriv</button> <button class="btn btn-primary" type="button" onclick="@OfficePrint"><i class="bi-printer"></i> Udskriv</button>
</AuthorizeView> </AuthorizeView>
<AuthorizeView Roles="Advisor"> <AuthorizeView Roles="Advisor">
<button class="btn btn-primary" type="button" @onclick="Print"><i class="bi-printer"></i> Udskriv</button> <button class="btn btn-primary" type="button" onclick="@Print"><i class="bi-printer"></i> Udskriv</button>
</AuthorizeView> </AuthorizeView>
</div> </div>

View file

@ -24,7 +24,7 @@
<a class="btn btn-info" href="@ReturnUrl"><i class="bi-back"></i> Tilbage</a> <a class="btn btn-info" href="@ReturnUrl"><i class="bi-back"></i> Tilbage</a>
</div> </div>
<div class="col-sm-6 d-grid"> <div class="col-sm-6 d-grid">
<button class="btn btn-primary" type="button" @onclick="Print"><i class="bi-printer"></i> Udskriv</button> <button class="btn btn-primary" type="button" onclick="@Print"><i class="bi-printer"></i> Udskriv</button>
</div> </div>
</div> </div>

View file

@ -35,7 +35,7 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col text-md-center m-5 text-primary"> <div class="col text-md-center m-5 text-primary">
<a class="btn btn-primary" @onclick="NavigateToHome">Gå til forsiden</a> <a class="btn btn-primary" onclick="@NavigateToHome">Gå til forsiden</a>
</div> </div>
</div> </div>
<div class="row"> <div class="row">

View file

@ -38,7 +38,7 @@
</div> </div>
<div class="col-sm-2 mx-auto"> <div class="col-sm-2 mx-auto">
<button type button class="btn btn-warning @(ShowFolded ? "active" : "")" <button type button class="btn btn-warning @(ShowFolded ? "active" : "")"
data-bs-toggle="button" aria-pressed="@ShowFolded" @onclick="ToggleFolded"> data-bs-toggle="button" aria-pressed="@ShowFolded" onclick="@ToggleFolded">
@ToggleFoldedText @ToggleFoldedText
</button> </button>
</div> </div>

View file

@ -26,13 +26,13 @@
<WorkDateComponent OnWorkDateChangedCallback="FetchUserReport"/> <WorkDateComponent OnWorkDateChangedCallback="FetchUserReport"/>
</div> </div>
<div class="col-sm-2 d-grid"> <div class="col-sm-2 d-grid">
<button class="btn btn-warning" @onclick="() => Print(PrintTarget.FrontPage)"><i class="bi-printer"></i> Forside</button> <button class="btn btn-warning" onclick="@(() => Print(PrintTarget.FrontPage))"><i class="bi-printer"></i> Forside</button>
</div> </div>
<div class="col-sm-2 d-grid"> <div class="col-sm-2 d-grid">
<button class="btn btn-success" @onclick="() => Print(PrintTarget.OrderPage)"><i class="bi-printer"></i> Ordrer</button> <button class="btn btn-success" onclick="@(() => Print(PrintTarget.OrderPage))"><i class="bi-printer"></i> Ordrer</button>
</div> </div>
<div class="col-sm-2 d-grid"> <div class="col-sm-2 d-grid">
<button class="btn btn-primary" type="button" @onclick="Print"><i class="bi-printer"></i> Rapport</button> <button class="btn btn-primary" type="button" onclick="@(() => PrintAll)"><i class="bi-printer"></i> Rapport</button>
</div> </div>
</div> </div>

View file

@ -91,13 +91,14 @@ public partial class OfficeAdvisorReportViewPage : IDisposable
case PrintTarget.None: case PrintTarget.None:
break; break;
case PrintTarget.All: case PrintTarget.All:
InvokeAsync(PrintAll);
break; break;
default: default:
throw new ArgumentOutOfRangeException(nameof(target), target, null); throw new ArgumentOutOfRangeException(nameof(target), target, null);
} }
} }
private async Task Print() private async Task PrintAll()
{ {
var current = 0; var current = 0;
var orders = Report.ReportItems var orders = Report.ReportItems

View file

@ -36,7 +36,7 @@
</div> </div>
<div class="col-sm-2 mx-auto"> <div class="col-sm-2 mx-auto">
<button type button class="btn btn-warning @(ShowFolded ? "active" : "")" <button type button class="btn btn-warning @(ShowFolded ? "active" : "")"
data-bs-toggle="button" aria-pressed="@ShowFolded" @onclick="ToggleFolded"> data-bs-toggle="button" aria-pressed="@ShowFolded" onclick="@ToggleFolded">
@ToggleFoldedText @ToggleFoldedText
</button> </button>
</div> </div>

View file

@ -98,21 +98,21 @@
@* @*
***************** Invoice history overlay ***************************** ***************** Invoice history overlay *****************************
*@ *@
<button class="btn btn-danger" @onclick="ShowInvoiceOverlay">Faktura</button> <button class="btn btn-danger" onclick="@ShowInvoiceOverlay">Faktura</button>
</div> </div>
<div class="col-sm-4 d-grid mx-auto"> <div class="col-sm-4 d-grid mx-auto">
@* @*
***************** Visit history overlay ***************************** ***************** Visit history overlay *****************************
*@ *@
<button class="btn btn-warning" @onclick="ShowVisitOverlay">Tidl. besøg</button> <button class="btn btn-warning" onclick="@ShowVisitOverlay">Tidl. besøg</button>
</div> </div>
<div class="col-sm-4 d-grid mx-auto"> <div class="col-sm-4 d-grid mx-auto">
@* @*
***************** Product Inventory overlay ***************************** ***************** Product Inventory overlay *****************************
*@ *@
<button class="btn btn-success" @onclick="ShowInventoryOverlay">Produkter</button> <button class="btn btn-success" onclick="@ShowInventoryOverlay">Produkter</button>
</div> </div>
</div> </div>
@ -130,7 +130,7 @@
@* @*
***************** Reset draft ***************************** ***************** Reset draft *****************************
*@ *@
<button type="button" class="btn btn-danger btn-sm" @onclick="@DeleteDraft" disabled="@(DraftProvider.Draft.Items.Count == 0)"><i class="bi-trash"></i> Slet kladde</button> <button type="button" class="btn btn-danger btn-sm" onclick="@DeleteDraft" disabled="@(DraftProvider.Draft.Items.Count == 0)"><i class="bi-trash"></i> Slet kladde</button>
</th> </th>
</tr> </tr>
<tr class="bg-dark opacity-75 text-white"> <tr class="bg-dark opacity-75 text-white">
@ -159,7 +159,7 @@
@* @*
***************** Remove draft line ***************************** ***************** Remove draft line *****************************
*@ *@
<button type="button" class="btn btn-danger" @onclick="@(() => RemoveItem(cartItem))"><i class="bi-trash2"></i> Slet Linje</button> <button type="button" class="btn btn-danger" onclick="@(() => RemoveItem(cartItem))"><i class="bi-trash2"></i> Slet Linje</button>
</td> </td>
</tr> </tr>
} }
@ -172,7 +172,7 @@
@* @*
***************** Product Catalog overlay ***************************** ***************** Product Catalog overlay *****************************
*@ *@
<button class="btn btn-primary" type="button" @onclick="ShowCatalogOverlay"> <button class="btn btn-primary" type="button" onclick="@ShowCatalogOverlay">
<i class="bi-plus"></i> Ny linje <i class="bi-plus"></i> Ny linje
</button> </button>
</td> </td>
@ -202,27 +202,27 @@
<tbody> <tbody>
<tr> <tr>
<td class="align-middle"> <td class="align-middle">
<input type="number" class="form-control" @bind-value="@Quantity"/> <input type="number" class="form-control" @bind-value="Quantity"/>
</td> </td>
<td class="align-middle"> <td class="align-middle">
<div class="input-group"> <div class="input-group">
<input type="number" class="form-control" @bind-value="@Price"/> <input type="number" class="form-control" @bind-value="Price"/>
@* @*
<button class="btn btn-warning" type="button" @onclick="CallPriceHistoryModal"> <button class="btn btn-warning" type="button" onclick="@CallPriceHistoryModal">
<i class="bi-list-ul"></i> <i class="bi-list-ul"></i>
</button> </button>
*@ *@
</div> </div>
</td> </td>
<td class="align-middle"> <td class="align-middle">
<input type="number" class="form-control" @bind-value="@Discount"/> <input type="number" class="form-control" @bind-value="Discount"/>
</td> </td>
<td class="align-middle">@SelectedItem.Sku</td> <td class="align-middle">@SelectedItem.Sku</td>
<td class="align-middle"> <td class="align-middle">
@* @*
***************** Add line to draft ***************************** ***************** Add line to draft *****************************
*@ *@
<button type="button" class="btn btn-primary d-block text-sm-center" @onclick="@(() => AddItem(SelectedItem))">@Quantity stk. @SelectedItem.Name</button> <button type="button" class="btn btn-primary d-block text-sm-center" onclick="@(() => AddItem(SelectedItem))">@Quantity stk. @SelectedItem.Name</button>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -238,7 +238,7 @@
@* @*
***************** Submit order to erp system ***************************** ***************** Submit order to erp system *****************************
*@ *@
<button type="button" class="btn btn-warning" @onclick="CreateActivity" disabled="@(PoFormInvalid || Working)"><i class="bi-plus"></i> Opret ordre</button> <button type="button" class="btn btn-warning" onclick="@CreateActivity" disabled="@(PoFormInvalid || Working)"><i class="bi-plus"></i> Opret ordre</button>
</div> </div>
</div> </div>

View file

@ -130,6 +130,7 @@ public partial class OfficeOrderCreatePage : IDisposable
// set activity salesRep and countryCode // set activity salesRep and countryCode
Activity.SalesRep = SalesRep.SalesRep; Activity.SalesRep = SalesRep.SalesRep;
Activity.CountryCode = SalesRep.CountryCode; Activity.CountryCode = SalesRep.CountryCode;
Activity.SalesRepId = Company.SalesRepId;
// add customer info into activity properties // add customer info into activity properties
Activity.Account = Company.Account; Activity.Account = Company.Account;
@ -149,25 +150,25 @@ public partial class OfficeOrderCreatePage : IDisposable
Activity.DlvCity = Company.City; Activity.DlvCity = Company.City;
Activity.BcId = Company.BcId; Activity.BcId = Company.BcId;
Activity.CompanyId = Company.CompanyId; Activity.CompanyId = Company.CompanyId;
Activity.SalesRepId = Company.SalesRepId;
// setting up activity properties // setting up activity properties
Activity.ActivityStatusEnum = "noSale"; Activity.ActivityVisitEnum = "none";
Activity.ActivityVisitEnum = "recall";
Activity.ActivityTypeEnum = "phone"; Activity.ActivityTypeEnum = "phone";
Activity.ActivityStatusEnum = "order"; Activity.ActivityStatusEnum = "order";
Activity.OurRef = $"T:{UserInfo.FirstName}"; Activity.OurRef = $"INNOTEC:{UserInfo.FirstName}";
// Initialize date variable // Initialize date variable
SelectedDate = DateTime.Now; SelectedDate = DateTime.Now;
Working = false; Working = false;
} }
private async Task DeleteDraft() private async Task DeleteDraft()
{ {
await DraftProvider.DeleteDraftAsync(); await DraftProvider.DeleteDraftAsync();
} }
private async Task RemoveItem(DraftItem item) private async Task RemoveItem(DraftItem item)
{ {
// remove item // remove item
@ -176,6 +177,7 @@ public partial class OfficeOrderCreatePage : IDisposable
await DraftProvider.SaveChangesAsync(); await DraftProvider.SaveChangesAsync();
} }
private async Task AddItem(SalesItemView salesItem) private async Task AddItem(SalesItemView salesItem)
{ {
ShowItem = false; ShowItem = false;
@ -199,6 +201,7 @@ public partial class OfficeOrderCreatePage : IDisposable
await DraftProvider.SaveChangesAsync(); await DraftProvider.SaveChangesAsync();
} }
private async Task PriceListCallback(SelectedSku sku) private async Task PriceListCallback(SelectedSku sku)
{ {
// get selected item // get selected item
@ -211,24 +214,31 @@ public partial class OfficeOrderCreatePage : IDisposable
StateHasChanged(); StateHasChanged();
} }
private void ShowCatalogOverlay() private void ShowCatalogOverlay()
{ {
CatalogOverlay.Show(); CatalogOverlay.Show();
} }
private void ShowInvoiceOverlay() private void ShowInvoiceOverlay()
{ {
InvoiceListOverlay.Show(); InvoiceListOverlay.Show();
} }
private void ShowVisitOverlay() private void ShowVisitOverlay()
{ {
ActivityListOverlay.Show(); ActivityListOverlay.Show();
} }
private void ShowInventoryOverlay() private void ShowInventoryOverlay()
{ {
InventoryListOverlay.Show(); InventoryListOverlay.Show();
} }
private async Task CreateActivity() private async Task CreateActivity()
{ {
// avoid duplication // avoid duplication
@ -327,7 +337,6 @@ public partial class OfficeOrderCreatePage : IDisposable
Working = false; Working = false;
// show error message // show error message
Toaster.ShowError(result.Message); Toaster.ShowError(result.Message);
} }
private void InventoryCallback(DraftItem item) private void InventoryCallback(DraftItem item)

View file

@ -35,7 +35,7 @@
<AuthorizeView Roles="Admin,Office,Warehouse"> <AuthorizeView Roles="Admin,Office,Warehouse">
<Authorized> <Authorized>
<div class="col-sm-5"> <div class="col-sm-5">
<button type="button" class="btn btn-warning d-block" @onclick="SetExpressState" disabled="@IsNotified">Kvitter for modtagelse</button> <button type="button" class="btn btn-warning d-block" onclick="@SetExpressState" disabled="@IsNotified">Kvitter for modtagelse</button>
</div> </div>
</Authorized> </Authorized>
</AuthorizeView> </AuthorizeView>

View file

@ -70,7 +70,7 @@
<div class="card-footer"> <div class="card-footer">
<div class="row"> <div class="row">
<div class="col text-start"> <div class="col text-start">
<button type="button" class="btn btn-warning" @onclick="RemoveDocument"><i class="bi-trash"></i> Slet</button> <button type="button" class="btn btn-warning" @nclick="@RemoveDocument"><i class="bi-trash"></i> Slet</button>
</div> </div>
<div class="col text-end"> <div class="col text-end">
<button type="submit" class="btn btn-primary"><i class="bi-cloud-upload"></i> Gem</button> <button type="submit" class="btn btn-primary"><i class="bi-cloud-upload"></i> Gem</button>

View file

@ -50,7 +50,7 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col-sm-12 text-end"> <div class="col-sm-12 text-end">
<button class="btn btn-primary" type="button" @onclick="SendMessage">Send besked</button> <button class="btn btn-primary" type="button" onclick="@SendMessage">Send besked</button>
</div> </div>
</div> </div>
</div> </div>

View file

@ -149,10 +149,10 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<button type="button" class="btn btn-danger" disabled="@ReadOnly" @onclick="SendDeleteRequest">SLET</button> <button type="button" class="btn btn-danger" disabled="@ReadOnly" onclick="@SendDeleteRequest">SLET</button>
</div> </div>
<div class="col"> <div class="col">
<button type="button" class="btn btn-warning" @onclick="() => ReadOnly = !ReadOnly">Rediger</button> <button type="button" class="btn btn-warning" onclick="@(() => ReadOnly = !ReadOnly)">Rediger</button>
</div> </div>
<div class="col"> <div class="col">
<button type="submit" class="btn btn-primary" disabled="@ReadOnly">Gem</button> <button type="submit" class="btn btn-primary" disabled="@ReadOnly">Gem</button>
@ -185,7 +185,7 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col align-content-end"> <div class="col align-content-end">
<button class="btn btn-danger" @onclick="SetPassword" disabled="@PwInvalid">NULSTIL</button> <button class="btn btn-danger" onclick="@SetPassword" disabled="@PwInvalid">NULSTIL</button>
</div> </div>
</div> </div>
</EditForm> </EditForm>

View file

@ -108,15 +108,15 @@
<div class="col-md-4"> <div class="col-md-4">
@if (Order.ProcessStatusEnum.ToLower() is "none" or "printed") @if (Order.ProcessStatusEnum.ToLower() is "none" or "printed")
{ {
<button class="btn btn-lg btn-warning text-nowrap" type="button" @onclick="SetProcessStatusPicked" disabled="@Working">Sæt status plukket</button> <button class="btn btn-lg btn-warning text-nowrap" type="button" onclick="@SetProcessStatusPicked" disabled="@Working">Sæt status plukket</button>
} }
@if (Order.ProcessStatusEnum.ToLower() == "picked") @if (Order.ProcessStatusEnum.ToLower() == "picked")
{ {
<button class="btn btn-lg btn-danger text-nowrap" type="button" @onclick="SetProcessStatusPacked" disabled="@Working">Sæt status pakket</button> <button class="btn btn-lg btn-danger text-nowrap" type="button" onclick="@SetProcessStatusPacked" disabled="@Working">Sæt status pakket</button>
} }
@if (Order.ProcessStatusEnum.ToLower() == "packed") @if (Order.ProcessStatusEnum.ToLower() == "packed")
{ {
<button class="btn btn-lg btn-primary text-nowrap" type="button" @onclick="SetProcessStatusShipped" disabled="@Working">Sæt status afsendt</button> <button class="btn btn-lg btn-primary text-nowrap" type="button" onclick="@SetProcessStatusShipped" disabled="@Working">Sæt status afsendt</button>
} }
</div> </div>
</div> </div>

View file

@ -30,6 +30,7 @@ public class AuthStateProvider : AuthenticationStateProvider
private readonly AuthenticationState _anonymous; private readonly AuthenticationState _anonymous;
private readonly IUserInfoService _infoService; private readonly IUserInfoService _infoService;
public AuthStateProvider(HttpClient client, IUserInfoService infoService) public AuthStateProvider(HttpClient client, IUserInfoService infoService)
{ {
_client = client; _client = client;
@ -37,15 +38,20 @@ public class AuthStateProvider : AuthenticationStateProvider
_anonymous = new AuthenticationState(new ClaimsPrincipal(new ClaimsIdentity())); _anonymous = new AuthenticationState(new ClaimsPrincipal(new ClaimsIdentity()));
} }
public override async Task<AuthenticationState> GetAuthenticationStateAsync() public override async Task<AuthenticationState> GetAuthenticationStateAsync()
{ {
var token = await _infoService.GetAccessToken(); var token = await _infoService.GetAccessToken();
if (string.IsNullOrEmpty(token)) if (string.IsNullOrEmpty(token))
{
return _anonymous; return _anonymous;
}
var userInfo = await _infoService.GetUserInfo(); var userInfo = await _infoService.GetUserInfo();
if (userInfo == null) if (string.IsNullOrWhiteSpace(userInfo.UserId))
{
return _anonymous; return _anonymous;
}
_client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("bearer", token); _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("bearer", token);
var exp = await _infoService.GetExpiration(); var exp = await _infoService.GetExpiration();
@ -59,7 +65,8 @@ public class AuthStateProvider : AuthenticationStateProvider
}; };
claims.AddRange( claims.AddRange(
from role in userInfo.AssignedRoles from role in userInfo.AssignedRoles
where role.Assigned select new Claim(ClaimTypes.Role, role.Name)); where role.Assigned select new Claim(ClaimTypes.Role, role.Name)
);
// return the authState for the user // return the authState for the user
return new AuthenticationState( return new AuthenticationState(
@ -67,10 +74,13 @@ public class AuthStateProvider : AuthenticationStateProvider
new ClaimsIdentity(claims, "token"))); new ClaimsIdentity(claims, "token")));
} }
public async void NotifyUserAuthenticationAsync(string token) public async void NotifyUserAuthenticationAsync(string token)
{ {
if (string.IsNullOrEmpty(token)) if (string.IsNullOrEmpty(token))
{
return; return;
}
_client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("bearer", token); _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("bearer", token);
@ -96,6 +106,8 @@ public class AuthStateProvider : AuthenticationStateProvider
NotifyAuthenticationStateChanged(authState); NotifyAuthenticationStateChanged(authState);
} }
public void NotifyUserLogout() public void NotifyUserLogout()
{ {
var authState = Task.FromResult(_anonymous); var authState = Task.FromResult(_anonymous);

View file

@ -19,14 +19,14 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h3 class="modal-title">Bekræft Venligst</h3> <h3 class="modal-title">Bekræft Venligst</h3>
<button type="button" class="btn-close" @onclick="Hide" data-bs-dismiss="modal" aria-label="Luk"></button> <button type="button" class="btn-close" onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<p class="fw-bold">@BodyMessage</p> <p class="fw-bold">@BodyMessage</p>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" @onclick="Hide">Afbryd</button> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal" onclick="@Hide">Afbryd</button>
<button type="button" class="btn btn-primary" data-bs-dismiss="modal" @onclick="() => OnOkClicked.InvokeAsync()">OK</button> <button type="button" class="btn btn-primary" data-bs-dismiss="modal" onclick="@(() => OnOkClicked.InvokeAsync())">OK</button>
</div> </div>
</div> </div>
</div> </div>

View file

@ -19,14 +19,14 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h2 class="modal-title">Bekræft Venligst</h2> <h2 class="modal-title">Bekræft Venligst</h2>
<button type="button" class="btn-close" @onclick="Hide" data-bs-dismiss="modal" aria-label="Luk"></button> <button type="button" class="btn-close" onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@((MarkupString) BodyMessage) @((MarkupString) BodyMessage)
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" @onclick="CancelSelected">Afbryd</button> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal" onclick="@CancelSelected">Afbryd</button>
<button type="button" class="btn btn-primary" data-bs-dismiss="modal" @onclick="OkSelected">OK</button> <button type="button" class="btn btn-primary" data-bs-dismiss="modal" onclick="@OkSelected">OK</button>
</div> </div>
</div> </div>
</div> </div>

View file

@ -21,7 +21,7 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title">@CompanyName</h5> <h5 class="modal-title">@CompanyName</h5>
<button type="button" class="btn-close" @onclick="Hide" data-bs-dismiss="modal" aria-label="Luk"></button> <button type="button" class="btn-close" onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<EditForm Model="Contact" OnValidSubmit="SubmitContact"> <EditForm Model="Contact" OnValidSubmit="SubmitContact">

View file

@ -19,7 +19,7 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header bg-info"> <div class="modal-header bg-info">
<h5 class="modal-title">Info</h5> <h5 class="modal-title">Info</h5>
<button type="button" class="btn-close" @onclick="Hide" data-bs-dismiss="modal" aria-label="Luk"></button> <button type="button" class="btn-close" onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div class="alert alert-info"> <div class="alert alert-info">
@ -27,8 +27,8 @@
</div> </div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" @onclick="Hide">Luk</button> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal" onclick="@Hide">Luk</button>
@* <button type="button" class="btn btn-primary" data-bs-dismiss="modal" @onclick="() => OnOkClicked.InvokeAsync()">OK</button> *@ @* <button type="button" class="btn btn-primary" data-bs-dismiss="modal" onclick="@(() => OnOkClicked.InvokeAsync())">OK</button> *@
</div> </div>
</div> </div>
</div> </div>

View file

@ -22,13 +22,13 @@
<div class="top-row ps-3 navbar navbar-dark"> <div class="top-row ps-3 navbar navbar-dark">
<div class="container-fluid"> <div class="container-fluid">
<a class="navbar-brand" href="/"><TopbarDisplayUser /></a> <a class="navbar-brand" href="/"><TopbarDisplayUser /></a>
<button title="Navigation menu" class="navbar-toggler" @onclick="ToggleNavMenu"> <button title="Navigation menu" class="navbar-toggler" onclick="@ToggleNavMenu">
<span class="navbar-toggler-icon"></span> <span class="navbar-toggler-icon"></span>
</button> </button>
</div> </div>
</div> </div>
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu"> <div class="@NavMenuCssClass" onclick="@ToggleNavMenu">
<nav class="flex-column"> <nav class="flex-column">
<AuthorizeView> <AuthorizeView>
<NotAuthorized> <NotAuthorized>

View file

@ -22,13 +22,13 @@
<div class="top-row ps-3 navbar navbar-dark"> <div class="top-row ps-3 navbar navbar-dark">
<div class="container-fluid"> <div class="container-fluid">
<a class="navbar-brand" href="/"><TopbarDisplayUser /></a> <a class="navbar-brand" href="/"><TopbarDisplayUser /></a>
<button title="Navigation menu" class="navbar-toggler" @onclick="ToggleNavMenu"> <button title="Navigation menu" class="navbar-toggler" onclick="@ToggleNavMenu">
<span class="navbar-toggler-icon"></span> <span class="navbar-toggler-icon"></span>
</button> </button>
</div> </div>
</div> </div>
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu"> <div class="@NavMenuCssClass" onclick="@ToggleNavMenu">
<nav class="flex-column"> <nav class="flex-column">
<AuthorizeView> <AuthorizeView>
<NotAuthorized> <NotAuthorized>

View file

@ -20,7 +20,7 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title">CVR opslag</h5> <h5 class="modal-title">CVR opslag</h5>
<button type="button" class="btn-close" @onclick="Hide" data-bs-dismiss="modal" aria-label="Luk"></button> <button type="button" class="btn-close" onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<VatNumberInputComponent VatNumber="@ThisVatNumber" OnValidSubmit="GetInfoFromVat"/> <VatNumberInputComponent VatNumber="@ThisVatNumber" OnValidSubmit="GetInfoFromVat"/>
@ -47,10 +47,10 @@
<td class="align-middle">@info.ZipCode @info.City</td> <td class="align-middle">@info.ZipCode @info.City</td>
<td class="align-middle">@info.States[^1].State</td> <td class="align-middle">@info.States[^1].State</td>
<td class="align-middle"> <td class="align-middle">
<button type="button" class="btn btn-primary" @onclick="@(() => SelectCompany(info.VatNumber, true))">Alle data</button> <button type="button" class="btn btn-primary" onclick="@(() => SelectCompany(info.VatNumber, true))">Alle data</button>
</td> </td>
<td class="align-middle"> <td class="align-middle">
<button type="button" class="btn btn-primary" @onclick="@(() => SelectCompany(info.VatNumber, false))">Moms Nr</button> <button type="button" class="btn btn-primary" onclick="@(() => SelectCompany(info.VatNumber, false))">Moms Nr</button>
</td> </td>
</tr> </tr>
} }