Merge branch 'release/FixDeployMvc'
This commit is contained in:
@@ -162,7 +162,7 @@
|
||||
</site>
|
||||
<site name="StockManMVC" id="2">
|
||||
<application path="/" applicationPool="Clr4IntegratedAppPool">
|
||||
<virtualDirectory path="/" physicalPath="D:\Repo\StockMan\StockManMVC" />
|
||||
<virtualDirectory path="/" physicalPath="C:\Users\samuele.steamw\source\StockMan\StockManMVC" />
|
||||
</application>
|
||||
<bindings>
|
||||
<binding protocol="http" bindingInformation="*:4539:localhost" />
|
||||
@@ -170,7 +170,7 @@
|
||||
</site>
|
||||
<site name="SiteSelector" id="3">
|
||||
<application path="/" applicationPool="Clr4IntegratedAppPool">
|
||||
<virtualDirectory path="/" physicalPath="D:\Repo\StockMan\SiteSelector" />
|
||||
<virtualDirectory path="/" physicalPath="C:\Users\samuele.steamw\source\StockMan\SiteSelector" />
|
||||
</application>
|
||||
<bindings>
|
||||
<binding protocol="http" bindingInformation="*:3526:localhost" />
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<body>
|
||||
<i>StockMan CORE - Gestione Magazzino</i>
|
||||
<h4>Versione: 3.0.2303.215</h4>
|
||||
<h4>Versione: 3.0.2303.217</h4>
|
||||
<br /> Note di rilascio:
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
@@ -1 +1 @@
|
||||
3.0.2303.215
|
||||
3.0.2303.217
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<item>
|
||||
<version>3.0.2303.215</version>
|
||||
<version>3.0.2303.217</version>
|
||||
<url>http://nexus.steamware.net/repository/SWS/GPW/stable/GPW.UI.zip</url>
|
||||
<changelog>http://nexus.steamware.net/repository/SWS/GPW/stable/ChangeLog.html</changelog>
|
||||
<mandatory>false</mandatory>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<IISExpressAnonymousAuthentication>disabled</IISExpressAnonymousAuthentication>
|
||||
<IISExpressWindowsAuthentication>enabled</IISExpressWindowsAuthentication>
|
||||
<NameOfLastUsedPublishProfile>IIS01</NameOfLastUsedPublishProfile>
|
||||
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
|
||||
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
|
||||
<Use64BitIISExpress />
|
||||
<IISExpressSSLPort />
|
||||
<IISExpressUseClassicPipelineMode />
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
<div class="row">
|
||||
<div class="w-50 d-flex row pb-1 col">
|
||||
<div class="form-floating col ps-1">
|
||||
<select id="fam" @bind="searchFamily" class="form-select">
|
||||
<option value="*">--TUTTI--</option>
|
||||
@if (itemFamList != null)
|
||||
{
|
||||
@foreach (var item in itemFamList)
|
||||
{
|
||||
<option value="@item.Id">@item.Descr</option>
|
||||
}
|
||||
}
|
||||
</select>
|
||||
<label for="fam">Famiglia articoli</label>
|
||||
</div>
|
||||
<div class="form-floating col ps-1">
|
||||
<input id="search" @bind="searchVal" class="form-control" />
|
||||
<label for="search">Search</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using StockMan.CORE.Data;
|
||||
using StockMan.Data.DbModels;
|
||||
|
||||
namespace StockMan.CORE.Components
|
||||
{
|
||||
public partial class ItemFilter
|
||||
{
|
||||
[Parameter]
|
||||
public EventCallback<ItemSelectFilter> FilterUpdated { get; set; }
|
||||
[Parameter]
|
||||
public ItemSelectFilter actFilter { get; set; } = new ItemSelectFilter();
|
||||
public List<ItemFamilyModel>? itemFamList { get; set; } = null;
|
||||
[Inject]
|
||||
protected StockDataService SDService { get; set; } = null!;
|
||||
protected override async Task OnParametersSetAsync()
|
||||
{
|
||||
itemFamList = await SDService.ItemFamilyGetAll();
|
||||
}
|
||||
|
||||
private string searchVal
|
||||
{
|
||||
get => actFilter.searchValue;
|
||||
set
|
||||
{
|
||||
actFilter.CurrPage = 1;
|
||||
actFilter.searchValue = value;
|
||||
StateHasChanged();
|
||||
ReportChange();
|
||||
}
|
||||
}
|
||||
private string searchFamily
|
||||
{
|
||||
get => actFilter.itemFamily;
|
||||
set
|
||||
{
|
||||
actFilter.CurrPage = 1;
|
||||
actFilter.itemFamily = value;
|
||||
StateHasChanged();
|
||||
ReportChange();
|
||||
}
|
||||
}
|
||||
private void ReportChange()
|
||||
{
|
||||
FilterUpdated.InvokeAsync(actFilter);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -8,165 +8,162 @@ else if (ListRecord == null || ListRecord.Count == 0)
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<div class="row">
|
||||
<div class="w-50 d-flex row pb-1 col">
|
||||
<div class="form-floating col ps-1">
|
||||
<select id="fam" @bind="searchFamily" class="form-select">
|
||||
<option value="*">--TUTTI--</option>
|
||||
@if (itemFamList != null)
|
||||
{
|
||||
@foreach (var item in itemFamList)
|
||||
{
|
||||
<option value="@item.Id">@item.Descr</option>
|
||||
}
|
||||
}
|
||||
</select>
|
||||
<label for="fam">Famiglia articoli</label>
|
||||
</div>
|
||||
<div class="form-floating col ps-1">
|
||||
<input id="search" @bind="searchVal" class="form-control" />
|
||||
<label for="search">Search</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col text-end pe-4">
|
||||
<button data-bs-toggle="modal" data-bs-target="#modalNewFam" class="btn btn-success" title="Aggiungere nuovo articolo"><i class="fa-solid fa-plus"></i> Aggiungi nuovo articolo</button>
|
||||
</div>
|
||||
@*<button data-bs-toggle="modal" data-bs-target="#modalNewFam" class="h-50 mt-4 btnAccept"><i class="fa-solid fa-plus"></i></button>*@
|
||||
@*<div class="row">
|
||||
<div class="w-50 d-flex row pb-1 col">
|
||||
<div class="form-floating col ps-1">
|
||||
<select id="fam" @bind="searchFamily" class="form-select">
|
||||
<option value="*">--TUTTI--</option>
|
||||
@if (itemFamList != null)
|
||||
{
|
||||
@foreach (var item in itemFamList)
|
||||
{
|
||||
<option value="@item.Id">@item.Descr</option>
|
||||
}
|
||||
}
|
||||
</select>
|
||||
<label for="fam">Famiglia articoli</label>
|
||||
</div>
|
||||
<div class="form-floating col ps-1">
|
||||
<input id="search" @bind="searchVal" class="form-control" />
|
||||
<label for="search">Search</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col text-end pe-4">
|
||||
<button data-bs-toggle="modal" data-bs-target="#modalNewFam" class="btn btn-success" title="Aggiungere nuovo articolo"><i class="fa-solid fa-plus"></i> Aggiungi nuovo articolo</button>
|
||||
</div>
|
||||
@*
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table class="table table-striped table-bordered">
|
||||
<thead>
|
||||
<tr class="small row col-12">
|
||||
<th class="col-1">
|
||||
</th>
|
||||
</div>*@
|
||||
<div class="card-body">
|
||||
<table class="table table-striped table-bordered">
|
||||
<thead>
|
||||
<tr class="small row col-12">
|
||||
<th class="col-1">
|
||||
</th>
|
||||
|
||||
<th class="col-3">
|
||||
<th class="col-3">
|
||||
<div class="row">
|
||||
<div class="d-flex text-center" @onclick="()=>orderByCodInt()">
|
||||
COD. ARTICOLO
|
||||
@if (orderType == orderTypeEnum.codIntAscending)
|
||||
{
|
||||
<i class="fa-solid fa-sort-up text-primary mx-2"></i>
|
||||
}
|
||||
else if (orderType == orderTypeEnum.codIntDescending)
|
||||
{
|
||||
<i class="fa-solid fa-sort-down text-primary mx-2"></i>
|
||||
}
|
||||
else
|
||||
{
|
||||
<i class="fa-solid fa-sort text-primary mx-2"></i>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="d-flex text-secondary fst-italic text-center" @onclick="()=>orderByCodForn()">
|
||||
COD. FORNITORE
|
||||
@if (orderType == orderTypeEnum.codExtAscending)
|
||||
{
|
||||
<i class="fa-solid fa-sort-up text-primary mx-2"></i>
|
||||
}
|
||||
else if (orderType == orderTypeEnum.codExtDescending)
|
||||
{
|
||||
<i class="fa-solid fa-sort-down text-primary mx-2"></i>
|
||||
}
|
||||
else
|
||||
{
|
||||
<i class="fa-solid fa-sort text-primary mx-2"></i>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</th>
|
||||
<th class="col-4">
|
||||
<div class="row">
|
||||
<div>
|
||||
DESC. ARTICOLO
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="text-secondary fst-italic">
|
||||
DESC. FORNITORE
|
||||
</div>
|
||||
</div>
|
||||
</th>
|
||||
<th @onclick="()=>orderByStock()" class="col-1">
|
||||
STOCK
|
||||
@if (orderType == orderTypeEnum.stockAscending)
|
||||
{
|
||||
<i class="fa-solid fa-sort-down text-primary"></i>
|
||||
}
|
||||
else if (orderType == orderTypeEnum.stockDescending)
|
||||
{
|
||||
<i class="fa-solid fa-sort-up text-primary"></i>
|
||||
}
|
||||
else
|
||||
{
|
||||
<i class="fa-solid fa-sort text-primary"></i>
|
||||
}
|
||||
</th>
|
||||
<th class="col-1">
|
||||
VALORE UNIT.
|
||||
</th>
|
||||
<th class="col-1">
|
||||
VALORE TOT.
|
||||
</th>
|
||||
<th class="col-1">
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var item in ListRecord)
|
||||
{
|
||||
<tr class="small row col-12">
|
||||
<td class="text-center col-1">
|
||||
<button class="btnDet" @onclick="()=>selItemToDet(item.Id)" title=@($"Mostra dettagli oggetto {item.CodInt}")><i class="fa-solid fa-magnifying-glass"></i></button>
|
||||
</td>
|
||||
<td class="col-3" style="font-size: 14px;">
|
||||
@item.CodInt
|
||||
<div class="small text-secondary fst-italic">
|
||||
@item.CodExt
|
||||
</div>
|
||||
</td>
|
||||
<td class="small col-4">
|
||||
<div class="row">
|
||||
<div class="d-flex text-center" @onclick="()=>orderByCodInt()">
|
||||
COD. ARTICOLO
|
||||
@if (orderType == orderTypeEnum.codIntAscending)
|
||||
{
|
||||
<i class="fa-solid fa-sort-up text-primary mx-2"></i>
|
||||
}
|
||||
else if (orderType == orderTypeEnum.codIntDescending)
|
||||
{
|
||||
<i class="fa-solid fa-sort-down text-primary mx-2"></i>
|
||||
}
|
||||
else
|
||||
{
|
||||
<i class="fa-solid fa-sort text-primary mx-2"></i>
|
||||
}
|
||||
</div>
|
||||
<span class="d-inline-block text-truncate" style="max-width: 100%;" title="@item.Descr">
|
||||
@item.Descr
|
||||
</span>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="d-flex text-secondary fst-italic text-center" @onclick="()=>orderByCodForn()">
|
||||
COD. FORNITORE
|
||||
@if (orderType == orderTypeEnum.codExtAscending)
|
||||
{
|
||||
<i class="fa-solid fa-sort-up text-primary mx-2"></i>
|
||||
}
|
||||
else if (orderType == orderTypeEnum.codExtDescending)
|
||||
{
|
||||
<i class="fa-solid fa-sort-down text-primary mx-2"></i>
|
||||
}
|
||||
else
|
||||
{
|
||||
<i class="fa-solid fa-sort text-primary mx-2"></i>
|
||||
}
|
||||
</div>
|
||||
<span class="d-inline-block text-truncate text-secondary fst-italic" style="max-width: 100%;" title="@item.DescrExt">
|
||||
@item.DescrExt
|
||||
</span>
|
||||
</div>
|
||||
</th>
|
||||
<th class="col-4">
|
||||
<div class="row">
|
||||
<div>
|
||||
DESC. ARTICOLO
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-center col-1">
|
||||
<div>
|
||||
@item.QtaBatch
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="text-secondary fst-italic">
|
||||
DESC. FORNITORE
|
||||
</div>
|
||||
</div>
|
||||
</th>
|
||||
<th @onclick="()=>orderByStock()" class="col-1">
|
||||
STOCK
|
||||
@if (orderType == orderTypeEnum.stockAscending)
|
||||
{
|
||||
<i class="fa-solid fa-sort-down text-primary"></i>
|
||||
}
|
||||
else if (orderType == orderTypeEnum.stockDescending)
|
||||
{
|
||||
<i class="fa-solid fa-sort-up text-primary"></i>
|
||||
}
|
||||
else
|
||||
{
|
||||
<i class="fa-solid fa-sort text-primary"></i>
|
||||
}
|
||||
</th>
|
||||
<th class="col-1">
|
||||
VALORE UNIT.
|
||||
</th>
|
||||
<th class="col-1">
|
||||
VALORE TOT.
|
||||
</th>
|
||||
<th class="col-1">
|
||||
</th>
|
||||
</td>
|
||||
<td class="small text-center col-1">
|
||||
@($"{item.CurrValue:C2}")
|
||||
</td>
|
||||
<td class="small text-center col-1">
|
||||
@($"{(item.CurrValue * item.QtaBatch):C2}")
|
||||
</td>
|
||||
<td class="text-center col-1">
|
||||
<button class="btnDup" data-bs-toggle="modal" data-bs-target="#modalNewItem" @onclick="()=>dupItem(item)" title=@($"Duplica oggetto {item.CodInt}")><i class="fa-solid fa-copy"></i></button>
|
||||
</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var item in ListRecord)
|
||||
{
|
||||
<tr class="small row col-12">
|
||||
<td class="text-center col-1">
|
||||
<button class="btnDet" @onclick="()=>selItemToDet(item.Id)" title=@($"Mostra dettagli oggetto {item.CodInt}")><i class="fa-solid fa-magnifying-glass"></i></button>
|
||||
</td>
|
||||
<td class="col-3" style="font-size: 14px;">
|
||||
@item.CodInt
|
||||
<div class="small text-secondary fst-italic">
|
||||
@item.CodExt
|
||||
</div>
|
||||
</td>
|
||||
<td class="small col-4">
|
||||
<div class="row">
|
||||
<span class="d-inline-block text-truncate" style="max-width: 100%;" title="@item.Descr">
|
||||
@item.Descr
|
||||
</span>
|
||||
</div>
|
||||
<div class="row">
|
||||
<span class="d-inline-block text-truncate text-secondary fst-italic" style="max-width: 100%;" title="@item.DescrExt">
|
||||
@item.DescrExt
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-center col-1">
|
||||
<div>
|
||||
@item.QtaBatch
|
||||
</div>
|
||||
</td>
|
||||
<td class="small text-center col-1">
|
||||
@($"{item.CurrValue:C2}")
|
||||
</td>
|
||||
<td class="small text-center col-1">
|
||||
@($"{(item.CurrValue * item.QtaBatch):C2}")
|
||||
</td>
|
||||
<td class="text-center col-1">
|
||||
<button class="btnDup" data-bs-toggle="modal" data-bs-target="#modalNewFam" @onclick="()=>dupItem(item)" title=@($"Duplica oggetto {item.CodInt}")><i class="fa-solid fa-copy"></i></button>
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="modalNewFam" tabindex="-1" aria-hidden="true">
|
||||
<div class="modal fade" id="modalNewItem" tabindex="-1" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h1 class="modal-title fs-5" id="modalNewFamLabel">Aggiungere nuovo articolo</h1>
|
||||
<h1 class="modal-title fs-5" id="modalNewItemLabel">Aggiungere nuovo articolo</h1>
|
||||
<button type="button" class="btn-close" aria-label="Close" data-bs-dismiss="modal"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
@@ -10,10 +10,6 @@ namespace StockMan.CORE.Components
|
||||
{
|
||||
#region Public Properties
|
||||
|
||||
//[Parameter]
|
||||
//public int NumRecord { get; set; } = 10;
|
||||
//[Parameter]
|
||||
//public int CurrPage { get; set; } = 1;
|
||||
[Parameter]
|
||||
public ItemSelectFilter actFilter { get; set; } = new ItemSelectFilter();
|
||||
|
||||
@@ -161,39 +157,27 @@ namespace StockMan.CORE.Components
|
||||
[Inject]
|
||||
protected StockDataService SDService { get; set; } = null!;
|
||||
|
||||
protected string searchFamily
|
||||
{
|
||||
get => _searchFamily;
|
||||
set
|
||||
{
|
||||
_searchFamily = value;
|
||||
//protected string searchFamily
|
||||
//{
|
||||
// get => _searchFamily;
|
||||
// set
|
||||
// {
|
||||
// _searchFamily = value;
|
||||
// currPage = 1;
|
||||
// StateHasChanged();
|
||||
// }
|
||||
//}
|
||||
|
||||
var pUpd = Task.Run(async () =>
|
||||
{
|
||||
await Task.Delay(1);
|
||||
await ReloadData();
|
||||
});
|
||||
pUpd.Wait();
|
||||
}
|
||||
}
|
||||
|
||||
protected string searchVal
|
||||
{
|
||||
get => _searchVal;
|
||||
set
|
||||
{
|
||||
_searchVal = value;
|
||||
currPage = 1;
|
||||
StateHasChanged();
|
||||
|
||||
var pUpd = Task.Run(async () =>
|
||||
{
|
||||
await Task.Delay(1);
|
||||
await ReloadData();
|
||||
});
|
||||
pUpd.Wait();
|
||||
}
|
||||
}
|
||||
//protected string searchVal
|
||||
//{
|
||||
// get => _searchVal;
|
||||
// set
|
||||
// {
|
||||
// _searchVal = value;
|
||||
// currPage = 1;
|
||||
// StateHasChanged();
|
||||
// }
|
||||
//}
|
||||
|
||||
protected string uM
|
||||
{
|
||||
@@ -264,7 +248,6 @@ namespace StockMan.CORE.Components
|
||||
|
||||
protected override async Task OnParametersSetAsync()
|
||||
{
|
||||
//lastFilter = actFilter.clone();
|
||||
await ReloadData();
|
||||
}
|
||||
|
||||
@@ -330,6 +313,16 @@ namespace StockMan.CORE.Components
|
||||
get => actFilter.NumRec;
|
||||
set => actFilter.NumRec = value;
|
||||
}
|
||||
private string searchVal
|
||||
{
|
||||
get => actFilter.searchValue;
|
||||
set => actFilter.searchValue = value;
|
||||
}
|
||||
private string searchFamily
|
||||
{
|
||||
get => actFilter.itemFamily;
|
||||
set => actFilter.itemFamily = value;
|
||||
}
|
||||
|
||||
private int totalCount
|
||||
{
|
||||
@@ -344,6 +337,7 @@ namespace StockMan.CORE.Components
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endregion Private Properties
|
||||
|
||||
#region Private Methods
|
||||
@@ -385,7 +379,7 @@ namespace StockMan.CORE.Components
|
||||
SearchRecords = SearchRecords.OrderByDescending(x => x.CodInt).ToList();
|
||||
}
|
||||
ListRecord = SearchRecords.Skip(numRecord * (currPage - 1)).Take(numRecord).ToList();
|
||||
itemFamList = await SDService.ItemFamilyGetAll();
|
||||
//itemFamList = await SDService.ItemFamilyGetAll();
|
||||
await Task.Delay(1);
|
||||
await InvokeAsync(() => StateHasChanged());
|
||||
isLoading = false;
|
||||
|
||||
@@ -9,7 +9,7 @@ else
|
||||
<div class="py-2">
|
||||
@locSxoDx
|
||||
</div>
|
||||
<div>
|
||||
@*<div>
|
||||
<select class="form-select" @bind="@id">
|
||||
<option value="">--Selezionare una locazione--</option>
|
||||
@if (ListLocationByType != null)
|
||||
@@ -21,7 +21,7 @@ else
|
||||
}
|
||||
}
|
||||
</select>
|
||||
</div>
|
||||
</div>*@
|
||||
</div>
|
||||
<div class="card-body">
|
||||
@if (currStock != null)
|
||||
|
||||
@@ -107,25 +107,27 @@ namespace StockMan.CORE.Components
|
||||
|
||||
protected string id
|
||||
{
|
||||
get => currLoc;
|
||||
get
|
||||
{
|
||||
if (isSX)
|
||||
{
|
||||
return actFilterSX.idSx;
|
||||
}
|
||||
else
|
||||
{
|
||||
return actFilterDX.idDx;
|
||||
}
|
||||
}
|
||||
set
|
||||
{
|
||||
currLoc = value;
|
||||
var pUpd = Task.Run(async () =>
|
||||
if (isSX)
|
||||
{
|
||||
await Task.Delay(1);
|
||||
|
||||
if (isSX)
|
||||
{
|
||||
await setLocationSX(value);
|
||||
}
|
||||
else
|
||||
{
|
||||
await setLocationDX(value);
|
||||
}
|
||||
await ReloadData();
|
||||
});
|
||||
pUpd.Wait();
|
||||
actFilterSX.idSx = value;
|
||||
}
|
||||
else
|
||||
{
|
||||
actFilterDX.idDx = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
<div>
|
||||
<select class="form-select" @bind="@LocationId">
|
||||
<option value="">--Selezionare una locazione--</option>
|
||||
@if (ListLocationByType != null)
|
||||
{
|
||||
|
||||
@foreach (var item in ListLocationByType)
|
||||
{
|
||||
<option value="@item.Id">@item.Descr</option>
|
||||
}
|
||||
}
|
||||
</select>
|
||||
</div>
|
||||
@@ -0,0 +1,124 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using System.Net.Http;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Components.Authorization;
|
||||
using Microsoft.AspNetCore.Components.Forms;
|
||||
using Microsoft.AspNetCore.Components.Routing;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
using Microsoft.AspNetCore.Components.Web.Virtualization;
|
||||
using Microsoft.JSInterop;
|
||||
using EgwCoreLib.Razor;
|
||||
using EgwCoreLib.Razor.Data;
|
||||
using StockMan.CORE;
|
||||
using StockMan.CORE.Data;
|
||||
using StockMan.CORE.Shared;
|
||||
using StockMan.Data.DbModels;
|
||||
using StockMan.Data;
|
||||
using Microsoft.Extensions.Diagnostics.HealthChecks;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace StockMan.CORE.Components
|
||||
{
|
||||
public partial class LocationFilters
|
||||
{
|
||||
[Parameter]
|
||||
public List<LocationModel>? ListLocationByType { get; set; } = null;
|
||||
[Parameter]
|
||||
public bool isSX { get; set; }
|
||||
[Parameter]
|
||||
public bool isChanged { get; set; }
|
||||
[Parameter]
|
||||
public LocSXSelectFilter actFilterSX { get; set; } = new LocSXSelectFilter();
|
||||
[Parameter]
|
||||
public LocDXSelectFilter actFilterDX { get; set; } = new LocDXSelectFilter();
|
||||
[Parameter]
|
||||
public EventCallback<string> LocId_DX { get; set; }
|
||||
[Parameter]
|
||||
public EventCallback<string> LocId_SX { get; set; }
|
||||
[Parameter]
|
||||
public EventCallback<LocSXSelectFilter> FilterUpdatedSX { get; set; }
|
||||
[Parameter]
|
||||
public EventCallback<LocDXSelectFilter> FilterUpdatedDX { get; set; }
|
||||
protected string LocationId
|
||||
{
|
||||
get
|
||||
{
|
||||
if (isSX && !isChanged)
|
||||
{
|
||||
return actFilterSX.idSx;
|
||||
}
|
||||
else if (isSX && isChanged)
|
||||
{
|
||||
return actFilterDX.idDx;
|
||||
}
|
||||
else if (!isSX && !isChanged)
|
||||
{
|
||||
return actFilterDX.idDx;
|
||||
}
|
||||
else
|
||||
{
|
||||
return actFilterSX.idSx;
|
||||
}
|
||||
}
|
||||
set
|
||||
{
|
||||
if (isSX && !isChanged)
|
||||
{
|
||||
actFilterSX.idSx = value;
|
||||
StateHasChanged();
|
||||
ReportChangeSX();
|
||||
}
|
||||
else if (isSX && isChanged)
|
||||
{
|
||||
actFilterDX.idDx = value;
|
||||
StateHasChanged();
|
||||
ReportChangeDX();
|
||||
}
|
||||
else if (!isSX && !isChanged)
|
||||
{
|
||||
actFilterDX.idDx = value;
|
||||
StateHasChanged();
|
||||
ReportChangeDX();
|
||||
}
|
||||
else
|
||||
{
|
||||
actFilterSX.idSx = value;
|
||||
StateHasChanged();
|
||||
ReportChangeSX();
|
||||
}
|
||||
}
|
||||
}
|
||||
protected override async Task OnParametersSetAsync()
|
||||
{
|
||||
await Task.Delay(1);
|
||||
//if (isSX && !isChanged)
|
||||
//{
|
||||
// LocationId = actFilterSX.idSx;
|
||||
//}
|
||||
//else if (isSX && isChanged)
|
||||
//{
|
||||
// LocationId = actFilterDX.idDx;
|
||||
//}
|
||||
//else if (!isSX && !isChanged)
|
||||
//{
|
||||
// LocationId = actFilterDX.idDx;
|
||||
//}
|
||||
//else if (!isSX && isChanged)
|
||||
//{
|
||||
// LocationId = actFilterSX.idSx;
|
||||
//}
|
||||
}
|
||||
private void ReportChangeSX()
|
||||
{
|
||||
FilterUpdatedSX.InvokeAsync(actFilterSX);
|
||||
}
|
||||
private void ReportChangeDX()
|
||||
{
|
||||
FilterUpdatedDX.InvokeAsync(actFilterDX);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -55,12 +55,12 @@ namespace StockMan.CORE.Components
|
||||
{
|
||||
await LocId_DX.InvokeAsync(locId);
|
||||
}
|
||||
|
||||
protected async Task setLocationSX(string locId)
|
||||
{
|
||||
await LocId_SX.InvokeAsync(locId);
|
||||
}
|
||||
|
||||
public LocSXSelectFilter currFilterSX { get; set; } = new LocSXSelectFilter();
|
||||
public LocDXSelectFilter currFilterDX { get; set; } = new LocDXSelectFilter();
|
||||
#endregion Protected Methods
|
||||
}
|
||||
}
|
||||
@@ -14,6 +14,8 @@
|
||||
public int CurrPage { get; set; } = 1;
|
||||
|
||||
public string Id { get; set; } = "*";
|
||||
public string searchValue { get; set; } = "";
|
||||
public string itemFamily { get; set; } = "";
|
||||
public int MaxRecord { get; set; } = 100;
|
||||
|
||||
public int NumRec { get; set; } = 10;
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#endregion Public Constructors
|
||||
|
||||
#region Public Properties
|
||||
|
||||
public string idDx { get; set; } = "";
|
||||
public int CurrPage { get; set; } = 1;
|
||||
|
||||
public int MaxRecord { get; set; } = 100;
|
||||
@@ -27,6 +27,7 @@
|
||||
{
|
||||
LocDXSelectFilter clonedData = new LocDXSelectFilter()
|
||||
{
|
||||
idDx = this.idDx,
|
||||
CurrPage = this.CurrPage,
|
||||
MaxRecord = this.MaxRecord,
|
||||
NumRec = this.NumRec,
|
||||
@@ -43,6 +44,9 @@
|
||||
if (!(obj is LocDXSelectFilter item))
|
||||
return false;
|
||||
|
||||
if (idDx != item.idDx)
|
||||
return false;
|
||||
|
||||
if (MaxRecord != item.MaxRecord)
|
||||
return false;
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
|
||||
#region Public Properties
|
||||
|
||||
public string idSx { get; set; } = "";
|
||||
|
||||
public int CurrPage { get; set; } = 1;
|
||||
|
||||
public int MaxRecord { get; set; } = 100;
|
||||
@@ -27,6 +29,7 @@
|
||||
{
|
||||
LocSXSelectFilter clonedData = new LocSXSelectFilter()
|
||||
{
|
||||
idSx = this.idSx,
|
||||
CurrPage = this.CurrPage,
|
||||
MaxRecord = this.MaxRecord,
|
||||
NumRec = this.NumRec,
|
||||
@@ -43,6 +46,9 @@
|
||||
if (!(obj is LocSXSelectFilter item))
|
||||
return false;
|
||||
|
||||
if (idSx != item.idSx)
|
||||
return false;
|
||||
|
||||
if (MaxRecord != item.MaxRecord)
|
||||
return false;
|
||||
|
||||
|
||||
@@ -3,7 +3,19 @@
|
||||
|
||||
<div class="ps-2 pe-1">
|
||||
<div>
|
||||
<ItemList updateRecordCount="UpdateTotCount" actFilter="@currFilter"></ItemList>
|
||||
<div class="card">
|
||||
<div class="card-header d-flex justify-content-between">
|
||||
<div class="w-50">
|
||||
<ItemFilter FilterUpdated="updateFilter"></ItemFilter>
|
||||
</div>
|
||||
<div>
|
||||
<button data-bs-toggle="modal" data-bs-target="#modalNewItem" class="h-50 mt-4 btn btn-sm btn-success"><i class="fa-solid fa-plus"></i> Aggiungi nuovo item</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<ItemList updateRecordCount="UpdateTotCount" actFilter="@currFilter"></ItemList>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<DataPager @ref="pagerFamArt" PageSize="@numRecord" currPage="@currPage" numRecordChanged="ForceReload" numPageChanged="ForceReloadPage" totalCount="@totalCount" showLoading="@isLoading" />
|
||||
|
||||
@@ -53,6 +53,18 @@ namespace StockMan.CORE.Pages
|
||||
totalCount = newTotCount;
|
||||
}
|
||||
|
||||
private async Task updateFilter(ItemSelectFilter newParams)
|
||||
{
|
||||
isLoading = true;
|
||||
await Task.Delay(1);
|
||||
currPage = 1;
|
||||
searchValue = newParams.searchValue;
|
||||
itemFamily = newParams.itemFamily;
|
||||
await Task.Delay(1);
|
||||
await InvokeAsync(() => StateHasChanged());
|
||||
currFilter = newParams;
|
||||
isLoading = false;
|
||||
}
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Private Properties
|
||||
@@ -70,7 +82,16 @@ namespace StockMan.CORE.Pages
|
||||
get => currFilter.NumRec;
|
||||
set => currFilter.NumRec = value;
|
||||
}
|
||||
|
||||
private string searchValue
|
||||
{
|
||||
get => currFilter.searchValue;
|
||||
set => currFilter.searchValue = value;
|
||||
}
|
||||
private string itemFamily
|
||||
{
|
||||
get => currFilter.itemFamily;
|
||||
set => currFilter.itemFamily = value;
|
||||
}
|
||||
#endregion Private Properties
|
||||
}
|
||||
}
|
||||
@@ -38,11 +38,15 @@ else
|
||||
}
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<LocationFilters isSX="true" isChanged="@isChanged" ListLocationByType="@listLocationByType" FilterUpdatedSX="updateFilterSX" ></LocationFilters>
|
||||
|
||||
<Location actFilterSX="@currFilterSX" updateRecordCount="UpdateTotCountSX" LocId_SX="catchCurrLocId_SX" isSX="true" isChanged="@isChanged" UserName="@currOpr.Id" locSX_ID="@currLocId_SX" locDX_ID="@currLocId_DX" ListLocationByType="@listLocationByType"></Location>
|
||||
|
||||
<DataPager PageSize="@numRecordSX" currPage="@currPageSX" numRecordChanged="ForceReloadSX" numPageChanged="ForceReloadPageSX" totalCount="@totalCountSX" showLoading="@isLoading" />
|
||||
</div>
|
||||
<div class="col">
|
||||
<LocationFilters isSX="false" isChanged="@isChanged" ListLocationByType="@listLocationByType" FilterUpdatedDX="updateFilterDX" ></LocationFilters>
|
||||
|
||||
<Location actFilterDX="@currFilterDX" updateRecordCount="UpdateTotCountDX" LocId_DX="catchCurrLocId_DX" isSX="false" isChanged="@isChanged" locDX_ID="@currLocId_DX" locSX_ID="@currLocId_SX" ListLocationByType="@listLocationByType"></Location>
|
||||
|
||||
<DataPager PageSize="@numRecordDX" currPage="@currPageDX" numRecordChanged="ForceReloadDX" numPageChanged="ForceReloadPageDX" totalCount="@totalCountDX" showLoading="@isLoading" />
|
||||
|
||||
@@ -16,9 +16,9 @@ namespace StockMan.CORE.Pages
|
||||
|
||||
#region Protected Properties
|
||||
|
||||
protected string currLocId_DX { get; set; } = "";
|
||||
//protected string currLocId_DX { get; set; } = "";
|
||||
|
||||
protected string currLocId_SX { get; set; } = "";
|
||||
//protected string currLocId_SX { get; set; } = "";
|
||||
|
||||
protected OperatorModel currOpr { get; set; } = new OperatorModel();
|
||||
|
||||
@@ -126,6 +126,38 @@ namespace StockMan.CORE.Pages
|
||||
get => currFilterDX.NumRec;
|
||||
set => currFilterDX.NumRec = value;
|
||||
}
|
||||
private string currLocId_SX
|
||||
{
|
||||
get => currFilterSX.idSx;
|
||||
set => currFilterSX.idSx = value;
|
||||
}
|
||||
private string currLocId_DX
|
||||
{
|
||||
get => currFilterDX.idDx;
|
||||
set => currFilterDX.idDx = value;
|
||||
}
|
||||
|
||||
|
||||
private async Task updateFilterSX(LocSXSelectFilter newParams)
|
||||
{
|
||||
isLoading = true;
|
||||
await Task.Delay(1);
|
||||
currPageSX = 1;
|
||||
await Task.Delay(1);
|
||||
await InvokeAsync(() => StateHasChanged());
|
||||
currFilterSX = newParams;
|
||||
isLoading = false;
|
||||
}
|
||||
private async Task updateFilterDX(LocDXSelectFilter newParams)
|
||||
{
|
||||
isLoading = true;
|
||||
await Task.Delay(1);
|
||||
currPageDX = 1;
|
||||
await Task.Delay(1);
|
||||
await InvokeAsync(() => StateHasChanged());
|
||||
currFilterDX = newParams;
|
||||
isLoading = false;
|
||||
}
|
||||
#endregion Protected Methods
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<Version>3.0.2303.215</Version>
|
||||
<Version>3.0.2303.217</Version>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
|
||||
by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<WebPublishMethod>MSDeploy</WebPublishMethod>
|
||||
<ADUsesOwinOrOpenIdConnect>False</ADUsesOwinOrOpenIdConnect>
|
||||
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
|
||||
<LastUsedPlatform>Any CPU</LastUsedPlatform>
|
||||
<SiteUrlToLaunchAfterPublish />
|
||||
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
|
||||
<ExcludeApp_Data>True</ExcludeApp_Data>
|
||||
<MSDeployServiceURL>https://office.egalware.com:8172/MsDeploy.axd</MSDeployServiceURL>
|
||||
<DeployIisAppPath>office.egalware.com/StockMan/STEA</DeployIisAppPath>
|
||||
<RemoteSitePhysicalPath />
|
||||
<SkipExtraFilesOnServer>False</SkipExtraFilesOnServer>
|
||||
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
|
||||
<EnableMSDeployBackup>True</EnableMSDeployBackup>
|
||||
<UserName>jenkins</UserName>
|
||||
<_SavePWD>True</_SavePWD>
|
||||
<VisualStudioVersion>14.0</VisualStudioVersion>
|
||||
<AllowUntrustedCertificate>True</AllowUntrustedCertificate>
|
||||
<PublishDatabaseSettings>
|
||||
<Objects xmlns="">
|
||||
<ObjectGroup Name="StockManEntities" Order="1" Enabled="False">
|
||||
<Destination Path="Data Source=W2019-SQL-STEAM;Initial Catalog=StockMan;Persist Security Info=True;User ID=sa;Password=keyhammer16" />
|
||||
<Object Type="DbCodeFirst">
|
||||
<Source Path="DBContext" DbContext="StockManMVC.Models.StockManEntities, StockManMVC" Origin="Configuration" />
|
||||
</Object>
|
||||
</ObjectGroup>
|
||||
</Objects>
|
||||
</PublishDatabaseSettings>
|
||||
<PrecompileBeforePublish>True</PrecompileBeforePublish>
|
||||
<EnableUpdateable>True</EnableUpdateable>
|
||||
<DebugSymbols>False</DebugSymbols>
|
||||
<WDPMergeOption>DonotMerge</WDPMergeOption>
|
||||
<CodeAnalysisRuleSet></CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<MSDeployParameterValue Include="$(DeployParameterPrefix)StockManEntities-Web.config Connection String">
|
||||
<ParameterValue>metadata=res://*/Models.SMModel.csdl|res://*/Models.SMModel.ssdl|res://*/Models.SMModel.msl;provider=System.Data.SqlClient;provider connection string="Data Source=W2019-SQL-STEAM;Initial Catalog=StockMan;Persist Security Info=True;User ID=sa;Password=keyhammer16"</ParameterValue>
|
||||
<UpdateDestWebConfig>False</UpdateDestWebConfig>
|
||||
</MSDeployParameterValue>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -477,6 +477,7 @@
|
||||
<Content Include="Content\bootstrap-theme.css.map" />
|
||||
<None Include="Properties\PublishProfiles\IIS01.pubxml" />
|
||||
<None Include="Properties\PublishProfiles\IIS01_TK.pubxml" />
|
||||
<None Include="Properties\PublishProfiles\IIS-PROD.pubxml" />
|
||||
<None Include="Properties\PublishProfiles\IIS03_TK.pubxml" />
|
||||
<None Include="Properties\PublishProfiles\IIS03.pubxml" />
|
||||
<None Include="Properties\PublishProfiles\IIS02.pubxml" />
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
<WebStackScaffolding_IsViewGenerationSelected>True</WebStackScaffolding_IsViewGenerationSelected>
|
||||
<WebStackScaffolding_IsAsyncSelected>False</WebStackScaffolding_IsAsyncSelected>
|
||||
<ProjectView>ShowAllFiles</ProjectView>
|
||||
<NameOfLastUsedPublishProfile>IIS02</NameOfLastUsedPublishProfile>
|
||||
<NameOfLastUsedPublishProfile>C:\Users\samuele.steamw\source\StockMan\StockManMVC\Properties\PublishProfiles\IIS-PROD.pubxml</NameOfLastUsedPublishProfile>
|
||||
<WebStackScaffolding_ViewDialogWidth>600</WebStackScaffolding_ViewDialogWidth>
|
||||
<Use64BitIISExpress />
|
||||
<IISExpressSSLPort />
|
||||
<IISExpressUseClassicPipelineMode />
|
||||
<UseGlobalApplicationHostFile />
|
||||
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
|
||||
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
|
||||
</PropertyGroup>
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user