wip - transfer draft to company - by select or create - validate vat number

This commit is contained in:
FH 2022-03-16 09:09:08 +01:00
parent b7adab357c
commit 5043afbabd
7 changed files with 15 additions and 69 deletions

View file

@ -31,20 +31,18 @@
<table class="table table-striped"> <table class="table table-striped">
<tr> <tr>
<th scope="row">Status</th> <th scope="row">Status</th>
<td colspan="2"><strong>@state.State</strong></td> <td><strong>@state.State</strong></td>
</tr> </tr>
<tr> <tr>
<th scope="row">Opdateret</th> <th scope="row">Opdateret</th>
<td colspan="2">@state.LastUpdate</td> <td>@state.LastUpdate</td>
</tr> </tr>
<tr> <tr>
<th scope="row">Periode</th> <th scope="row">Periode Start</th>
<th scope="row">Start</th>
<td>@state.TimeFrame.StartDate</td> <td>@state.TimeFrame.StartDate</td>
</tr> </tr>
<tr> <tr>
<th scope="row">Periode</th> <th scope="row">Periode Slut</th>
<th scope="row">Slut</th>
<td>@state.TimeFrame.EndDate</td> <td>@state.TimeFrame.EndDate</td>
</tr> </tr>
</table> </table>

View file

@ -5,13 +5,13 @@
@* display product filter options *@ @* display product filter options *@
<div class="row mb-3"> <div class="row mb-3">
<div class="col"> <div class="col">
<ItemSearchColumn OnSearchColumnChanged="SearchColumnChanged"></ItemSearchColumn> <ItemSearchColumn OnSearchColumnChanged="ProductColumnChanged"></ItemSearchColumn>
</div> </div>
<div class="col"> <div class="col">
<SearchPhrase OnSearchPhraseChanged="SearchPhraseChanged"></SearchPhrase> <SearchPhrase OnSearchPhraseChanged="ProductSearchChanged"></SearchPhrase>
</div> </div>
<div class="col"> <div class="col">
<ItemGroupFilter OnGroupFilterChanged="GroupFilterChanged"></ItemGroupFilter> <ItemGroupFilter OnGroupFilterChanged="ProductGroupChanged"></ItemGroupFilter>
</div> </div>
<div class="col"> <div class="col">
@ -102,7 +102,7 @@ else
@if (DraftStateProvider != null && DraftStateProvider.Draft.Items.Count > 0) @if (DraftStateProvider != null && DraftStateProvider.Draft.Items.Count > 0)
{ {
<div class="card mt-3 mb-3"> <div class="card mt-3 mb-3">
<div class="card-header bg-success text-white fw-bold">Ordrekladde <span class="draft-expires-msg">(udløber efter @(DraftStateProvider.Draft.TimeToLiveInSeconds)s inaktivitet)</span></div> <div class="card-header bg-success text-white fw-bold">Ordrekladde <span class="draft-expires-msg">(Kladde udløber efter inaktivity i @(DraftStateProvider.Draft.TimeToLiveInSeconds / 60)m)</span></div>
<div class="card-body"> <div class="card-body">
<table class="table table-hover table-striped justify-content-center"> <table class="table table-hover table-striped justify-content-center">
<thead> <thead>
@ -141,7 +141,7 @@ else
<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="DeleteDraft">Slet kladde</button> <button class="btn btn-danger" @onclick="@DeleteDraft">Slet kladde</button>
</div> </div>
<div class="col"> <div class="col">
<a class="btn btn-success" href="/Companies">Overfør</a> <a class="btn btn-success" href="/Companies">Overfør</a>

View file

@ -72,24 +72,23 @@ public partial class DraftDocument : IDisposable
{ {
// remove item // remove item
DraftStateProvider.Draft.Items.Remove(item); DraftStateProvider.Draft.Items.Remove(item);
// save the remaining draft // save the remaining draft
await DraftStateProvider.SaveChangesAsync(); await DraftStateProvider.SaveChangesAsync();
} }
private async Task GroupFilterChanged(string groupFilter) private async Task ProductGroupChanged(string groupFilter)
{ {
_paging.PageNumber = 1; _paging.PageNumber = 1;
_paging.SelectGroup = groupFilter; _paging.SelectGroup = groupFilter;
await GetSalesItems(); await GetSalesItems();
} }
private async Task SearchColumnChanged(string columnName) private async Task ProductColumnChanged(string columnName)
{ {
_paging.PageNumber = 1; _paging.PageNumber = 1;
_paging.SearchTerm = ""; _paging.SearchTerm = "";
_paging.SearchColumn = columnName; _paging.SearchColumn = columnName;
await GetSalesItems(); await GetSalesItems();
} }
private async Task SearchPhraseChanged(string searchTerm) private async Task ProductSearchChanged(string searchTerm)
{ {
_paging.PageNumber = 1; _paging.PageNumber = 1;
_paging.SearchTerm = searchTerm; _paging.SearchTerm = searchTerm;

View file

@ -99,28 +99,8 @@
</div> </div>
</div> </div>
<hr/>
<div class="row mb-2">
<div class="col">
<SalesItemSearchField OnSearchFieldChanged="SearchFieldChange"></SalesItemSearchField>
</div>
<div class="col">
<SearchPhrase OnSearchPhraseChanged="SearchTermChanged"></SearchPhrase>
</div>
<div class="col">
<SalesItemSort OnSortFieldChanged="OrderByChanged"></SalesItemSort>
</div>
</div>
<div class="row">
<div class="col">
<SalesItemTable SalesItems="SalesItemList"></SalesItemTable>
</div>
</div>
<hr/>
<PurchaseOrderLinesTable Lines="Lines"></PurchaseOrderLinesTable>
<div class="row mb-2"> <div class="row mb-2">
<div class="col-md-12"> <div class="col-md-12">
<button type="submit" class="btn btn-success" disabled="@_poFormInvalid">Send tilbud</button> <button type="submit" class="btn btn-success" disabled="@_poFormInvalid">Send tilbud</button>

View file

@ -84,7 +84,6 @@ public partial class PurchaseOrderCreate : IDisposable
_purchaseOrder.DlvZipCode = _companyDto.ZipCode; _purchaseOrder.DlvZipCode = _companyDto.ZipCode;
_purchaseOrder.DlvCity = _companyDto.City; _purchaseOrder.DlvCity = _companyDto.City;
await GetSalesItems();
} }
@ -94,36 +93,6 @@ public partial class PurchaseOrderCreate : IDisposable
ToastService.ShowSuccess($"Aktivitet oprettet."); ToastService.ShowSuccess($"Aktivitet oprettet.");
} }
private async Task SearchFieldChange(string? searchField)
{
_paging.PageNumber = 1;
_paging.SearchColumn = searchField;
await GetSalesItems();
}
private async Task SearchTermChanged(string? searchTerm)
{
_paging.PageNumber = 1;
_paging.SearchTerm = searchTerm;
await GetSalesItems();
}
private async Task OrderByChanged(string? orderBy)
{
_paging.OrderBy = orderBy;
await GetSalesItems();
}
private async Task GetSalesItems()
{
if (SalesItemRepo != null)
{
var pagingResponse = await SalesItemRepo.GetSalesItemsPaged(_paging);
SalesItemList = pagingResponse.Items;
MetaData = pagingResponse.MetaData;
}
}
private void HandleFieldChanged(object sender, FieldChangedEventArgs e) private void HandleFieldChanged(object sender, FieldChangedEventArgs e)
{ {
_poFormInvalid = !_editContext.Validate(); _poFormInvalid = !_editContext.Validate();

View file

@ -56,6 +56,7 @@ public partial class DraftStateProvider
public async Task DeleteDraftAsync() public async Task DeleteDraftAsync()
{ {
await LocalStorageService.RemoveItemAsync(Account); Draft.Items.Clear();
await LocalStorageService.SetItemAsync(Account, Draft);
} }
} }

View file

@ -24,7 +24,6 @@ public class DraftItem
public class Draft public class Draft
{ {
public List<DraftItem> Items { get; set; } = new List<DraftItem>(); public List<DraftItem> Items { get; set; } = new List<DraftItem>();
public decimal Total public decimal Total
{ {
get get
@ -33,5 +32,5 @@ public class Draft
} }
} }
public DateTime LastAccessed { get; set; } public DateTime LastAccessed { get; set; }
public int TimeToLiveInSeconds { get; set; } = 300; // default public int TimeToLiveInSeconds { get; set; } = 3600; // default
} }