Bozza pagine pickup / depèosito e menu nav

This commit is contained in:
Samuele Locatelli
2021-11-19 16:46:02 +01:00
parent 3aed8b7b39
commit be9bf008e5
8 changed files with 106 additions and 18 deletions
+4 -12
View File
@@ -40,31 +40,23 @@
</div>
</div>
<div class="row">
<div class="col-2">
<div class="col-6">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">
L mm
<b>L</b> <sub>mm</sub>
</span>
</div>
<InputNumber @bind-Value="@_currItem.LMm" class="form-control text-right"></InputNumber>
</div>
</div>
<div class="col-2">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">
W mm
<b>W</b> <sub>mm</sub>
</span>
</div>
<InputNumber @bind-Value="@_currItem.WMm" class="form-control text-right"></InputNumber>
</div>
</div>
<div class="col-2">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">
T mm
<b>T</b> <sub>mm</sub>
</span>
</div>
<InputNumber @bind-Value="@_currItem.TMm" class="form-control text-right"></InputNumber>
+17 -4
View File
@@ -14,6 +14,8 @@ namespace REMAN.Data
private static IConfiguration _configuration;
private static ILogger<RDataService> _logger;
private List<string> cachedDataList = new List<string>();
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
//private readonly IEmailSender _emailSender;
@@ -37,8 +39,8 @@ namespace REMAN.Data
#region Protected Fields
protected const string rKeyMaterials = "REMAN:Materials";
protected const string rKeyRemnants = "REMAN:Remnants";
protected const string rKeyMaterials = "Cache:Materials";
protected const string rKeyRemnants = "Cache:Remnants";
protected static string connStringBBM = "";
#endregion Protected Fields
@@ -120,7 +122,13 @@ namespace REMAN.Data
{
List<RemnantsModel> dbResult = new List<RemnantsModel>();
string rawData;
var redisDataList = await distributedCache.GetAsync(rKeyRemnants);
string cacheKey = $"{rKeyRemnants}:{matId}:{minQty}";
if (!cachedDataList.Contains(cacheKey))
{
cachedDataList.Add(cacheKey);
}
var redisDataList = await distributedCache.GetAsync(cacheKey);
if (redisDataList != null)
{
rawData = Encoding.UTF8.GetString(redisDataList);
@@ -134,7 +142,7 @@ namespace REMAN.Data
dbResult = rawList.OrderBy(o => o.Area).ToList();
rawData = JsonConvert.SerializeObject(dbResult);
redisDataList = Encoding.UTF8.GetBytes(rawData);
await distributedCache.SetAsync(rKeyRemnants, redisDataList, cacheOpt(false));
await distributedCache.SetAsync(cacheKey, redisDataList, cacheOpt(false));
stopWatch.Stop();
TimeSpan ts = stopWatch.Elapsed;
Log.Trace($"Effettuata lettura da DB + caching per RemnantsGetAll: {ts.TotalMilliseconds} ms");
@@ -195,6 +203,11 @@ namespace REMAN.Data
{
await distributedCache.RemoveAsync(rKeyMaterials);
await distributedCache.RemoveAsync(rKeyRemnants);
foreach (var item in cachedDataList)
{
await distributedCache.RemoveAsync(item);
}
cachedDataList = new List<string>();
}
+35
View File
@@ -5,3 +5,38 @@
<h1>ReMan</h1>
Remnants Management App
<div class="row mt-4">
<div class="col-12 col-md-6 col-lg-4 col-xl-3 my-2">
<NavLink class="btn btn-block btn-primary" href="remnantDepo">
<i class="fas fa-upload fa-3x" aria-hidden="true"></i>
<div class="h4 my-3">
Remnant Deposit
</div>
</NavLink>
</div>
<div class="col-12 col-md-6 col-lg-4 col-xl-3 my-2">
<NavLink class="btn btn-block btn-info" href="remnantPick">
<i class="fas fa-download fa-3x" aria-hidden="true"></i>
<div class="h4 my-3">
Remnant Pickup
</div>
</NavLink>
</div>
<div class="col-12 col-md-6 col-lg-4 col-xl-3 my-2">
<NavLink class="btn btn-block btn-dark" href="materials">
<i class="fas fa-star fa-3x" aria-hidden="true"></i>
<div class="h4 my-3">
Materials list
</div>
</NavLink>
</div>
<div class="col-12 col-md-6 col-lg-4 col-xl-3 my-2">
<NavLink class="btn btn-block btn-secondary" href="remnants">
<i class="fas fa-star-half fa-3x" aria-hidden="true"></i>
<div class="h4 my-3">
Remnants list
</div>
</NavLink>
</div>
</div>
+9 -1
View File
@@ -10,6 +10,12 @@
<div class="px-2">
<h2>Remnants</h2>
</div>
<div class="px-2">
@if (processing)
{
<span class="spinner-border"></span> <i>...working...</i>
}
</div>
<div class="px-2">
<div class="input-group">
<div class="input-group-prepend">
@@ -58,7 +64,6 @@
{
<div class="row">
<div class="col-12">
@*<div id="qrCodeImg"></div>*@
<table class="table table-sm table-striped">
<thead>
<tr>
@@ -85,6 +90,9 @@
<button class="btn btn-sm btn-warning" @onclick="() => Clone(record)" title="Duplicate">
<i class="fas fa-code-branch"></i>
</button>
<button class="btn btn-sm btn-success" @onclick="() => Print(record)" title="Print label">
<i class="fas fa-print"></i>
</button>
</td>
<td>
<b>@record.MaterialNav.MatExtCode</b>
+24 -1
View File
@@ -19,7 +19,8 @@ namespace REMAN.Pages
#region Protected Fields
protected int SelMatID = 0;
protected int _SelMatID = 0;
protected bool processing = false;
#endregion Protected Fields
@@ -82,6 +83,20 @@ namespace REMAN.Pages
[Inject]
protected IJSRuntime JSRuntime { get; set; }
protected int SelMatID
{
get
{
return _SelMatID;
}
set
{
_SelMatID = value;
var pUpd = Task.Run(async () => await ReloadData());
pUpd.Wait();
}
}
protected int totalCount
{
get
@@ -182,6 +197,14 @@ namespace REMAN.Pages
await ReloadData();
}
protected async Task Print(RemnantsModel selRecord)
{
processing = true;
await Task.Delay(1000);
// chiamata esterna x registrare richiesta
processing = false;
}
protected async Task remQty(RemnantsModel selRecord)
{
//if (!await JSRuntime.InvokeAsync<bool>("confirm", "Confirm qtantity decrease?"))
+6
View File
@@ -15,6 +15,12 @@ builder.Services.AddAuthorization(options =>
options.FallbackPolicy = options.DefaultPolicy;
});
builder.Services.AddStackExchangeRedisCache(options =>
{
options.ConfigurationOptions = new StackExchange.Redis.ConfigurationOptions() { KeepAlive = 180, DefaultDatabase = 13, EndPoints = { { "localhost", 6379 } } };
options.InstanceName = "ReMan:";
});
builder.Services.AddRazorPages();
builder.Services.AddServerSideBlazor();
builder.Services.AddSingleton<RDataService>();
+1
View File
@@ -8,6 +8,7 @@
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Authentication.Negotiate" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="6.0.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
</ItemGroup>
+10
View File
@@ -14,6 +14,16 @@
<span class="oi oi-home" aria-hidden="true"></span> Home
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="remnantDepo">
<i class="fas fa-upload pr-2" aria-hidden="true"></i>Remnant Deposit
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="remnantPick">
<i class="fas fa-download pr-2" aria-hidden="true"></i>Remnant Pickup
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="materials">
<i class="fas fa-star pr-2" aria-hidden="true"></i>Materials list