bump version

This commit is contained in:
Frede Hundewadt 2022-04-08 14:33:38 +02:00
parent a6c965ee24
commit 88c4c22f83
10 changed files with 13 additions and 272 deletions

View file

@ -2,8 +2,8 @@ namespace Wonky.Client;
public class AppId
{
public string Version { get; set; } = "v0.2.10";
public string Name { get; set; } = "Wonky";
public string Version { get; set; } = "0.2.11";
public string Name { get; set; } = "WO";
public bool IsBeta { get; set; } = false;
public bool IsBeta { get; set; } = true;
}

View file

@ -24,7 +24,7 @@
@foreach (var company in Companies)
{
<tr>
<td><DisplayStateComponent StateClass="@(Utils.GetVisitState(company.NextVisit))"></DisplayStateComponent></td>
<td style="width:50px;"><DisplayStateComponent StateClass="@(company.HasFolded == 1 ? "the-dead" : Utils.GetVisitState(company.NextVisit))"></DisplayStateComponent></td>
<td>@company.Name</td>
<td>@company.Account</td>
<td>@company.City</td>

View file

@ -15,7 +15,7 @@
//
*@
<img class="img-fluid float-start state rounded-circle @StateClass mx-3" src="state.png" alt="state"/>
<img class="img-fluid float-start rounded-circle state @StateClass mx-3" src="state.png" alt="state"/>
@code{
[Parameter] public string StateClass { get; set; } = "the-ugly";
[Parameter] public string StateClass { get; set; } = "the-dead";
}

View file

@ -25,7 +25,7 @@
<div class="card">
<div class="card-header">
<div class="card-header">
<div class="h2">@(_hasFolded ? @_company.Account : "LUKKET" ) - @_company.Name</div>
<div class="h2"><img src="gravestone.png" class="img-fluid" style="float:left;width:48px;height:48px;display:@(_hasFolded ? "block" : "none")" alt="tombstone" /> @_company.Name</div>
</div>
</div>
<div class="card-body">
@ -70,7 +70,7 @@
</tr>
<tr>
<th scope="row">Næste besøg</th>
<td class="state"><DisplayStateComponent StateClass="@(Utils.GetVisitState(_company.NextVisit))"></DisplayStateComponent></td>
<td class="state"><DisplayStateComponent StateClass="@(_hasFolded ? "the-dead" : Utils.GetVisitState(_company.NextVisit))"></DisplayStateComponent></td>
<td>@_company.NextVisit</td>
</tr>
</tbody>

View file

@ -44,7 +44,6 @@ public partial class CompanyView : IDisposable
if(_company.HasFolded == 1)
{
_vatState = "the-dead";
_hasFolded = true;
}
else

View file

@ -1,152 +0,0 @@
@using Wonky.Client.Components
@using System.Net.Http.Headers
@page "/OrdreKladde"
@* display product filter options *@
<div class="row mb-3">
<div class="col">
<ItemGroupDropdown OnChanged="SetItemGroup" />
</div>
<div class="col">
<ItemSearchDropdown OnChanged="SetSearchCol" />
</div>
<div class="col">
<SearchPhrase OnChanged="SetSortCol" />
</div>
<div class="col">
</div>
</div>
@if (SalesItems.Any())
{
// display filtered product list
<table class="table table-hover table-striped justify-content-center">
<thead>
<tr>
<th scope="col" style="width: 50%;">Navn</th>
<th scope="col" style="width: 30%;" class="text-nowrap">Varenr</th>
<th scope="col" style="width: 20%">Stk / Pris</th>
<th scope="col"></th>
</tr>
</thead>
<tbody>
@foreach (var item in SalesItems)
{
<tr>
<td>@item.Name</td>
<td>@item.Sku</td>
<td><ul class="list-group">
@foreach (var rate in item.Rates)
{
<li class="list-group-item d-flex justify-content-between align-items-end">
<div class="text-sm-start px-2">@rate.Quantity</div>
<div class="text-sm-end">@rate.Rate</div>
</li>
}
</ul></td>
<td><button class="btn btn-primary" @onclick="@(() => SelectItem(item.ItemId))">Vælg</button></td>
</tr>
}
</tbody>
</table>
}
else
{
<AppSpinner/>
}
@* Display draft line *@
@if (_selectedItem != null && ShowItem)
{
<div class="card mb-3 mt-3">
<div class="card-header bg-info fw-bold text-white">Kladdelinje</div>
<div class="card-body">
<div class="row">
<div class="col col-md-4 fw-bold">
Varenavn
</div>
<div class="col fw-bold">
Varenr
</div>
<div class="col fw-bold">
Antal
</div>
<div class="col fw-bold">
Pris
</div>
<div class="col">
</div>
</div>
<div class="row">
<div class="col col-md-4">
@_selectedItem.Name
</div>
<div class="col">
@_selectedItem.Sku
</div>
<div class="col">
<input class="form-control" type="number" @bind-value="@Quantity"/>
</div>
<div class="col">
<input class="form-control" type="number" @bind-value="@Price"/>
</div>
<div class="col">
<button class="btn btn-info" @onclick="@(() => AddItem(_selectedItem))">Læg til</button>
</div>
</div>
</div>
</div>
}
@* Display draft lines *@
@if (DraftStateProvider != null && DraftStateProvider.Draft.Items.Count > 0)
{
<div class="card mt-3 mb-3">
<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">
<table class="table table-hover table-striped justify-content-center">
<thead>
<tr>
<th scope="col">Navn</th>
<th scope="col" class="text-nowrap">Varenr</th>
<th scope="col" class="text-end">Antal</th>
<th scope="col" class="text-end">Enhedspris</th>
<th scope="col" class="text-end">Linjesum</th>
<th scope="col">&nbsp;</th>
</tr>
</thead>
<tbody>
@foreach (var cItem in DraftStateProvider.Draft.Items)
{
<tr>
<td>@cItem.Item.Name</td>
<td>@cItem.Item.Sku</td>
<td class="text-end">@cItem.Quantity</td>
<td class="text-end">@cItem.Price</td>
<td class="text-end">@cItem.Total</td>
<td><button class="btn btn-warning" @onclick="@(() => RemoveItem(@cItem))">Slet</button></td>
</tr>
}
<tr>
<td></td>
<td></td>
<td></td>
<td class="text-black text-end fw-bold">Total</td>
<td class="text-black text-end fw-bold">@DraftStateProvider.Draft.Total</td>
<td></td>
</tr>
</tbody>
</table>
</div>
<div class="card-footer">
<div class="row">
<div class="col">
<button class="btn btn-danger" @onclick="@DeleteDraft">Slet kladde</button>
</div>
<div class="col">
<a class="btn btn-success" href="/Companies">Overfør</a>
</div>
</div>
</div>
</div>
}

View file

@ -1,103 +0,0 @@
using Microsoft.AspNetCore.Components;
using Wonky.Client.HttpInterceptors;
using Wonky.Client.HttpRepository;
using Wonky.Client.Models;
using Wonky.Client.Services;
using Wonky.Client.Shared;
using Wonky.Entity.DTO;
using Wonky.Entity.Models;
using Wonky.Entity.Requests;
namespace Wonky.Client.Pages;
public partial class DraftDocument : IDisposable
{
[CascadingParameter] DraftStateProvider DraftStateProvider { get; set; }
private bool ShowItem;
private bool ShowSearchView;
private string Quantity = "1";
private string Price = "0";
private SalesItemDto _selectedItem { get; set; } = new();
private List<SalesItemDto> SalesItems { get; set; } = new();
private MetaData _meta { get; set; } = new();
private CatalogPagingParams _paging { get; set; } = new();
private Preferences _prefs { get; set; } = new();
[Inject] private ISalesItemHttpRepository ItemRepo { get; set; }
[Inject] private ICompanyHttpRepository CompanyRepo { get; set; }
[Inject] private HttpInterceptorService Interceptor { get; set; }
[Inject] private UserPreferenceService UserPrefs { get; set; }
protected override async Task OnInitializedAsync()
{
_prefs = await UserPrefs.GetPreferences();
_paging.SearchColumn = _prefs.ItemSearch;
Interceptor.RegisterEvent();
Interceptor.RegisterBeforeSendEvent();
await GetSalesItems();
}
private async Task GetSalesItems()
{
_paging.PageSize = 5;
var response = await ItemRepo.GetSalesItemsPaged(_paging);
SalesItems = response.Items!;
_meta = response.MetaData;
}
private async Task DeleteDraft()
{
await DraftStateProvider.DeleteDraftAsync();
}
private void SelectItem(string itemId)
{
ShowItem = true;
_selectedItem = (from x in SalesItems where x.ItemId == itemId select x).First();
Price = _selectedItem.Rates[0].Rate;
Quantity = "1";
}
private async Task AddItem(SalesItemDto salesItem)
{
ShowItem = false;
// create a new cart item
var item = new DraftItem
{
Item = salesItem,
Quantity = Convert.ToInt32(Quantity),
Price = Convert.ToDecimal(Price)
};
// add it to the cart
DraftStateProvider.Draft.Items.Add(item);
// save the item using the CartStateProvider's save method
await DraftStateProvider.SaveChangesAsync();
}
private async Task RemoveItem(DraftItem item)
{
// remove item
DraftStateProvider.Draft.Items.Remove(item);
// save the remaining draft
await DraftStateProvider.SaveChangesAsync();
}
private async Task SetItemGroup(string groupFilter)
{
_paging.PageNumber = 1;
_paging.SelectGroup = groupFilter;
await GetSalesItems();
}
private async Task SetSearchCol(string columnName)
{
_paging.PageNumber = 1;
_paging.SearchTerm = "";
_paging.SearchColumn = columnName;
await GetSalesItems();
}
private async Task SetSortCol(string searchTerm)
{
_paging.PageNumber = 1;
_paging.SearchTerm = searchTerm;
await GetSalesItems();
}
public void Dispose() => Interceptor.DisposeEvent();
}

View file

@ -215,7 +215,7 @@
@if (DraftStateProvider != null && DraftStateProvider.Draft.Items.Count > 0)
{
<div class="card mt-3 mb-3">
<div class="card-header bg-success text-white fw-bold">Ordrekladde <span class="draft-expires-msg">(Kladde udløber efter @(DraftStateProvider.Draft.TimeToLiveInSeconds / 60)m)s inaktivitet.</span></div>
<div class="card-header bg-success text-white fw-bold">Ordrekladde <span class="draft-expires-msg">Kladde udløber efter @(DraftStateProvider.Draft.TimeToLiveInSeconds)m inaktivitet.</span></div>
<div class="card-body">
<table class="table table-hover table-striped justify-content-center">
<thead>

View file

@ -48,12 +48,6 @@
<span class="oi oi-list-rich" aria-hidden="true"></span> Priskatalog
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="/OrdreKladde">
<span class="oi oi-list-rich" aria-hidden="true"></span> WIP-ordre
</NavLink>
</div>
</Authorized>
</AuthorizeView>
</nav>

View file

@ -7,7 +7,7 @@
height: 48px;
}
/* Display visit state classes */
/* visit / vat state classes */
.state {
width: 24px;
height: 24px;
@ -17,6 +17,9 @@
.tombstone {
background-image: url(../gravestone.png);
}
.the-dead {
background-color: black;
}
.the-draw {
background-color: purple;
}